On modern Linux distros, using the libusb interface fails:
$ u3-tool -i scan
u3_partition_info() failed: Failed executing scsi command: Could not read data from device
usb_bulk_read() is succeeding with the unpadded number of bytes; don't fail on this, but fail if nothing is read, or error.
Patch addressing libusb read failure on modern Linux systems