About Site Map Submit Contact Us Log in | Create an account
Create an account Log In
Average Rating
User Rating:
Visitors Rating:
My rating:

Write review
  • Last update: 5 years ago
  • Total downloads: 365
  • Operating system: Win All
  • Publisher: LibUSB-Win32
See full specifications

windows default iconlibusb-win32 Publisher's description

libusb-win32 is a port of the USB library libusb-0.1 to the Microsoft Windows operating systems (Windows 98 SE, Windows ME, Windows 2000, Windows XP, Windows Vista and Windows 7.

libusb-win32 is a port of the USB library libusb-0.1 to the Microsoft Windows operating systems (Windows 98 SE, Windows ME, Windows 2000, Windows XP, Windows Vista and Windows 7. Starting from version, libusb-win32 support of Win98SE and WinME is dropped due to the age of these Operating systems.

Vista/7 64 bit are supported from version since a Microsoft KMCS accepted digital signature is embedded in the kernel driver libusb0.sys. libusb-win32 based device drivers can also be submitted for Microsoft WHQL testing. Several companies have successfully finished the WHQL testing with their libusb-win32 based driver package. This will allow the customers to install the driver without a warning under current 32bit/64bit Windows. However, the latest Windows Logo Kit (WLK) license lists GPL as an "excluded license" so that WHQL submission will not be possible right now. The project administrators will try to address the issue by releasing the driver with dual license in the future: Modified_BSD and GPL v3 license.


Can be used as a filter driver for existing, already installed devices. This feature allows libusb-win32 to communicate with almost any installed USB device. The filter driver may cause problems for certain device. Therefore it should not be used by normal users. Rather it should be considered more as a development tool for developers or power users of Windows.

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.

Can be used as a normal device driver for devices for which no driver exists (self build/developed USB hardware, etc). You can also replace the existing device driver with libusb-win32 device driver if desired. This is the preferred way to use libusb-win32.
The two methods described above can used in parallel.
100% API and functional compatible with the libusb 0.1 project.
Supports all USB transfer: Control, Bulk, Interrupt and Isochronous transfers. Take note libusb 0.1 does not support Isochronous Transfer under other Operating Systems like Linux.
Supports all Standard Device Requests (control messages) described in chapter 9 of the USB specification.
Supports vendor specific control messages.


The library (including DLL, import libraries, examples and installers) is distributed under the terms of the GNU Lesser General Public License ( LGPL).
The driver is distributed under the terms of the GNU General Public License ( GPL).
This license combination explicitly allows the use of this library in commercial, non Open Source applications. Read the licenses carefully and apply all of their requirements before including this library in a commercial application!
In the future the project administrators will add a New BSD option to the license to address the WHQL issue.


If something isn't working as expected, make sure that you have installed the latest service packs for your OS and the latest version of libusb-win32 before requesting for any support.

Available Support Options:

A mailing list is available for discussions, questions, bug reports, feature request, and other issues. It is the preferred support channel. Please subscribe to the list first before posting.
The project page offers different forms which can be filled out to get support, to report bugs, or to request new features. Please describe your problems and your system as precise as possible (OS, service packs, version of libusb-win32, type of device, output of "testlibusb-win.exe", etc.). This will make solving problems a lot easier.
Debug version of the libusb-win32 are provided from libusb- onwards. Together with Microsoft debugview, detailed debug information can be printed out to facilitate easier debugging process.


Source code and binary packages can be downloaded from the project download site. Source code is also available via anonymous Subversion.


Filter Driver Installation

Please use the latest release version.
Versions up until have serious bugs related to the filter drivers under Vista and Windows 7 and some XP installations. Please use later versions ( or newer). For 64bit Windows Vista/7/2008/2008R2, the version should be or later.
The filters driver is installed by a user friendly GUI installer which makes the install and uninstall process easier and more secure. Starting with, a GUI for installing the filter driver (Filter Wizard) is the preferred way to use the filter. It only tries to attach the filter driver to a particular USB device. You can still use the command line install-filter.exe application to install class filter. But it is not recommended.
Log in as a user with administrator privileges.
Download the latest filter driver installer (libusb-win32-devel-filter-x.x.x.x.zip) and then unzip).
Close all applications which use USB devices before installing.
Run the installer, and follow its instructions. Do not run the installer from an USB storage device!
At the end of the installation process the installer will offer to run a test program. This program will verify the correct installation and print the descriptors of all USB devices accessible by the library. The test program can also be run later from the system's start menu.
A reboot isn't necessary but is recommended.

Device Driver Installation

Please use the latest release version.
The device driver is distributed as a separate package which includes everything to use libusb-win32 for single devices as a normal device driver. The installation of the filter driver is not necessary any more!
Log in as a user with administrator privileges.
Download the latest device driver binary package (libusb-win32-device-bin-x.x.x.x.zip or tar.gz).
Extract it to a temporary directory.
Use the INFWizard program to generate the INF file (modify the vendor and product IDs, strings etc). Create different inf-files to install different types of devices (devices with different IDs).
Unplug the device(s) from the system.
Open the Windows Device Manager and remove all incorrectly installed USB devices (device entries with a yellow exclamation mark).
Reconnect the device(s) to the system.
When Windows asks for a driver, choose the inf-file(s) created above. When Windows asks for a driver, choose the inf-file(s) created above. Windows will warn that the driver is is not 'digitally signed'. Ignore this message and continue with the installation. As of version V1.2.0.0, a valid digital signature is embedded inside libusb0.sys for AMD/Intel x86_64 version of Windows so that the users can install the driver as well under 64bit x86_64 version of Windows Vista/7/2008/2008R2. Please read more about the Microsoft Kernel Mode Code Signing (KMCS) policy for more information.
Open the Windows Device Manager to verify that the device is installed correctly. Run the test program (testlibusb-win.exe) from the 'bin directory'. It should print out the descriptors of your device(s).
A reboot isn't necessary.
Starting from version, the inf-wizard.exe has embedded driver binaries and provide an option to install the driver at the end of the process.


Removing the Filter Driver

To remove the filter driver open the Control Panel, open 'Software', choose the 'LibUsb?-Win32-x.x.x.x' entry, and remove it.
A reboot isn't necessary.
If the above failed, you can manually run "install-filer -u" as admin. After that you can remove the other relevant files.

Removing the Device Driver

To remove device filter driver, run the GUI filter driver wizard to remove it.
The device driver can not be easily removed from the system. You can however try to use usbdeview to remove the entries. Under Vista and Windows 7, you can use pnputil to remove the driver package.


Updating the Filter Driver

Remove the old version first (see above). This is the recommended method.
Install the new version as described above.

Updating the Device Driver

Download the latest device driver binary package (libusb-win32-bin-x.x.x.x.zip).
Modify the inf-file as described in the Installation section.
Open the Device Manager and select the device you want to update.
Choose 'Properties->Driver->Update'. Disable the automatic installation and select the new inf-file manually.
Since, inf-wizard.exe GUI program can be used to automatically install/update the device driver.


Requirements to build libusb-win32 from source package

A WinXP or later system.
The Windows WDK 6001.18002 or later. You can get WDK from Microsoft . From onwards, WDK will be the official tools to build the kernel driver files since it is the primary tools Windows driver developers use. It will be the official tools to build the release packages as well.
MinGW/Msys is required to build the MinGW GCC import library.
Cygwin is not officially supported but there is a port of libusb-win32 for Cygwin.
Borland C++ 5.5 or above is required to build the import library file for Borland C++.
Inno Setup 5 or above install system is required if you want to build the installer.

Build Process

Until (including, the package is built with a standard Makefile under MinGW/MSys or Cygwin. Starting from version, MinGW/MSys can only be used to to build 32bit library and test programs.

Download the latest source code.
From a Msys shell run the command "make" to build the library and test programs.

Starting from version, batch files in the DDK_MAKE directory will be the main tools to build the driver, library, and distribution packages.

Download the latest source code.
Edit make.cfg according to your particular setup (WDK directory, locations of MinGW, Borland C++, Inno Setup, etc).
Use the provided batch files to the build the 32bit/64bit drivers, library and test programs. Please refer to the output of "make.cmd" for more build options.
To build the distribution archives and the installer run "make.cmd dist". Please refer to the output of "make.cmd" for more build options.

For developers who want to use libusb-wi32

To use libusb-win32 in your own programs include the supplied header file usb.h, and link against the import library (libraries for GCC, BCC, and MSVC 32bit/64bit are available).
To avoid any version conflicts, DO NOT include the DLL libusb0.dll in your application's directory. The DLL is part of the driver and installed automatically to the Windows system directory.
If you are porting a libusb 0.1.x based program from Unix style systems to Windows, remove all references to the library's global variable usb_busses. Use the function usb_get_busses() instead to get this variable. Global variables in shared libraries (DLLs) do not work well on Windows systems across different compilers. Please also take note that libusb-win32 differentiate IN Endpoints and OUT Endpoints. So IN Endpoint 1 is 0x81 and OUT Endpoint 1 is 0x01.
Please also refer to the following section on documentation and examples.

System Requirements:

No special requirements.
Program Release Status: New Release
Program Install Support: Install and Uninstall

Is libusb-win32 your software?

Manage your software

Most Popular

windows default icon WinAVR 20100110
WinAVR is a suite of executable, open source software development tools for the Atmel AVR series of RISC... Read more
windows default icon SQL-Front
SQL-Front MySQL GUI for database changes, data editing, SQL queries and more
windows default icon xVideo 1.2.1
xVideo is a Directshow wrapper that will help it’s users create multimedia applicationsIt’s
windows default icon Red Gate's .NET Reflector
Explore, browse, and analyze .NET assemblies

Related Category

» Active X (462)
» C & C++ & C# (244)
» Debugging (132)
» Delphi (191)
» Help Tools (211)
» Install & Setup (161)
» Other (1286)
» Source Editors (201)