I would like to use my raspberry pi as a USB bridge between multiple devices. We can assume that I want to connect my iPad which has POS software on it to my thermal printer. Most of star or Epson thermal printers can be recognized by iOS since they have MFi certification (It doesn't mean they have to be AirPrint compatible because they are not, they can be detected when they will be connected to iOS by lightning cable.). I would like to put my Raspberry Pi in the middle and act as they cannot see there is a device between them so technically iOS will detect printer as usual. In this case, I wanted to use USB monitoring packages to see what is happening between iPad and printer in terms of transferring data. I would be very happy if you can share your experience and ideas on this subject.enter image description here


Have a look at libusb. It'll send USB packets as network packets, and on the client (iPad, in your case), a driver will make it appear as of those packets come from a real USB device.

While OS X is among the supported platforms, I'm not sure if you can install the client directly on the iPad; you may have to root the iPad first.

If that is not possible, and if you need to connect the RaspPi via USB to the iPad, you'll need a RaspPi (or similar device) that has an USB OTG port which can act as an USB device towards the iPad (USB is not symmetrical).

There has been software like USBproxy which implements such a man-in-the-middle (MITM) function on a BeagleBone, but I don't know if it has been ported to a RaspPi.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.