DFU Flashing Error

When flashing the 24v ODrive 3.5 with my Mac, I get a runtime error: “An error occured. Device Status: (0, 2, 0, 0)”. It happens every time I try to flash the board. Is the only solution at the moment to use a ST-Link to flash the firmware?

Full Runtime Error Below

ODrive control utility v0.4.1
Waiting for ODrive...
Found ODrive 206137813548 (v3.5-24V) with firmware [unknown version] in DFU mode
Checking online for newest firmware... found v0.4.1
Downloading firmware v0.4.1...
The configuration cannot be backed up because the device is already in DFU mode. The configuration may be lost after updating. Do you want to continue anyway? [Y/n] Y
Erasing... done            
Flashing... (sector 1/6)  
Traceback (most recent call last):
  File "/usr/local/bin/odrivetool", line 142, in <module>
    odrive.dfu.launch_dfu(args, logger, app_shutdown_token)
  File "/usr/local/lib/python3.7/site-packages/odrive/dfu.py", line 450, in launch_dfu
    update_device(device, firmware, logger, cancellation_token)
  File "/usr/local/lib/python3.7/site-packages/odrive/dfu.py", line 381, in update_device
    dfudev.write_sector(sector, data)
  File "/usr/local/lib/python3.7/site-packages/odrive/dfuse/DfuDevice.py", line 187, in write_sector
    raise RuntimeError("An error occured. Device Status: {!r}".format(status))
RuntimeError: An error occured. Device Status: (0, 2, 0, 0)

We currently have an unsolved issue on Mac and some linux machines. We will try to fix this issue as soon as we can. For now please try using a windows machine, as it’s known to work on Windows.

Hi there,

I did try on a Windows machine and I got a similar error. Could not flash the firmware. I ended up getting an ST-Link and was able to flash the firmware just fine.

1 Like

We found a different tool that can flash the ODrive in DFU mode. It’s not as sleek and automated as the dfu command in odrivetool, but hopefully it can help if you are getting errors.

Instructions here

1 Like

I am attempting to use the Dfuse tool. I have force the board to DFU mode. I have followed step 9.1 (https://docs.odriverobotics.com/odrivetool#upgrading-firmware-with-a-different-dfu-tool) and the dfuse tool will not recognize an available “STM Device in DFU Mode”.

1 Like

UPDATE: Looks like my issue was related to firmware version 0.5.2. After following the instructions here from @vogel25 (using the STM32Cubeprogrammer software) I’ve now successfully flashed FW0.5.1.

Hi Ian,

I’m having this exact same issue:

  • Got an error the first time I tried to update the firmware.
  • I now get the “An error occurred. Device Status: (0, 2, 0, 0)” every time using the python tool.
  • Followed all instructions for the Dfuse tool but cannot get it to recognize an available “STM Device in DFU Mode”.

Were you able to resolve the issue?