A Rust library to run a USB/IP server to simulate USB devices and share real USB devices over a network.
USB/IP is a network protocol that allows USB devices to be shared between computers over a network. It enables:
Install Rust from the official documentation.
git clone https://github.com/jiegec/usbip.git
cd usbip
cargo build --release
The examples/ directory contains three example programs:
cargo run --example hid_keyboard
On the client machine (e.g. Linux with USB/IP support):
# List available devices
usbip list -r $remote_ip
# Attach to a device
usbip attach -r $remote_ip -b $bus_id
MIT License - see LICENSE file for details.