Reputation: 5967
So I installed Pyusb 1.0.0-alpha-1
Under Windows, I cannot get any handles to usb devices.
>>> import usb.core
>>> print usb.core.find()
None
I do have 1 usb device plugged in(idVendor=0x04d8, idProduct=0x0042), and I tried usb.core.find(idVendor=0x04d8, idProduct=0x0042)
but that failed too.
Under Ubuntu, with the same versions of pyusb and python (2.6), I am able to successfully find my device with that code, and communicate with it.
So how can I get pyusb to find usb devices on Windows 7?
Upvotes: 7
Views: 13617
Reputation: 3115
Exactly the same was happening to me in Windows 10 running Python 3.9. According to the installation instructions of PyUSB you need to manually install libusb on Windows. For this I followed the instructions in the README file shipped with the Windows files (i.e. manually copied libusb-1.0.dll
and libusb-1.0.dll.a
into C:\Windows\System32
) and now PyUSB is listing the devices with
import usb.core
import usb.util
list(usb.core.find(find_all=True))
Upvotes: 1
Reputation: 6359
See Turbo J's answer. To install the USB driver libusb
for your device I found two options:
Use libusb-win32's inf-wizard.exe
to create the INF file and then use install-filter-win.exe
to install libusb as driver for your device.
Use zadig (simpler)
libusb-win32
as driver to be installedUpvotes: 5
Reputation: 7701
Libusb requires you to install a special driver for every device you want to use it with. That usually requires you to write an .inf file containing the USB IDs of the device. Only if the driver and inf file are installed libusb will be able to "see" your device.
Upvotes: 4