Thursday, January 14, 2010

libusb 1.0 Windows Backend

Here is a new development on the libusb 1.0 for Windows front now that libusb 1.0 already works under Linux and Mac OS X. Now the libusb-winusb branch (using WinUSB backend, good for XP, Vista and Windows 7, 32bit or 64bit) reached beta status. This may be a good alternative to the libusb-win32 project.

The benefits of this WinUSB backend is that it will work for 64bit Windows like Vista and Windows 7. The WinUSB backend will not support isochronous transfer. So it is not a complement replacement of libusb-win32 yet.

libusb-winusb will be integrated to the main libusb-1.0 tree (using git). Once it is mature, I think it will be very good replacement for libusb-win32. More backend will probably be added, like the HID backend (HID support) and the libusb-win32 device driver backend (isochronous support, Windows 2k support). When that happens, it can replace libusb-win32 (0.1 stable branch and the 1.0 development branch).

More information about libusb 1.0 Windows backend:
http://libusb.org/wiki/windows_backend

5 comments:

mat_the_w said...

Hello, Thanks for an excellent blog!

Do you know if it is possible to install the libusb 1.0 windows backend without copying the .dll and .lib into \windows\system32\? I am trying to work with PyUsb, so I think if perhaps I can tell PyUsb where to look for the .dll file, it might work?

Xiaofan said...

I would think copying the dll to \windows\system32 will be fine (for 32bit Windows). You do not need the lib file.

Richard Davis said...

I've tried using Libusb 1.0 with WinUSB to send vendor requests to a HID device (keyboard), but found this has two problems: the HID aspect of the device seems broken (pressing keys no longer does anything), and Windows 7 tends to overwrite the device driver with the standard HID driver after a little while. I've fallen back on using a filter driver for the time being.

Is this a consequence of using WinUSB with an HID device?

Xiaofan said...

If you use WinUSB driver, then the HID driver has to be replaced. So this is expected.

The direction of the libusb project is to drop the support of HID backend and recommended use is to use HIDAPI.
http://www.signal11.us/oss/hidapi/

Yamit Kashyap said...

I keep getting the following error:
ImportError: No module named backend.libusb10
can you please explain and tell me how to remove this error?