ODrive not showing in Linux and Windows

When trying to get the 24V 3.5 board to work with a D5065-270KV, I seem to be stuck, before I even got started.

When connecting and powering the ODrive (with an external power supply) I only seem to be able to see my 24V Odrive board with the dipswitch set to DFU. In the RUN mode, the Pi does not notice a connected device. I also checked this on a windows laptop which also does not detect the ODrive. As I did see the ODrive in DFU mode, I flashed it with the 0.4.7 firmware, using the command: sudo dfu-util -a 0 -s 0x08000000 -D ODriveFirmware_v3.5-24V.hex.

This seemed to work like it should (though it mentioned that the DFU suffix signature was invalid). Copy and paste of the output:

dirk-jan@follakzoid:/tmp $ sudo dfu-util -a 0 -s 0x08000000 -D ODriveFirmware_v3.5-24V.hex
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
Downloading to address = 0x08000000, size = 629524
Download	[=========================] 100%       629524 bytes
Download done.
File downloaded successfully
dirk-jan@follakzoid:/tmp $

After switching the power off, changing the dipswitch back from DFU to RUN, I had expected some more output, but there is nothing but silence.

I tried connecting the ODrive to the windows laptop again, which also does not show anything connected, so that was a dead end for me too. Didn’t see anything in Zadig either.

I tried downgrading to both 0.4.6 and 0.4.5, but no difference there either. I ran udevadm monitor -u when plugging in the usb, when in RUN mode. Nothing but silence. I also switched the USB cable with another and measured the 3.3 and 5V pins on the board. All where correct voltages (AVCC was 3.3v).

Is there anything I can still try to get the board up and running? Running odrivetool won’t show me any odrive board:

dirk-jan@follakzoid:~ $ odrivetool -v
ODrive control utility v0.4.7
Waiting for ODrive...
USB discover loop
USB discover loop
USB discover loop
Please connect your ODrive.
You can also type help() or quit().

USB discover loop
USB discover loop
In [1]: quit

All suggestions are welcome!

No one with a suggestion? I am somewhat at a lost right now wat to check. Might using a st-link instead of dfu-util help? Can I check if the problem is hardware or software related?

Hi Steviethecat, it looks like (dfuERROR, status = 10) could be the firmware was NOT uploaded to your device.

Use this as a reference: https://sourceforge.net/p/dfu-util/tickets/40/

Hope this helps, Regards Jerry :grinning:

Hello Jerry,

Thanks for the suggestion. I tried right away:

dirk-jan@follakzoid:/tmp $ dfu-util -a 0 -s 0x08000000 -D ODriveFirmware_v3.5-24V.hex
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
Downloading to address = 0x08000000, size = 456527
Download	[=========================] 100%       456527 bytes
Download done.
File downloaded successfully

This time I managed to flash without any non-zero status reports. The result, however, is the same. After switching the dfu-switch back to RUN, the OS still won’t see the Odrive. Neither under Linux as under Windows. :frowning:

It seems that the Odrive, in RUN mode is not booting at all. It looks like the device does not jump to the 0x08000000 address to start with. Can this be the case? And how to fix that?

Hi Steviethecat, may I ask a few questions?

Firstly: and I presume you have device drivers installed (win) and you know there is a connection to the hardware; ie Odrive shows up in (win) device manager and (Lin) lsusb.

If the above is the case, then you may have to try another process, Stlink and or software.

And don’t worry I and others have had this same challenge.

This worked for me.

Regards Jerry. :grinning:

Hi Steviethecat, if after the above suggestion had no bearing on the output :thinking: then I would suggest using Discord channel.

Jerry :grinning:

For other coming to this page in search of help. After being on the discord channel and trying some more flashing, I managed to flash the Odrive again with the firmware, using openocd and a st-link device.

It now shows up again in both Linux and Windows.