Hi,
I’m having problems with my odrive USB connection. I wasn’t using my odrive for 2 months. Today I decided to turn it on and test if its still working. At first I was able to detect it with the odrivetool, then it suddenly disconected during a simple full calibration sequence that i called from the odrivetool, just to test if everything is ok. I saw that there are a lot of similar threads, but all of the things there didnt help me.
My power light is on , the board gives both 3.3 V and 5V output. When i connect it with PC i gave the following error under dmesg both in run and DFU mode:
[ 108.210435] usb 1-2: new low-speed USB device number 11 using xhci_hcd
[ 108.346392] usb 1-2: device descriptor read/64, error -71
[ 108.590404] usb 1-2: device descriptor read/64, error -71
[ 108.826352] usb 1-2: new low-speed USB device number 12 using xhci_hcd
[ 108.962397] usb 1-2: device descriptor read/64, error -71
[ 109.206441] usb 1-2: device descriptor read/64, error -71
[ 109.314407] usb usb1-port2: attempt power cycle
[ 109.966352] usb 1-2: new low-speed USB device number 13 using xhci_hcd
[ 109.967074] usb 1-2: Device not responding to setup address.
[ 110.174997] usb 1-2: Device not responding to setup address.
Under Windows the device get detected but not recognize on other pc as (both in run and dfu mode:
Unknown USB Device (Device Descriptor Request Failed)
When i write odrivetool dfu i get “Waiting for Odrive”
Is there any other way to test if the problem is hardware or software related?
Thank you all !
As per the other thread, I think it could be an issue with the USB isolator. If the axes are in idle, it should be safe to bypass it.
You can also try adding a hub between the ODrive and the isolator. (that has worked for me in the past with a different USB isolator and a different motor drive)
Also: Is the host an nvidia Jetson, by any chance?
I have had a lot of issues with USB on my Jetson TX2, with or without isolators, on ODrive and other stuff. I ended up buying a PCIe USB card and plugging it in to the PCIe slot.
I have been using it with nvidia Jetson Nano in the past, but now i have disconnected all motors and braking resistor and trying to establish connection with the odrive only. on a PC. I have Ubuntu 20.4
OK, that is quite weird then. The only other thing I can think of is a problem with the stm chip of the ODrive, where it would randomly erase its own flash, if used above 30V or so.
The DFU Bootloader should still work though, because that’s in ROM.
Is there any sign that the ODrive is working apart from USB comms? (you could connect a scope or logic analyser if you have one to the SPI SCK pin - you should see some pulses as it boots up and queries registers from the DRV8301 chips)
If it’s dead, You could try flashing it with an ST-Link (or any of the nucleo boards have an ST-Link built in that you can use).
by adding the hub i was using in the past I got basicly the same :
[ 7162.590527] usb 1-2: new full-speed USB device number 51 using xhci_hcd
[ 7162.743318] usb 1-2: not running at top speed; connect to a high speed hub
[ 7162.755152] usb 1-2: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.00
[ 7162.755164] usb 1-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 7162.755168] usb 1-2: Product: USB2.0 HUB
[ 7162.807405] hub 1-2:1.0: USB hub found
[ 7162.810110] hub 1-2:1.0: 4 ports detected
[ 7163.234121] usb 1-2.2: new low-speed USB device number 52 using xhci_hcd
[ 7163.430320] usb 1-2.2: device descriptor read/64, error -71
[ 7163.730302] usb 1-2.2: device descriptor read/64, error -71
[ 7164.022276] usb 1-2.2: new low-speed USB device number 53 using xhci_hcd
[ 7164.218160] usb 1-2.2: device descriptor read/64, error -71
[ 7164.518303] usb 1-2.2: device descriptor read/64, error -71
[ 7164.627241] usb 1-2-port2: attempt power cycle
[ 7165.338285] usb 1-2.2: new low-speed USB device number 54 using xhci_hcd
[ 7165.338737] usb 1-2.2: Device not responding to setup address.
[ 7165.546836] usb 1-2.2: Device not responding to setup address.
[ 7165.754276] usb 1-2.2: device not accepting address 54, error -71
[ 7165.942280] usb 1-2.2: new low-speed USB device number 55 using xhci_hcd
[ 7165.942749] usb 1-2.2: Device not responding to setup address.
[ 7166.150719] usb 1-2.2: Device not responding to setup address.
[ 7166.358260] usb 1-2.2: device not accepting address 55, error -71
[ 7166.359376] usb 1-2-port2: unable to enumerate USB device
Flashing with an ST-Link is the only option i have not tried yet. But in order to do it should I not be able to see the device as STMBootloader32 in dfu mode or this is only for flashing via the usb cable? I guess i should order one.
As i said i have tested the 3.3V and 5v output and they work. I cannot test the SPI and SCK pins because i dont have scope or logic analyser, sorry.
UPDATE: I was able to send commands and get data via UART with ESP32. I think somehow the problem is in the USB itself.
Since i purchased the Odrive from the official site i would like to know if i can send it back to the Odrive people for diagnostics. Does anyone has experience with that ?