Hi all, I just updated our Stretch RE1 to Ubuntu 20.04. When trying to update the firmware, it fails at the wheels. I tried the fix here, but it was unsuccessful for me.
Any help would be appreciated!
$ REx_firmware_updater.py --install
Collecting information...
.....
A new release of Arduino CLI is available: 0.24.0 → 0.28.0
https://arduino.github.io/arduino-cli/latest/installation/#latest-packages
######################################## Recommended Firmware Updates ########################################
DEVICE | INSTALLED | RECOMMENDED | ACTION
--------------------------------------------------------------------------------------------------------------
HELLO-MOTOR-ARM | Stepper.v0.2.5p1 | Stepper.v0.2.5p1 | At most recent version
HELLO-MOTOR-RIGHT-WHEEL | Stepper.v0.2.5p1 | Stepper.v0.2.5p1 | At most recent version
HELLO-MOTOR-LEFT-WHEEL | Stepper.v0.2.5p1 | Stepper.v0.2.5p1 | At most recent version
HELLO-PIMU | Pimu.v0.0.1p0 | Pimu.v0.2.4p1 | Upgrade recommended
HELLO-WACC | Wacc.v0.0.1p0 | Wacc.v0.2.2p1 | Upgrade recommended
HELLO-MOTOR-LIFT | Stepper.v0.0.1p0 | Stepper.v0.2.5p1 | Upgrade recommended
########################################## UPDATING FIRMWARE TO... ###########################################
HELLO-MOTOR-ARM | Reinstalling Stepper.v0.2.5p1
HELLO-MOTOR-RIGHT-WHEEL | Reinstalling Stepper.v0.2.5p1
HELLO-MOTOR-LEFT-WHEEL | Reinstalling Stepper.v0.2.5p1
HELLO-PIMU | Upgrading to Pimu.v0.2.4p1
HELLO-WACC | Upgrading to Wacc.v0.2.2p1
HELLO-MOTOR-LIFT | Upgrading to Stepper.v0.2.5p1
------------------------------------------------
WARNING: (1) Updating robot firmware should only be done by experienced users
WARNING: (2) Do not have other robot processes running during update
WARNING: (3) Leave robot powered on during update
WARNING: (4) Ensure Lift has support clamp in place
WARNING: (5) Lift may make a loud noise during programming. This is normal.
------------------------------------------------
Proceed with update?? [y/N]: y
-------- FIRMWARE FLASH hello-motor-arm | Stepper.v0.2.5p1 ------------
Looking for device hello-motor-arm on bus
Waiting for device hello-motor-arm to return to bus.
Starting programming. This will take about 5s...
Success in firmware compile
Success in firmware flash.
Waiting for device hello-motor-arm to return to bus.
-------- FIRMWARE FLASH hello-motor-right-wheel | Stepper.v0.2.5p1 ------------
Looking for device hello-motor-right-wheel on bus
Waiting for device hello-motor-right-wheel to return to bus.
Starting programming. This will take about 5s...
Success in firmware compile
Success in firmware flash.
Waiting for device hello-motor-right-wheel to return to bus.
..................Device hello-motor-right-wheel failed to return to bus
Hi @lstegner, sorry to hear you’re experiencing this issue with the firmware updater! The firmware updater tool has the complicated job leading 6 Arduinos through a multistep firmware flash. The process is brittle since each step can fail in ways not caught or handleable by the tool. There’s definitely some work to be done with making this tool more robust! In the meantime, we’d still like to get your robot back up and running with the newest and safest firmware.
Here are some debugging steps that will give us the information we need to know:
Thanks, looks like all of your robot’s USB devices still alias to hello-* correctly (e.g. ll /dev/hello* shows /dev/hello-motor-right-wheel -> ttyACM2), which is good news! In total, there are 10 hello-* aliases, and 6 Arduinos (which show up as ttyACM[0-9]).
After the right wheel failed to flash initially, the hello-pimu, hello-wacc, and hello-motor-lift devices didn’t get updated, so let’s update them individually now:
I believe it all ran successfully! The only thing was that all three outputted the same message about post firmware updates:
###################################### Performing Post Firmware Updates ######################################
ls parse: Failed to match all device symlinks to /dev/ttyACMx for StretchSerialInfo
usb.core parse: Failed to match all devices for StretchSerialInfo
Here’s the full log output:
$ REx_firmware_updater.py --install --pimu
Collecting information...
.....
A new release of Arduino CLI is available: 0.24.0 → 0.28.0
https://arduino.github.io/arduino-cli/latest/installation/#latest-packages
######################################## Recommended Firmware Updates ########################################
DEVICE | INSTALLED | RECOMMENDED | ACTION
--------------------------------------------------------------------------------------------------------------
HELLO-PIMU | Pimu.v0.2.4p1 | Pimu.v0.2.4p1 | At most recent version
########################################## UPDATING FIRMWARE TO... ###########################################
HELLO-PIMU | Reinstalling Pimu.v0.2.4p1
------------------------------------------------
WARNING: (1) Updating robot firmware should only be done by experienced users
WARNING: (2) Do not have other robot processes running during update
WARNING: (3) Leave robot powered on during update
------------------------------------------------
Proceed with update?? [y/N]: y
-------- FIRMWARE FLASH hello-pimu | Pimu.v0.2.4p1 ------------
Looking for device hello-pimu on bus
Waiting for device hello-pimu to return to bus.
Starting programming. This will take about 5s...
Success in firmware compile
Success in firmware flash.
Waiting for device hello-pimu to return to bus.
---- Firmware Update Complete!
###################################### Performing Post Firmware Updates ######################################
ls parse: Failed to match all device symlinks to /dev/ttyACMx for StretchSerialInfo
usb.core parse: Failed to match all devices for StretchSerialInfo
######################################## Confirming Firmware Updates #########################################
HELLO-PIMU | Installed firmware matches target
$ REx_firmware_updater.py --install --wacc
Collecting information...
.....
A new release of Arduino CLI is available: 0.24.0 → 0.28.0
https://arduino.github.io/arduino-cli/latest/installation/#latest-packages
######################################## Recommended Firmware Updates ########################################
DEVICE | INSTALLED | RECOMMENDED | ACTION
--------------------------------------------------------------------------------------------------------------
HELLO-WACC | Wacc.v0.2.2p1 | Wacc.v0.2.2p1 | At most recent version
########################################## UPDATING FIRMWARE TO... ###########################################
HELLO-WACC | Reinstalling Wacc.v0.2.2p1
------------------------------------------------
WARNING: (1) Updating robot firmware should only be done by experienced users
WARNING: (2) Do not have other robot processes running during update
WARNING: (3) Leave robot powered on during update
------------------------------------------------
Proceed with update?? [y/N]: y
-------- FIRMWARE FLASH hello-wacc | Wacc.v0.2.2p1 ------------
Looking for device hello-wacc on bus
Waiting for device hello-wacc to return to bus.
Starting programming. This will take about 5s...
Success in firmware compile
Success in firmware flash.
Waiting for device hello-wacc to return to bus.
---- Firmware Update Complete!
###################################### Performing Post Firmware Updates ######################################
ls parse: Failed to match all device symlinks to /dev/ttyACMx for StretchSerialInfo
usb.core parse: Failed to match all devices for StretchSerialInfo
######################################## Confirming Firmware Updates #########################################
HELLO-WACC | Installed firmware matches target
$ REx_firmware_updater.py --install --lift
Collecting information...
.....
A new release of Arduino CLI is available: 0.24.0 → 0.28.0
https://arduino.github.io/arduino-cli/latest/installation/#latest-packages
######################################## Recommended Firmware Updates ########################################
DEVICE | INSTALLED | RECOMMENDED | ACTION
--------------------------------------------------------------------------------------------------------------
HELLO-MOTOR-LIFT | Stepper.v0.2.5p1 | Stepper.v0.2.5p1 | At most recent version
########################################## UPDATING FIRMWARE TO... ###########################################
HELLO-MOTOR-LIFT | Reinstalling Stepper.v0.2.5p1
------------------------------------------------
WARNING: (1) Updating robot firmware should only be done by experienced users
WARNING: (2) Do not have other robot processes running during update
WARNING: (3) Leave robot powered on during update
WARNING: (4) Ensure Lift has support clamp in place
WARNING: (5) Lift may make a loud noise during programming. This is normal.
------------------------------------------------
Proceed with update?? [y/N]: y
-------- FIRMWARE FLASH hello-motor-lift | Stepper.v0.2.5p1 ------------
Looking for device hello-motor-lift on bus
Waiting for device hello-motor-lift to return to bus.
Starting programming. This will take about 5s...
Success in firmware compile
Success in firmware flash.
Waiting for device hello-motor-lift to return to bus.
---- Firmware Update Complete!
###################################### Performing Post Firmware Updates ######################################
ls parse: Failed to match all device symlinks to /dev/ttyACMx for StretchSerialInfo
usb.core parse: Failed to match all devices for StretchSerialInfo
###################################### Flashing Stepper Calibration: hello-motor-lift ######################################
Waiting for device hello-motor-lift to return to bus.
Writing gains to flash...
Gains written to flash
Reading calibration data from YAML...
Writing calibration data to flash...
..........................Successful write of FLASH.
Waiting for device hello-motor-lift to return to bus.
Waiting for device hello-motor-lift to return to bus.
Successful return of device to bus.
######################################## Confirming Firmware Updates #########################################
HELLO-MOTOR-LIFT | Installed firmware matches target
Great, I believe we can ignore the usb.core parse errors for now since both steps of the firmware flash completed successfully for these 3 devices. I plan to investigate the errors later.
Let’s continue by reflashing the remaining 3 devices, including the wheels, to confirm that both steps of the firmware flash complete successfully.
$ REx_firmware_updater.py --install --arm
Collecting information...
.....
A new release of Arduino CLI is available: 0.24.0 → 0.28.0
https://arduino.github.io/arduino-cli/latest/installation/#latest-packages
######################################## Recommended Firmware Updates ########################################
DEVICE | INSTALLED | RECOMMENDED | ACTION
--------------------------------------------------------------------------------------------------------------
HELLO-MOTOR-ARM | Stepper.v0.2.5p1 | Stepper.v0.2.5p1 | At most recent version
########################################## UPDATING FIRMWARE TO... ###########################################
HELLO-MOTOR-ARM | Reinstalling Stepper.v0.2.5p1
------------------------------------------------
WARNING: (1) Updating robot firmware should only be done by experienced users
WARNING: (2) Do not have other robot processes running during update
WARNING: (3) Leave robot powered on during update
------------------------------------------------
Proceed with update?? [y/N]: y
-------- FIRMWARE FLASH hello-motor-arm | Stepper.v0.2.5p1 ------------
Looking for device hello-motor-arm on bus
Waiting for device hello-motor-arm to return to bus.
Starting programming. This will take about 5s...
Success in firmware compile
Success in firmware flash.
Waiting for device hello-motor-arm to return to bus.
---- Firmware Update Complete!
###################################### Performing Post Firmware Updates ######################################
ls parse: Failed to match all device symlinks to /dev/ttyACMx for StretchSerialInfo
usb.core parse: Failed to match all devices for StretchSerialInfo
###################################### Flashing Stepper Calibration: hello-motor-arm ######################################
Waiting for device hello-motor-arm to return to bus.
Writing gains to flash...
Gains written to flash
Reading calibration data from YAML...
Writing calibration data to flash...
..........................Successful write of FLASH.
Waiting for device hello-motor-arm to return to bus.
Waiting for device hello-motor-arm to return to bus.
Successful return of device to bus.
######################################## Confirming Firmware Updates #########################################
HELLO-MOTOR-ARM | Installed firmware matches target
$ REx_firmware_updater.py --install --left_wheel
Collecting information...
.....
A new release of Arduino CLI is available: 0.24.0 → 0.28.0
https://arduino.github.io/arduino-cli/latest/installation/#latest-packages
######################################## Recommended Firmware Updates ########################################
DEVICE | INSTALLED | RECOMMENDED | ACTION
--------------------------------------------------------------------------------------------------------------
HELLO-MOTOR-LEFT-WHEEL | Stepper.v0.2.5p1 | Stepper.v0.2.5p1 | At most recent version
########################################## UPDATING FIRMWARE TO... ###########################################
HELLO-MOTOR-LEFT-WHEEL | Reinstalling Stepper.v0.2.5p1
------------------------------------------------
WARNING: (1) Updating robot firmware should only be done by experienced users
WARNING: (2) Do not have other robot processes running during update
WARNING: (3) Leave robot powered on during update
------------------------------------------------
Proceed with update?? [y/N]: y
-------- FIRMWARE FLASH hello-motor-left-wheel | Stepper.v0.2.5p1 ------------
Looking for device hello-motor-left-wheel on bus
Waiting for device hello-motor-left-wheel to return to bus.
Starting programming. This will take about 5s...
Success in firmware compile
Success in firmware flash.
Waiting for device hello-motor-left-wheel to return to bus.
---- Firmware Update Complete!
###################################### Performing Post Firmware Updates ######################################
ls parse: Failed to match all device symlinks to /dev/ttyACMx for StretchSerialInfo
usb.core parse: Failed to match all devices for StretchSerialInfo
###################################### Flashing Stepper Calibration: hello-motor-left-wheel ######################################
Waiting for device hello-motor-left-wheel to return to bus.
Writing gains to flash...
Gains written to flash
Reading calibration data from YAML...
Writing calibration data to flash...
..........................Successful write of FLASH.
Waiting for device hello-motor-left-wheel to return to bus.
Waiting for device hello-motor-left-wheel to return to bus.
Successful return of device to bus.
######################################## Confirming Firmware Updates #########################################
HELLO-MOTOR-LEFT-WHEEL | Installed firmware matches target
$ REx_firmware_updater.py --install --right_wheel
Collecting information...
.....
A new release of Arduino CLI is available: 0.24.0 → 0.28.0
https://arduino.github.io/arduino-cli/latest/installation/#latest-packages
######################################## Recommended Firmware Updates ########################################
DEVICE | INSTALLED | RECOMMENDED | ACTION
--------------------------------------------------------------------------------------------------------------
HELLO-MOTOR-RIGHT-WHEEL | Stepper.v0.2.5p1 | Stepper.v0.2.5p1 | At most recent version
########################################## UPDATING FIRMWARE TO... ###########################################
HELLO-MOTOR-RIGHT-WHEEL | Reinstalling Stepper.v0.2.5p1
------------------------------------------------
WARNING: (1) Updating robot firmware should only be done by experienced users
WARNING: (2) Do not have other robot processes running during update
WARNING: (3) Leave robot powered on during update
------------------------------------------------
Proceed with update?? [y/N]: y
-------- FIRMWARE FLASH hello-motor-right-wheel | Stepper.v0.2.5p1 ------------
Looking for device hello-motor-right-wheel on bus
Waiting for device hello-motor-right-wheel to return to bus.
Starting programming. This will take about 5s...
Success in firmware compile
Success in firmware flash.
Waiting for device hello-motor-right-wheel to return to bus.
---- Firmware Update Complete!
###################################### Performing Post Firmware Updates ######################################
ls parse: Failed to match all device symlinks to /dev/ttyACMx for StretchSerialInfo
usb.core parse: Failed to match all devices for StretchSerialInfo
###################################### Flashing Stepper Calibration: hello-motor-right-wheel ######################################
Waiting for device hello-motor-right-wheel to return to bus.
Writing gains to flash...
Gains written to flash
Reading calibration data from YAML...
Writing calibration data to flash...
..........................Successful write of FLASH.
Waiting for device hello-motor-right-wheel to return to bus.
Waiting for device hello-motor-right-wheel to return to bus.
Successful return of device to bus.
######################################## Confirming Firmware Updates #########################################
HELLO-MOTOR-RIGHT-WHEEL | Installed firmware matches target