Skip to content

Latest commit

 

History

History
executable file
·
22 lines (13 loc) · 1.9 KB

LibUSB Setup.md

File metadata and controls

executable file
·
22 lines (13 loc) · 1.9 KB

LibUSB Setup

LibUSB is a package that allows you to write software against USB drivers.

There's an old LibUSB that some packages depend on, it seems that there's some problem with it, so there was a port of LibUSB 0.1 to libusb-win32. Cygwin upon installation may ask for this thing to be installed.

After installing libusb-win32 (get it from sourceforge), there's a binary that allows you install the filter driver on a particular USB device.

It seems that you can choose which device to install the filter driver on, which probably allows you to program against that USB, or in the case of dependendent packages, those packages can then use that particular USB device.

The executable to install or uninstall the libusb-win32 filter drivers is here: C:\Program Files\LibUSB-Win32\bin\install-filter-win.exe.

The relevant documentation is here: http://sourceforge.net/p/libusb-win32/wiki/Home/

Starting with v1.2.2.0, a GUI (filter wizard) is provided and it is only to attach the filter driver to particular USB device of interests. So this should be safer to use than the older behavior which tries to attach the filter to all USB device (acting as class filters to all possible device class). It is still possible to do that by using the console version of install-filter.exe but this is only recommended to be used by developers and power users since this could potentially cause BSODs.

When you use the device filter mode using the Filter Wizard GUI, you may have to repeat the process if you unplug the device and plug it back in a different port.

It also seems that there 2 drivers that is possible to install. The filter driver acts on existing USB devices. Whereas the device driver seems like some sort of virtual USB device (so you test your program on fake USB).

This installation is only required for old packages that still depend on the old LibUSB. New packages don't seem to need this port installed.