From the USB/IP site:
- USB/IP Project aims to develop a general USB device sharing system over IP network. To share USB devices between computers with their full functionality, USB/IP encapsulates "USB I/O messages" into TCP/IP payloads and transmits them between computers.
The server should have the physical USB device connected to it.
Load the USB/IP kernel module:
$ sudo modprobe usbip_host
Start and Enable the USB/IP systemd service:
$ sudo systemctl start usbipd.service $ sudo systemctl enable usbipd.service
List the connected devices:
$ usbip list -l
Bind the required device. For example, to share the device having busid 1-1.5:
$ usbip bind -b 1-1.5
To unbind the device:
$ usbip unbind -b 1-1.5
After binding, the device can be accessed from the client.
Load the VHCI kernel module:
$ sudo modprobe vhci-hcd
List devices available on the server:
$ usbip list -r <Server IP Address>
Attach the required device. For example, to attach the device having busid 1-1.5:
$ usbip attach -r <Server IP Address> -b 1-1.5
A device can be disconnected only after detaching it on the client.
List attached devices:
$ usbip port
Detach the device:
$ usbip detach -p <Port Number>
Unbind the device on the server:
$ usbip unbind -b <busid>