# Firmware Mismatch Error after upgrading my RE1 to ubuntu 20.04

**URL:** <https://forum.hello-robot.com/t/firmware-mismatch-error-after-upgrading-my-re1-to-ubuntu-20-04/952>\
**Category:** Ask\
**Created:** [April 9, 2024, 5:34pm UTC](https://forum.hello-robot.com/t/firmware-mismatch-error-after-upgrading-my-re1-to-ubuntu-20-04/952 "2024-04-09T17:34:54Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![argen1s](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/argen1s/32/207_2.png) [@argen1s](https://forum.hello-robot.com/u/argen1s)\
**Post date:** [April 9, 2024, 5:34pm UTC](https://forum.hello-robot.com/t/firmware-mismatch-error-after-upgrading-my-re1-to-ubuntu-20-04/952/1 "2024-04-09T17:34:54Z")

</div>

Hi all, we updated the OS of our Stretch RE1 to Ubuntu 20.04 and now are facing an issue with the hello-motor-lift that it seems is unable to communicate with the OS. We tried several procedures and tools mentioned in the forum but none of them solved it.

Here is a list of what we tried:

1. Running the `REx_firmware_updater.py --install`.
2. Running the `REx_firmware_flash.py`
3. Verified the` udev rules` and the serial number.

The output we got from running `REx_firmware_updater.py --install`:

```auto
[WARNING] [hello-motor-lift]:
---------------
Firmware protocol mismatch on hello-motor-lift.
Protocol on board is p5.
Valid protocols are: dict_keys(['p0', 'p1', 'p2']).
Disabling device.
Please upgrade the firmware and/or version of Stretch Body.
----------------

Unable to communicate with device hello-motor-lift
WARNING: Device hello-motor-lift is not valid. Unable to attempt the firmware update. Skipping device

```

---

<div class="post-metadata">

**Author:** ![bshah](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/bshah/32/55_2.png) [@bshah](https://forum.hello-robot.com/u/bshah)\
**Post date:** [April 9, 2024, 5:49pm UTC](https://forum.hello-robot.com/t/firmware-mismatch-error-after-upgrading-my-re1-to-ubuntu-20-04/952/2 "2024-04-09T17:49:56Z")

</div>

Hi @argen1s, looks like you’re running into the opposite issue; your firmware is more up-to-date than your SDK is. Would you run the following command `stretch_system_check.py` and report its output here?

---

<div class="post-metadata">

**Author:** ![argen1s](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/argen1s/32/207_2.png) [@argen1s](https://forum.hello-robot.com/u/argen1s)\
**Post date:** [April 9, 2024, 6:13pm UTC](https://forum.hello-robot.com/t/firmware-mismatch-error-after-upgrading-my-re1-to-ubuntu-20-04/952/3 "2024-04-09T18:13:16Z")

</div>

Hey @bshah, thanks for the quick response.

I know right, it seems that at some point the firmware got update to a newer version.

When I try to run the `stretch_system_check.py` I got `command not found`. However I can run `stretch_robot_system_check.py `.  
Here is its output in case you need it:

```auto
[WARNING] [hello-motor-lift]: 
----------------
Firmware protocol mismatch on hello-motor-lift.
Protocol on board is p5.
Valid protocols are: dict_keys(['p0', 'p1', 'p2']).
Disabling device.
Please upgrade the firmware and/or version of Stretch Body.
----------------

[WARNING] [stretch_gripper]: DynamixelHelloXL430 Ping failed... stretch_gripper
DynamixelHelloXL430 Ping failed... stretch_gripper

---- Checking Devices ----
[Pass] : hello-wacc
[Pass] : hello-motor-left-wheel
[Pass] : hello-pimu
[Pass] : hello-lrf
[Pass] : hello-dynamixel-head
[Pass] : hello-dynamixel-wrist
[Pass] : hello-motor-arm
[Pass] : hello-motor-right-wheel
[Pass] : hello-motor-lift
[Pass] : hello-respeaker

---- Checking Pimu ----
[Pass] Voltage = 13.041690587997437
[Pass] Current = 1.7860200913513409
[Pass] Temperature = 23.93553226422041
[Pass] Cliff-0 = 30.01885986328125
[Pass] Cliff-1 = 35.606689453125
[Warn] Cliff-2 = -124.20953369140625 out of range -50 to 60 - calibrate using REx_cliff_sensor_calibrate.py
[Warn] Cliff-3 = -93.04324340820312 out of range -50 to 60 - calibrate using REx_cliff_sensor_calibrate.py
[Pass] IMU AZ = -9.73032283782959
[Pass] IMU Pitch = -1.2088491916656494
[Pass] IMU Roll = 1.8359375

---- Checking EndOfArm ----
[Fail] Ping of: stretch_gripper

[Fail] Ping of: wrist_pitch

[Fail] Ping of: wrist_roll

[Pass] Ping of: wrist_yaw
[Fail] Not Calibrated: wrist_yaw

---- Checking Head ----
[Pass] Ping of: head_pan

[Pass] Ping of: head_tilt

---- Checking Wacc ----
[Pass] AX = 9.65605640411377

---- Checking hello-motor-left-wheel ----
[Pass] Position = -0.8890706896781921

---- Checking hello-motor-right-wheel ----
[Pass] Position = -2.8143434524536133

---- Checking hello-motor-arm ----
[Pass] Position = 2.7623326778411865
[Fail] Position Calibrated = False

---- Checking hello-motor-lift ----
[Fail] Position = 0
[Pass] Position Calibrated = 0

```

---

<div class="post-metadata">

**Author:** ![bshah](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/bshah/32/55_2.png) [@bshah](https://forum.hello-robot.com/u/bshah)\
**Post date:** [April 9, 2024, 6:56pm UTC](https://forum.hello-robot.com/t/firmware-mismatch-error-after-upgrading-my-re1-to-ubuntu-20-04/952/4 "2024-04-09T18:56:33Z")

</div>

Gotcha, it certainly looks like we should update the SDK. Would you run through this guide:

> **[Updating Software - Stretch Docs](https://docs.hello-robot.com/0.3/software/updating_software/#python-libraries)**
>
> Hello Robot User Documentation

In particular, you’re interested in the Python Libraries section. After you’ve updated “hello-robot-stretch-body-tools”, you’ll see the `stretch_robot_system_check.py` CLI has been replaced by `stretch_system_check.py`.

Also, I’m noticing that there’s `[Fail] Ping of: wrist_<something>` in your sys check output. Would you send me a picture of your robot? I think the software is confused about which tool is attached to your robot.

---

<div class="post-metadata">

**Author:** ![argen1s](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/argen1s/32/207_2.png) [@argen1s](https://forum.hello-robot.com/u/argen1s)\
**Post date:** [April 9, 2024, 9:05pm UTC](https://forum.hello-robot.com/t/firmware-mismatch-error-after-upgrading-my-re1-to-ubuntu-20-04/952/5 "2024-04-09T21:05:39Z")

</div>

Magnificent!  
Updating the SDK and running the `REx_firmware_updater.py --install` now worked. Here is the output for the command: `REx_firmware_updater.py --current`

```auto
REx_firmware_updater.py --current

----------- Deprecation Warning -----------
Your robot params are configured to load DexWrist2 params from Stretch Tool Share
Support for the DexWrist2 has moved to Stretch Body
 1) Open stretch_user_params.yaml and stretch_configuration_params.yaml in
    the ~/stretch_user/stretch-yyy-xxxx directory.
 2) Locate the following text in one of those files and remove it:
     params: stretch_tool_share.stretch_dex_wrist.params
     or
     params:
      - stretch_tool_share.stretch_dex_wrist.params
More information can be found at: https://github.com/hello-robot/stretch_body/pull/272
-------------------------------------------

Collecting information...
######################################## Currently Installed Firmware ########################################
------------ HELLO-MOTOR-LIFT ------------
Installed Firmware: Stepper.v0.7.4p5
Installed Stretch Body supports protocols: p0 , p1 , p2 , p3 , p4 , p5
Installed protocol p5 : VALID
------------ HELLO-MOTOR-ARM ------------
Installed Firmware: Stepper.v0.7.4p5
Installed Stretch Body supports protocols: p0 , p1 , p2 , p3 , p4 , p5
Installed protocol p5 : VALID
------------ HELLO-MOTOR-LEFT-WHEEL ------------
Installed Firmware: Stepper.v0.7.4p5
Installed Stretch Body supports protocols: p0 , p1 , p2 , p3 , p4 , p5
Installed protocol p5 : VALID
------------ HELLO-MOTOR-RIGHT-WHEEL ------------
Installed Firmware: Stepper.v0.7.4p5
Installed Stretch Body supports protocols: p0 , p1 , p2 , p3 , p4 , p5
Installed protocol p5 : VALID
------------ HELLO-PIMU ------------
Installed Firmware: Pimu.v0.7.0p5
Installed Stretch Body supports protocols: p0 , p1 , p2 , p3 , p4 , p5
Installed protocol p5 : VALID
------------ HELLO-WACC ------------
Installed Firmware: Wacc.v0.5.1p3
Installed Stretch Body supports protocols: p0 , p1 , p2 , p3
Installed protocol p3 : VALID

```

Here is the new output for the `stretch_system_check.py` command

```auto
[ERROR] [stretch_gripper]: DynamixelCommError. Mismatched baud rate. Expected 115200 but servo is set to 57600.
[WARNING] [stretch_gripper]: DynamixelHelloXL430 Ping failed... stretch_gripper
DynamixelHelloXL430 Ping failed... stretch_gripper
Dnamixel Com error: 

---- Checking Hardware ----
[Fail] Comms not ready (failed to ping stretch_gripper)
[Fail] Actuators not ready (robot not homed, run stretch_robot_home.py)
[Pass] Sensors are ready
[Pass] Battery voltage is 13.0 V

---- Checking Software ----
[Pass] Ubuntu 20.04 is ready
[Pass] All APT pkgs are setup correctly
[Pass] Firmware is up-to-date
[Warn] Python pkgs not up-to-date (run pip3 install -U hello-robot-stretch-factory)
[Pass] ROS Noetic is ready

```

Lastly, attached here are some pictures of the robot.

 ![20240409_164859](https://canada1.discourse-cdn.com/flex030/uploads/hello_robot2/original/1X/36bf72a642d52836bd304dd2318ae3b54d0061fc.jpeg)  
 ![20240409_170316](https://canada1.discourse-cdn.com/flex030/uploads/hello_robot2/original/1X/450e8e1b6148ca282ec6c2664fd0053697deff9d.jpeg)

---

<div class="post-metadata">

**Author:** ![argen1s](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/argen1s/32/207_2.png) [@argen1s](https://forum.hello-robot.com/u/argen1s)\
**Post date:** [April 10, 2024, 1:15pm UTC](https://forum.hello-robot.com/t/firmware-mismatch-error-after-upgrading-my-re1-to-ubuntu-20-04/952/6 "2024-04-10T13:15:46Z")

</div>

It seems we are having the same issue as in this post:` https://forum.hello-robot.com/t/dynamixelhelloxl430-ping-failed-wrist-pitch/914`.

So I will be following the procedure you recommended there and let you know about the results later on.

Thanks for all your help!

---

<div class="post-metadata">

**Author:** ![argen1s](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/argen1s/32/207_2.png) [@argen1s](https://forum.hello-robot.com/u/argen1s)\
**Post date:** [April 12, 2024, 6:50pm UTC](https://forum.hello-robot.com/t/firmware-mismatch-error-after-upgrading-my-re1-to-ubuntu-20-04/952/7 "2024-04-12T18:50:47Z")

</div>

@bshah I just wanted to thank you again for the help and inform you that I already solved the issue with the wrist tool using the topic post I attached to my previous response.

---

<div class="post-metadata">

**Author:** ![bshah](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/bshah/32/55_2.png) [@bshah](https://forum.hello-robot.com/u/bshah)\
**Post date:** [April 12, 2024, 6:52pm UTC](https://forum.hello-robot.com/t/firmware-mismatch-error-after-upgrading-my-re1-to-ubuntu-20-04/952/8 "2024-04-12T18:52:49Z")

</div>

Awesome, glad to hear it @argen1s! All the best with your development on Stretch!
