Thanks for the debug. Looking at the urb values, I think this is a bug in libusb, triggered by your system supporting bulk continuation. In argyll/libusb1/libusb/os/linux_usbfs.c line 1402, change: if (supports_flag_bulk_continuation) urb->flags = USBFS_URB_SHORT_NOT_OK; to if ((urb->endpoint & LIBUSB_ENDPOINT_IN) && supports_flag_bulk_continuation) urb->flags = USBFS_URB_SHORT_NOT_OK; and see if this fixes the problem. Graeme Gill.