Need help with LibUsbDotNet?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

316 Stars 122 Forks GNU Lesser General Public License v3.0 353 Commits 30 Opened issues


My updates to LibUsbDotNet, an excellent library for cross-platform USB device control using Mono/.NET

Services available


Need anything else?

Contributors list


Build Status NuGet version LGPLv3 license

LibUsbDotNet is a .NET C# USB library for WinUsb, libusb-win32, and Linux libusb v1.x developers. All basic USB device functionality can be performed through common device classes allowing you to write OS and driver independent code.

  • LibUsbDotNet versions 2.2.4 and above support the Libusb-1.0 driver.
  • LibUsbDotNet 2.1.0 and above supports the genuine libusb-win32 driver package. However, access to basic device information via the windows registry is not available. See the LegacyUsbRegistry class for more information.


  • Full support for WinUSB. All WinUSB interfaces are treated as separate devices; each interface can be used by a different application.
  • Extended kernel level support for libusb-win32.
  • Supports Unix-like operating systems using Mono .NET and libusb-1.0.
  • Common device classes allow for a single code base to support multiple drivers and platforms.
  • Includes a Usb InfWizard utility (Windows only) for generating usb installation packages, removing devices, and installing drivers.
  • Device discovery using any or all of the folowing criteria:
    • VendorID
    • ProductID
    • Revision Code
    • Serial Number
    • Device Interface GUID

Source package includes many small example applications.

Linux users

If you have installed

and you still have an error about loading library, it may be needed to make a symlink to allow runtime load the library.

First, find the location of the library. For example :

sudo find / -name "libusb-1.0*.so*"
can give you :
Then go to the directory, and make the symlink. it should match the library name, with extension (.so) without version :
cd /lib/x86_64-linux-gnu
sudo ln -s

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.