[Solved] ROSBot firmware upgrade fail: "Couldn't initialise the periphery.GPIO instances."

Trying to update firmware on one of our ROSBots (ROSBot2Pro) and not having any success. I wonder if anyone else has had a similar issue?

$ sudo stm32loader -c upboard -u -W
Couldn’t initialise the periphery.GPIO instances. Try use the script with sudo.

Our other ROSBots updated okay. This one is being stubborn. Not sure if it is related but the ROSBot may have had the ROS version 2 installed previously.

Thanks!
Jon.

Hi Jon,

Please make sure that support library are installed properly according this manual.

If you will still occur this issue the best option is reinstallation of all OS according to this manual.

Please let me know if you managed to solve the problem in one of these ways.

Best regards,
Hubert

Hi Hubert,
Thank you for your reply. I reinstall stm32loader and python-periphery. I still get same fault. I have not yet retry to install OS image.
I have more information for you:
I notice that in: /sys/class/gpio/
it contains symlinks to /sys/devices/platform.
On a ROSBot that can update firmware okay I see that it has symlinks to devices mounted under /sys/devices/platform/up-pinctrl.
But on the ROSBot that fails to update firmware it does not have these mounted devices or the symlinks.

I suspect that these mounted devices are required and is the reason the firmware update fails?

ROSBot that fails to update firmware: (missing symlinks for gpio17, gpio18, and gpiochip0)

ROSBot that update firmware okay:

Thank you and best regards,
Jon.

Hi Hubert,

I reinstall OS image. The error is still present. When I try:
sudo stm32loader -c upboard -u -W
I get:
Couldn’t initialise the periphery.GPIO instances. Try use the script with sudo.

May be this is a hardware issue?

Thank you for your help.

Regards,
Jon.

Hi Jon,

I think that the best way to investigate your issue will be remote connection to your device by someone from our team. I will contact you in private message to set this up.

Best regards,
Hubert

Just to complete this post for reference for other users:

The issue was due to a faulty UPBoard. Husarion replaced this under warranty. The replacement board updated firmware just fine.