USB library

Russell Taylor edited this page Mar 30, 2015 · 1 revision

USB Library Used by VRPN

There are a number of projects that call themselves LibUSB, which can cause some confusion.

  • LibUSB 0.1 appears to be the basis for a number of forked packages. libusb-dev is the Debian package that installs this under Ubuntu.
  • LibUSB-win32 is a fork of LibUSB 0.1 that works under Windows. It is API backward-compatible with the earlier version and includes new isochronous modes not present in it. It is planned to be ported back into the LibUSB 1.0 library in the future.
  • LibUSB 1.0 lives at http://libusb.sourceforge.net. libusb-1.0-0-dev installs the developer files that we need to use this on Ubuntu. It is a rewrite that runs in Linux and OSX and is being ported to Windows.

VRPN, uses LibUSB 1.0. The direct link to this is project description is http://www.libusb.org/wiki/libusb-1.0.

LibUSB-1.0

VRPN USB drivers that provide direct access to non-HID USB devices sometimes use LibUSB to do so. This page describes how get devices working with LibUSB so that they can be opened by VPRN. If you're writing a new driver for VRPN that is a non-HID driver, please use LibUSB so that we can all use the same cross-platform USB code going forward.

Linux

To develop under Ubuntu, you need the libusb-1.0-0-dev package (apt-get install libusb-1.0-0-dev). To run and connect to USB devices under Ubuntu, you need the libusb-1.0-0 package (apt-get install libusb-1.0-0).

Windows

The Wiki describing the current status of this the Windows port of LibUSB-1l0 is at http://www.libusb.org/wiki/windows_backend. As of 12/6/2010, there is support for Windows in LibUSB-1.0 in the Git source tree, but not in the released source-code version.

There are binary snapshots available at the above link that will install the needed files to compile and link. There are also instructions there on how to install a driver (required) to make a non-HID device work with the library.