Linux 2.6.32 adds support for a bulk continuation URB flag. this should be set
on all URBs in the transfer except the first. also set the SHORT_NOT_OK flag on
all of them, to raise error conditions on short transfers.

Looking at the log, it may be possible that the driver depends on incomplete
multi-part bulk reads. Let's wait for the libusb0 debug log.

Please let me know, which kernel you used for making logs you attach. If there
will be any need, we can try to switch betweel 2.6.31 and 2.6.32.

Regarding comment 12 - build against new libusb:

No, it is not possible to build the driver against new libusb. New libusb
require rewrite of USB code.

Such rewrite would be possibly smaller and more error-proff, but the rewrite is
not a topic for this bug.

This bug solution requires improvement of libusb-compat (+libusb1) behavior to
behave more exactly like libusb0. If it will be done, original driver should
start to work again.

It will possibly fix other driver for different devices. We must do it anyway -
there are too many proprietary programs, that depend on exact behavior of
libusb0. We should emulate it as good as possible.