The usb package

[Tags: bsd3, library]

This library allows you to communicate with USB devices from userspace. It is implemented as a high-level wrapper around bindings-libusb which is a low-level binding to the C library: libusb-1.*.

This documentation assumes knowledge of how to operate USB devices from a software standpoint (descriptors, configurations, interfaces, endpoints, control/bulk/interrupt/isochronous transfers, etc). Full information can be found in the USB 2.0 Specification.

For an example how to use this library see the ls-usb package at:

Also see the usb-safe package which wraps this package and provides some strong safety guarantees for working with USB devices:

Finally have a look at the usb-enumerator package which provides iteratee enumerators for enumerating bulk and interrupt endpoints:

Besides this API documentation the following sources might be interesting:


Versions0.1,, 0.2,, 0.3,, 0.3.1, 0.4, 0.5,, 0.6,,,,,,,,, 0.7, 0.8, 1.0, 1.1,,,,, 1.2,,,,,
Change logNone available
Dependenciesbase (>=4 && <4.4), base-unicode-symbols (>=0.1.1 && <0.3), bindings-libusb (>=1.3 && <1.5), bytestring (==0.9.*), text (>=0.5 && <0.12) [details]
Copyright2009–2010 Bas van Dijk <>
AuthorBas van Dijk <>
MaintainerBas van Dijk <>
Source repositoryhead: darcs get
UploadedWed Mar 9 12:21:51 UTC 2011 by BasVanDijk
Downloads5437 total (154 in last 30 days)
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]




Maintainers' corner

For package maintainers and hackage trustees