For very special project I need to transfer data from a USB device to another system remotely as RAW "commands".
The source device is something like a security dongle (not exactly but is a good example to explain the problem) with its own protocol based on USB with is own device driver both on windows and linux and with a medium transfer rate (about 50% of USB2 specification ~200Mbit/s).
The destination system, is reachable only from a specific WiFi network that is isolated from the wired network.
So, without using another PC, I need a way to "Emulate" the source USB device on the destination device without possibility to connect physically to the destination system.
My idea is to build something like a "repeater" using two Arduino as Source and destination. So I will have two Arduino devices with wifi shield, one with the original dongle connected and another one connected to destination device as HID Host.
Now, I've three questions:
-
Already exists some solution (DIY with schematics is preferable) that solve my problem?
-
If nothing exists, do you think that this solution will work?
-
What is the best way to accomplish this task at software level? like some library for Arduino that will simplify my work, something like "Read/Write Raw data from USB and send it over the wifi shield attached to Arduino.
Best Answer
That would be very hard to acieve on a wifi link. Most WiFi equipment ships with a 100MBps Ethernet port, even 300MBit Wifi cannot saturate it.
Arduino only supports 12 MBit/s USB Full speed. If your original data rate estimate is correct, you need beefier equipment that actually supports USB2.0 High Speed.