I have the same problem as you. But I failed when I ran sudo odrivetool.
Any advice?
Are you receiving the same warnings, or the “USB” device access denied" error, or just not ever connecting? Any more info you have would be really helpful for diagnosing the issue.
Hmm, that’s really odd. It looks like it’s not even finding the odrivetool command at all when you’re using sudo. Did you try adding odrivetool to your path? (https://docs.odriverobotics.com/#downloading-and-installing-tools, Linux instruction #3)
you shouldn’t need sudo to access an usb device if you have the rules set up properly. check that there is “xx-odrive.rules” in /etc/udev/rules.d with vendor id, product id and MODE="0666"
.
I reinstalled Odrive. Now it works using sudo. But I didn’t manually add odrivetool to my path.
I got it.
First,
idVendor is 1209 and idProduct is 0d32.
So, I rewrite my udev rules.
sudo gedit /etc/udev/rules.d/xxx.rules #“xxx.rules” is your rules file
Enter in the file:
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“1209”, ATTRS{idProduct}==“0d32”, GROUP=“pi”, MODE=“0666”
#‘pi’ is my username
sudo reboot
sudo udevadm control --reload
Then, you can access the usb device without sudo.
In my case there was a warning but I could connect to Odrive.
I need to wait 2 ~ 3 [s] for successful connection.
Hi all,
I ran into the same issue but on Windows (with the RuntimeWarning). My computer does connect to the odrive after the warnings, but then loses the connection almost immediately (‘oh no odrive disappeared’). I’m not sure if the two issues are related. Is this likely a USB problem? I tried connecting it to different ports on my computer but had the same problem. I’ll try using a different cable, but besides that I’m at a loss.
Maybe reinstall odrivetool will help.
Just an FYI for anyone finding this… Something is injecting smart-quotes in the udev rule file line above, so you’ll need to replace them with regular quotes for udev to work. grr.
Hi, did anyone solve this problem for windows? Any help much appreciated!
I had this problem as well.
In Zadig I set interface 0 to ‘libusb-win32’ instead of interface 2.
When setting interface 0 back to ‘WinUSB’ and interface 2 to ‘libusb-win32’ it worked for me.
Hello,
I am having the same issues with connecting odrive to my computer. I’ve updated Interface 2 driver to libusb-win32 using Zadig. I’ve tried using different USB cables. My odrive is also powered from 24v source.
I have python3.6 and odrive is installed ( I know this because in the python shell, if I type import odrive, it doesn’t throw off an error, and also when I try to install odrive, I’m told that the requirement is already satisfied)
I am able to run odrivetool in my Windows Command Prompt (running in Administrator mode), but my odrive is not being detected. It throws off a bunch of errors similar to the ones OP got.
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\Scripts>odrivetool
ODrive control utility v0.4.11
c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\fibre\shell.py:104: RuntimeWarning: coroutine ‘InteractiveShell.run_code’ was never awaited
console.runcode(‘import sys’)
c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\fibre\shell.py:105: RuntimeWarning: coroutine ‘InteractiveShell.run_code’ was never awaited
console.runcode(‘superexcepthook = sys.excepthook’)
c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\fibre\shell.py:106: RuntimeWarning: coroutine ‘InteractiveShell.run_code’ was never awaited
console.runcode(‘def newexcepthook(ex_class,ex,trace):\n’
c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\fibre\shell.py:109: RuntimeWarning: coroutine ‘InteractiveShell.run_code’ was never awaited
console.runcode(‘sys.excepthook=newexcepthook’)
Please connect your ODrive.
You can also type help() or quit().
I exactly get the same message on Ubuntu 18.04. What is the solution?
What worked for me was calling odrv0.vbus_voltage
every five seconds after running sudo odrivetool
and between the 3rd and 10th call, the ODrive will connect.
Kubuntu 18.04 - Kernel 5.3.0-28-generic
I am not sure what these messages (regarding import sys) and the rest mean but this is not an error. Odrivetool still works.
odrivetool -v
ODrive control utility v0.4.11
Waiting for ODrive…
USB discover loop
ConfigurationValue 1
InterfaceNumber 0,0
EndpointAddress 130
InterfaceNumber 1,0
EndpointAddress 1
EndpointAddress 129
InterfaceNumber 2,0
EndpointAddress 3
EndpointAddress 131
Kernel Driver was not attached
EndpointAddress for writing 3
EndpointAddress for reading 131
Connecting to device on USB device bus 2 device 12
/usr/local/lib/python3.7/dist-packages/fibre/shell.py:104: RuntimeWarning: coroutine ‘InteractiveShell.run_code’ was never awaited
console.runcode(‘import sys’)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
/usr/local/lib/python3.7/dist-packages/fibre/shell.py:105: RuntimeWarning: coroutine ‘InteractiveShell.run_code’ was never awaited
console.runcode(‘superexcepthook = sys.excepthook’)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
/usr/local/lib/python3.7/dist-packages/fibre/shell.py:106: RuntimeWarning: coroutine ‘InteractiveShell.run_code’ was never awaited
console.runcode(‘def newexcepthook(ex_class,ex,trace):\n’
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
/usr/local/lib/python3.7/dist-packages/fibre/shell.py:109: RuntimeWarning: coroutine ‘InteractiveShell.run_code’ was never awaited
console.runcode(‘sys.excepthook=newexcepthook’)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Please connect your ODrive.
You can also type help() or quit().
I also had problems getting odrivetool and Win 10 to play nice with the Odrive. My cure was to switch to Ubuntu. Worked inside a VMWare instance, so, it wasn’t USB hardware related.
0.4.12 on a 56V V3.6 board running at 24V on a bench supply or 48V on a battery.
Thanks for posting this, it helped me with a similar problem.
I’m also still seeing these warnings. Everything seems to work fine, it’s just annoying.
pi@raspberrydrive:~ $ sudo odrivetool -v
ODrive control utility v0.4.12
Waiting for ODrive...
USB discover loop
ConfigurationValue 1
InterfaceNumber 0,0
EndpointAddress 130
InterfaceNumber 1,0
EndpointAddress 1
EndpointAddress 129
InterfaceNumber 2,0
EndpointAddress 3
EndpointAddress 131
Kernel Driver was not attached
EndpointAddress for writing 3
EndpointAddress for reading 131
Connecting to device on USB device bus 1 device 10
/usr/local/lib/python3.7/dist-packages/fibre/shell.py:104: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('import sys')
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
/usr/local/lib/python3.7/dist-packages/fibre/shell.py:105: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('superexcepthook = sys.excepthook')
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
/usr/local/lib/python3.7/dist-packages/fibre/shell.py:106: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('def newexcepthook(ex_class,ex,trace):\n'
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
/usr/local/lib/python3.7/dist-packages/fibre/shell.py:109: RuntimeWarning: coroutine 'InteractiveShell.run_code' was never awaited
console.runcode('sys.excepthook=newexcepthook')
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Please connect your ODrive.
You can also type help() or quit().
In [1]:
JSON: [