jUSB: Java USB 

 About jUSB
 License (LGPL)

 Build Notes
 Java API (javadoc)
 C/C++ API
 Related Links

 USB Viewer
 Java USBD

SourceForge Services
 Project Page

Linux USB SourceForge Logo

About jUSB

This project provides a Free Software (and Open Source) Java API for USB, supporting applications using Java host-side software to drive USB devices. Right now it's of most interest to developers, but some basic tools (including jPhoto) have been developed. Read the API FAQ (and other links at left) for more information.

Although the bulk of this code works on any Java platform, access to USB devices currently requires that they be connected to a GNU/Linux host system. Your clients can be on other systems, if you like. The USB Host implementation works on most recent GNU/Linux distributions, either with the Linux 2.4 kernel support, or a backport of that into 2.2.18 kernel (and later). Of course, the 2.5 kernel works too. As one data point, the RedHat 7 distribution has worked without needing any patches or other upgrades.

The usb.core Applications Programming Interface (API) is supported by a Service Provider Interface (SPI) that abstracts implementation details from applications. Getting this software to work on another operating system should just mean writing new code implementing the SPI. Right now, there are two providers: the Linux one, and a preliminary RMI provider. Portions of a Win32 provider have also been written (but not submitted to the project).

News, 17 September 2003 OK, well the jUSB RPMs still aren't updated -- shoot me! But for all of you wanting jUSB/Windows support, there's software (source + binaries) available from Mike Stahl. (The content here isn't yet updated to use that code.)

News, 3 April 2003 We should be getting some updates soon, like an RH 9 RPM. Meanwhile, take a look at jSyncManager, an application using jUSB to synchronize with Palm PDAs.

News, 24 July 2002 Two interesting CVS updates. Win2K/XP starts; first code from Wayne Westerman (of Fingerworks). Adds usb.windows package; its javadoc is online (see link at left). Makefile now calls "uname -s" instead of relying on predefined symbol du-jour, so it builds on RedHat 7.3 and presumably many other systems (SuSE too).

News, 22 March 2002 Nothing much new to report, except that after a year or so the 2.4.19 prepatches (and 2.5.7 of course :) have the EHCI driver needed to support USB 2.0 device access. And yes, USB 2.0 devices are finally happening!

News, 14 February 2001 New 0.4.4 release from CVS, including initial USB 2.0 support.

News, 3 January 2001 CVS has some bugfixes to the RMI support, and also fixes some bugs in accessing interface descriptors.