ODrive native interface not visible, CDC not working either

This issue is similar to others that have been posted in the forum, though I have not gathered enough information from the solution from those posts to solve this issue.

I have a number of 48V ODrive 3.5s for a machine tool application. When I plug in one of the drives via USB to the win10 PC, I only see one interface in Zadig which is the CDC interface. I was originally using a 24V 3.4 model, which I was able to connect on the native interface using libusb-win32. I think I may have screwed something up with the drivers since I don’t ever remember seeing more than one interface on Zadig, and I installed libusb for the CDC interface. Anyway, somehow it worked OK. I then upgraded to the 3.5 and all was well.

Fast forward a bit and I was trying to use the ODrive with a USB hub before I knew this was not supported by libusb (that is my understanding, anyway). I did a lot of installing and uninstalling drivers to try to figure out what was going on, then I read that libusb doesn’t support hubs. That is unfortunate but not a dealbreaker. However, now I cannot connect to the drive on the native interface on this PC at all. I see only the CDC interface in zadig, and switching to usbser and attempting to use the ASCII protocol does not work either.

It is worth mentioning that I have no issue communicating with the drive using a different PC (same cables, for the record, so those are not the problem), which shows both the native interface and the CDC interface in zadig. No problems there. I can communicate with both the native interface and the USB serial. There is something amiss with the original PC, which is the one that I need the drive to work with. Also, I recently upgraded the firmware on the drive to the latest version (0.4.7) to include bugfixes that were released to address problems with USB communication of the drive. Still fine communication to the second PC.

I am hoping that someone might be able to offer some input on this. I see that some other members had problems where they didn’t see both interfaces in zadig. Perhaps I have a driver mixup?

1 Like

That’s strange. By the way, ODrive works just fine through USB hubs, so that’s not it.
First thing to check: did you check “show all devices” in Zadig?

Can you try to see if you can find the native interface in device manager? If you can’t find it, you can try to locate the CDC interface, select it, then go View -> Devices by Connection.
The two interfaces should show up next to each other:

See if you can by some way throw away the not-working driver that somehow got in on the native interface.

Oskar, thanks for the follow up.

  1. I do not see the native interface in Zadig, here is what I see:

  2. Unfortunately I cannot locate it in the device manager either:

I have uninstalled all USB controller drivers through the device manager, in addition to all drivers for hubs that have been historically connected to this PC. I also deleted every inactive entry (including all the ODrive ones) from USBDeview. I tried booting into safe mode, and can’t see the native interface that way either.

However, when I connect the ODrive to another PC (PC 2), the native interface appears. I can also communicate with it using a serial terminal with the ASCII protocol. It is strange to me that the CDC interface appears without issue on PC 1, and I can open the COM port, but sending commands does nothing. When I use odrivetool on PC 1, it is stuck in the USB discover loop forever.

Are you aware of some libusb-win32 specific method I can use to eliminate all traces of the old driver, and perhaps query the hardware to discover the native interface? I have tried everything that I can think of to address the problem, but nothing seems to work.

As for the USB hubs, this drive will not communicate through a USB hub on either PC (or perhaps sometimes it will, but it is extremely unreliable). The reason I was under the impression that hubs do not work is due to something I read on the libusb page that stated the driver will not work through a USB hub. It is good to know that is not the case.

I am going to try hooking up yet another ODrive board that is fresh and has no firmware update to see if anything is different and will report back with results.

And the problem doesn’t go away with the new board, bummer!