USB Redirector Open Source
USB/IP is a simple and popular free open source USB redirector.
The goal of the USB/IP Project is to develop a general system of USB device sharing over IP networks. Data is transmitted by encapsulating the I/O messages from USB devices into TCP/IP messages that can be used for communication between computers.
USB/IP Design Overview
The tool enables the original USB applications and device drivers to be used without modification by remote devices.
As illustrated in the accompanying diagram, the VHCI (Virtual Host Controller Interface) driver is configured as a USB host controller driver on the client machine.
The role of the VHCI is to enable the connections, enumeration, and initialization of remote USB devices by emulating a physical host controller driver. It takes the request blocks generated by USB devices and encapsulates them into USB/IP requests which are sent to remote servers.
The Stub driver on the server host receives the transmission and turns it back into USB requests that are communicated to physical USB devices.