|Version 23 (modified by xiaofan, 2 years ago) (diff)|
This is the home of libusb, a library that gives user level applications uniform access to USB devices across many different operating systems. libusb is an open source project licensed under the GNU Lesser General Public License version 2.1.
Many participants in the libusb community have helped and continue to help with ideas, implementation, support and improvements for libusb.
There are currently two separate core projects, with non-compatible APIs:
In addition to the core projects there are two sub-projects that provide Windows back-ends:
Stable API: libusb-1.0
Daniel Drake adopted the project in January 2008 and worked on a libusb-1.0 release, which adds several features that were missing from the 0.1 API. As of December 2008, libusb-1.0 is the stable and recommended version to use. Developers are encouraged to port their applications to the new API.
- See the libusb-1.0 page for more information.
- Download libusb-1.0 releases here
- API documentation
- Compatibility with the libusb-0.1 API is available through the libusb-compat-0.1 compatibility layer.
- Linux and Darwin (Mac OS X) are supported in the latest release. Windows support is present in git as of August 2010.
- The Windows backend currently uses WinUSB.sys or Win32 HID APIs. Support for the libusb0.sys backend (libusb0.sys is the libusb-win32 kernel driver) will be integrated later (#49) as well.
Legacy API: libusb-0.1
Johannes Erdfelt founded the libusb project and lead development through 2007. By then, libusb-0.1 had been developed, stabilized, and adopted by a wide range of projects.
- Last release: libusb-0.1.12
- Supported operating systems: Linux, FreeBSD, NetBSD, OpenBSD, Darwin, MacOS X (and Windows, through the libusb-win32 project).
- Development status: libusb-0.1 has reached maturity and no further changes or releases are expected.
- Note that libusb-win32 is a separate project which still sees active development (mainly on the driver side, the existing API is stable and unlikely to be changed). Once libusb-1.0 supports the libusb0.sys device driver (#49) then the focus of the libusb-win32 project will be to continue improving the libusb0.sys driver while also contributing to Windows specific parts of libusb-1.0. At that time, libusb-win32 users will be encouraged to port their programs to the libusb-1.0 API.
- Download libusb-0.1 releases here
- API documentation
- Unofficial bindings, at the libusb-win32 site
- Projects and Examples using libusb-0.1 and libusb-win32
Bugs and feature requests
If you find a bug in libusb, libwdi, zadig or another related program, or if you wish to request an enhancement, please create a new ticket on this web page.
We require that you register an account and verify your email address before you can create a ticket, in an attempt to reduce the amount of spam that gets into the system. We are sorry for this inconvenience, but registering is quick and simple so please don't let it stop you.
Thank you for helping make libusb even better!
- usbutils includes the very useful lsusb program to view descriptors in devices