| Crates.io | nusbip |
| lib.rs | nusbip |
| version | 0.7.5 |
| created_at | 2025-11-19 02:57:18.243169+00 |
| updated_at | 2025-11-24 03:28:40.736455+00 |
| description | A forked library to run USB/IP server based on nusb |
| homepage | |
| repository | https://github.com/NessajCN/nusbip |
| max_upload_size | |
| id | 1939354 |
| size | 155,979 |
A Rust library to run a USB/IP server to simulate USB devices.
It also enables sharing devices from an OS supporting libusb(libusb claims that it supports Linux, macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris) to another OS supporting USB/IP(Linux, Windows). Sharing an CCID SmartCard from macOS to Linux is tested by running gpg --card-status.
See examples directory.
To run example, run:
$ env RUST_LOG=info cargo run --example host
You need to be the root user to run the example. Or you could
$ cd nusbip/
$ cargo b
$ sudo RUST_LOG=info target/debug/nusbip
Then, in a USB/IP client environment:
$ usbip list -r $remote_ip
$ usbip attach -r $remote_ip -b $bus_id
Then, you can inspect the simulated USB device behavior in both sides.
Based on nusb (pure Rust library) instead of rusb(libusb wrapper).
See code comments. Not finalized yet, so get prepared for api breaking changes.