Client and their Business Need
Customer wanted to virtualize a USB microphone (connected to a remote device) on a Win 10 PC via Ethernet/Wi-Fi, so that a user can talk to a Win 10 PC via the virtual microphone via Ethernet/Wi-Fi.
Inspirisys designed and developed a solution for this requirement. We used USBIP technology for virtualizing the USB microphone on the Win10 PC. USB/IP encapsulates "USB I/O messages" into TCP/IP payloads and transmits them between computers. In Win 10 client host, the Virtual USB Bus Driver emulates a real USB hub driver for virtual attachment/detachment, enumeration and initialization of remote USB devices. It encapsulates USB request blocks and then transmits USB/IP requests to remote server hosts via the Windows USBIP client. In a server host (Used Raspberry Pi Linux server), the Stub driver is implemented as a USB per-device driver. The Stub driver converts USB/IP requests into USB requests and then submit them to real USB devices. The server host has physical USB devices which are exported to a client host. The client host imports a USB device virtually; the client host may not have a real USB device.
The microphone can be connected in one single USB hub and can be accessed from a Win 10 PC on the same network avoiding the need for these devices to be physically present in the same PC.