libusb_open returns 'LIBUSB_ERROR_NOT_SUPPORTED' on Windows 7

You can easily install the WinUSB driver or the other drivers which libusb supports (libusb-win32 and libusbK) through the use of Zadig, an application that was developed just to solve this problem. See https://zadig.akeo.ie.

One thing to keep in mind, though, is that if you replace a Mass Storage driver or HID driver (which Windows installs automatically) with WinUSB, you will only be able to access your device through libusb and won't be able to access your device as Mass Storage or HID until you uninstall the WinUSB driver.

Finally, if you have control of the firmware for your device, it is also possible to create devices that will automatically install the WinUSB driver on Vista or later, so that users don't have to go through a manual driver installation (this may require a connection to Windows Update for Windows 7 or earlier, but should work even without an internet connection for Windows 8 or later). See https://github.com/pbatard/libwdi/wiki/WCID-Devices.

[DISCLAIMER] I am the author of Zadig/libwi, the WCID wiki pages as well as a contributor to the libusb Windows backend.


It seems you need to install the winusb driver - libusb can get information about devices without this driver, but it cannot open them.

http://libusb.6.n5.nabble.com/LIBUSB-ERROR-NOT-SUPPORTED-td5617169.html:

On Wed, Apr 4, 2012 at 11:52 PM, Quân Phạm Minh <[hidden email]> wrote:

although I never install winusb driver but I use libusb to get information of my usb (kingston usb, and already recognize by system)

Yes that is possible. But you can not open the device and do further things. That is the confusing part for new users with regard to libusb Windows backend, and similarly for Mac OS X as well. libusb can get some basic information for device with a non-proper driver (e.g.: USB mass storage device), but will not be able to open the device without changing the driver to a supported one.

-- Xiaofan

Tags:

Libusb