Friday, December 21, 2007

fpusb -- Another libusb-0.1 replacement under Linux

http://reactivated.net/fprint/wiki/Fpusb

The author is trying to solve the problems of libusb-0.1 but not going to use OpenUSB which is more ambitious.
  • Isochronous endpoint I/O
  • Asynchronous I/O with per-URB style callbacks
  • Zero threads (lightweight, uses main thread of calling application)
  • Exposure of poll fds to applications for good main loop integration
Right now it only works under Linux but it looks promising. Anyway, there is not much development of libusb-0.1 and libusb-1.0 now. OpenUSB is only partially working under Linux and Solaris right now.

What I am really hoping to have is a real cross platform HID API. libhid is supposed to be the one, unfortunately it is not really cross-platform.

libhid: http://libhid.alioth.debian.org/
libusb: http://libusb.sourceforge.net/
libusb-win32: http://libusb-win32.wiki.sourceforge.net/
OpenUSB: http://openusb.sourceforge.net/wiki/

2 comments:

Andrés Aguirre said...

Hi, we have develop a generic USB linux driver that support Bulk and Isoch transfers. It could be downloaded from http://www.fing.edu.uy/~pgusb/Src/driver_linux_isoch.zip
and there are some examples in http://www.fing.edu.uy/~pgusb/Src/driver_tests.zip.
It is implemented as a kernel module, but the interaction is left for the user space, where the user comunicates with it using IOCTL calls.

Andrés Aguirre said...

We have develope a USB generic driver for linux that support bulk and isoch transfers. It is implemented as a kernel module, but all interaction is left to the user mode using ioctl calls. The driver could be downloaded from http://www.fing.edu.uy/~pgusb/Src/driver_linux_isoch.zip and some examples from http://www.fing.edu.uy/~pgusb/Src/driver_tests.zip