Limit ms_tdiff to 1 hour as a sanity check.
Use libusb's own error name function instead of hand coding the error names.
Display errors on failed usb read and write and consider sequential IO errors a permanent failure.