Thursday, April 28, 2011

OpenUSB is alive again

After a long gap, Michael Lewis just announced the release
of OpenUSB 1.1.1.


Highlights of the release:
1) Removed the HAL/DBUS dependency for hotplug events.
2) Improved kernel version checking for the bulk continuation flag.
3) Improved support for zero byte transfers
4) Changed the maximum control transfer size to 4096

According to Michale, these changes are primarily in response to making OpenUSB compatible with the latest distributions.

Compared to libusb-1.0, OpenUSB is not used by many projects. However, it does have two advantages compated to libusb-1.0. It also claims to have better multi-threading support.
1) Hotplug support
2) Solaris support

libusb-1.0 is more widely used and the Windows backend will bring even more users for libusb-1.0. However, it is also good to see that OpenUSB is still alive. If Windows support for OpenUSB is done within a reasonable timeframe, then it would be even better.


Thibaut said...

Have a few questions about libusb VS openusb

I'm the author of a fairly popular project called Berry4all that allows tethering for Blackberries Via USB.

Cuurrently i'm using libusb-0.x and i'd like to migrate to either libusb1.x OR libopenusb ... but I'm not sure which to pick

Some of the things i'd like to now:
- Mac OSX support
- Python bindings

Opinions on either

Xiaofan said...

Please use libusb-1.0, no doubt about it. pyusb is great as the Python bindings for libusb-0.1 and libusb-1.0. It does not support OpenUSB yet.

For Mac OS X support, both claim to support Mac OS X. But since libusb-1.0 is more active and got more users, you should go to libusb-1.0.