usb: Communicate with USB devices

[ bsd3, hardware, library, system ] [ Propose Tags ]

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:

Versions [RSS] [faq] 0.1,, 0.2,, 0.3,, 0.3.1, 0.4, 0.5,, 0.6,,,,,,,,, 0.7, 0.8, 1.0, 1.1,,,,, 1.2,,,,,,,,
Dependencies base (>=4 && <4.3), base-unicode-symbols (>=0.1.1 && <0.3), bindings-libusb (>=1.3 && <1.5), bytestring (==0.9.*), text (>=0.5 && <0.9) [details]
License BSD-3-Clause
Copyright 2009–2010 Bas van Dijk <>
Author Bas van Dijk <>
Maintainer Bas van Dijk <>
Category System
Source repo head: darcs get
Uploaded by BasVanDijk at 2010-09-11T14:19:36Z
Distributions NixOS:
Downloads 26943 total (192 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees