[SOLVED] using cflib in WSL2
Posted: Mon Mar 21, 2022 3:26 pm
[Not completely sure if this is the right Sub-Forum]
I am trying to setup a development environment using WSL2 under windows 10.
Building and flashing works with the current make files using windows' python.
As I have to use linux dependent things to connect to my swarm (a.o. ROS) it would be nice to connect through the linux's python installation.
I managed to get general USB passthrough to WSL using usbipd (see https://devblogs.microsoft.com/commandl ... es-to-wsl/). the Radio is listed with lsusb and i have the access rights. Somewhere on the way creating a connection I get
(more detailed below)
It's the same for trying with radio and direct usb connection to the drone.
After that the device is not listed in lsusb anymore.
From the code I guess it is somehow reset. Would it report itself as a different device (vendor id, etc) then?
I guess this is a WSL / usbip specific thing but maybe someone has some insight or ideas
Thanks
-Klaus
I am trying to setup a development environment using WSL2 under windows 10.
Building and flashing works with the current make files using windows' python.
As I have to use linux dependent things to connect to my swarm (a.o. ROS) it would be nice to connect through the linux's python installation.
I managed to get general USB passthrough to WSL using usbipd (see https://devblogs.microsoft.com/commandl ... es-to-wsl/). the Radio is listed with lsusb and i have the access rights. Somewhere on the way creating a connection I get
Code: Select all
usb.core.USBError: [Errno 2] Entity not found
It's the same for trying with radio and direct usb connection to the drone.
After that the device is not listed in lsusb anymore.
From the code I guess it is somehow reset. Would it report itself as a different device (vendor id, etc) then?
I guess this is a WSL / usbip specific thing but maybe someone has some insight or ideas
Thanks
-Klaus
Code: Select all
File "/home/klaus/.local/lib/python3.8/site-packages/cflib/crazyflie/__init__.py", line 223, in open_link
self.link = cflib.crtp.get_link_driver(
File "/home/klaus/.local/lib/python3.8/site-packages/cflib/crtp/__init__.py", line 98, in get_link_driver
instance.connect(uri, link_quality_callback, link_error_callback)
File "/home/klaus/.local/lib/python3.8/site-packages/cflib/crtp/radiodriver.py", line 267, in connect
self._radio = RadioManager.open(devid)
File "/home/klaus/.local/lib/python3.8/site-packages/cflib/crtp/radiodriver.py", line 226, in open
shared_radio = _SharedRadio(devid)
File "/home/klaus/.local/lib/python3.8/site-packages/cflib/crtp/radiodriver.py", line 149, in __init__
self._radio = Crazyradio(devid=devid)
File "/home/klaus/.local/lib/python3.8/site-packages/cflib/drivers/crazyradio.py", line 147, in __init__ self.handle.reset()
File "/home/klaus/.local/lib/python3.8/site-packages/usb/core.py", line 961, in reset
self._ctx.backend.reset_device(self._ctx.handle)
File "/home/klaus/.local/lib/python3.8/site-packages/usb/backend/libusb1.py", line 911, in reset_device
_check(self.lib.libusb_reset_device(dev_handle.handle))
File "/home/klaus/.local/lib/python3.8/site-packages/usb/backend/libusb1.py", line 604, in _check
raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 2] Entity not found