USB-IP is a protocol that allows you to share USB devices over a network between Linux and Windows computers. This lets you access USB devices connected to one computer from another computer on the same network. In this note, I'll explain how to set up USB-IP on both Linux and Windows servers and clients.

Linux USB-IP Server

On Linux, install the usbip package:

sudo apt install usbip

Also install linux-tools-generic and hwdata for additional USB utilities:

sudo apt install linux-tools-generic hwdata

Attach the USB device you want to share, then run:

sudo usbipd -D

This lists available USB devices to share. Note the busid of the device to share, then run:

sudo usbip bind --busid <busid>

The device is now bound to the server, ready for clients.

Linux USB-IP Client

On the Linux client, install usbip, linux-tools-generic and hwdata.

Load the vhci-hcd module:

sudo modprobe vhci-hcd

To connect to the shared device, run:

sudo usbip attach -r <server_ip> -b <busid> 

Where <server_ip> is the server IP and <busid> is the device busid. The device will now appear locally.

Windows USB-IP Server

On Windows, install the USB/IP Virtual USB Device Server. Run the app and share the desired USB device, noting its GUID.

Windows USB-IP Client

Install the USB/IP Virtual USB Device Driver on Windows.

To connect, run:

usbipd attach -r <server_ip> -b <device_guid>

Where <server_ip> is the server IP and <device_guid> is the device GUID

https://softwaretools.infineon.com/tools/com.ifx.tb.tool.ifxmotorsolutions?_ga=2.226202266.1053807768.1708601376-1675089823.1706177105