Use an internal buffer in _usb_transfer_read in case the read is larger than the buffer passed to it.