more clean up
refactor

move readpipe into separate functions
don't separate bulk reads, usb_bulk_msg can do it for us