workaround attempt for USB timeout, using select() delays.
lengthed read to match axi buffer size