usbip is a tool that enables sharing of USB devices remotely. E.g. a server has a usb keyboard connected to it.
start daemon: uspipd -D
use e.g. usbip list --local` to list usb devices which can be bound. on server, bind a device with e.g. `usbip bind --busid=1-1.3` then on client `usbip attach -r 192.168.0.x --busid=1-1.3
had to run on usbip server (from https://bbs.archlinux.org/viewtopic.php?id=186112):
modprobe usbip_core
modprobe usbip_host
on client, had to also run:
modprobe vhci-hcd
the pain here is that sometimes I'll put on my headset, grab my keyboard, and realise my keyboard isn't connected. If I'm not at my computer, I then have to either use Immersed/VR mouse input to run the commands to attach the keyboard, or connect with nomachine or similar and launch it that way.
Initially, I'd try keep the commands and terminal open so all I'd have to do is switch to the terminal, and press the up key.
Then I wanted to start attaching multiple devices, including security keys, so I created a script to make it easier to attach USB devices, see uip.sh.