usbip

Share USB devices over IP networks

TLDR

List local devices
$ usbip list -l
Bind device on server
$ sudo usbip bind -b [bus_id]
Load kernel module on client
$ sudo modprobe vhci-hcd
Attach to remote device
$ sudo usbip attach -r [ip_address] -b [bus_id]
List attached devices
$ usbip port
Detach from device
$ sudo usbip detach -p [port]
Unbind device
$ usbip unbind -b [bus_id]

SYNOPSIS

usbip COMMAND [OPTIONS]

DESCRIPTION

usbip enables sharing USB devices over IP networks. Devices can be exported from a server and attached to clients as if they were locally connected.The server runs the usbipd daemon and binds devices for sharing. Clients load the vhci-hcd kernel module and attach to remote devices.

PARAMETERS

-l, --local

List local devices
-r, --remote IP
Remote server address
-b, --busid ID
Device bus ID
-p, --port PORT
Port number for detach

COMMANDS

list

List USB devices
bind
Bind device for remote sharing
unbind
Unbind device from sharing
attach
Attach to remote USB device
detach
Detach from remote device
port
Show attached remote devices

INSTALL

sudo apt install usbip
sudo dnf install usbip
sudo pacman -S usbip
sudo apk add linux-tools-usbip
sudo zypper install usbip

CAVEATS

Requires kernel modules on both server and client. Network latency affects device performance. Not suitable for high-bandwidth devices. Security depends on network configuration.

SEE ALSO

lsusb(8), modprobe(8)