usbip-rs

Crates.iousbip-rs
lib.rsusbip-rs
version0.1.0-rc1
created_at2025-11-17 18:07:12.13125+00
updated_at2025-11-17 18:07:12.13125+00
descriptionAn implementation of the entire Linux USB/IP userspace stack in Rust
homepagehttps://github.com/wowkster/usbip-rs
repositoryhttps://github.com/wowkster/usbip-rs
max_upload_size
id1937278
size100,336
Adrian Wowk (wowkster)

documentation

README

usbip-rs

A complete Rust rewrite of the Linux USB/IP userspace stack including:

  • usbip CLI tool (vhci_hcd/usbip_host)
  • usbipd server daemon (usbip_host)

[!WARNING] This project is still actively in development, so a lot about the library and CLI interfaces are subject to change

This rewrite aims to improve the user and developer experience when interacting with the usbip kernel modules (vhci_hcd and usbip_host) in several ways:

  • Rust lib crate to fulfill all the original CLI functions
  • New CLI features
    • Nicer argument parsing using clap
    • Improved output format that is easier to read and shows more data
    • JSON output mode for easy parsing
      • If usbip-rs-cli exits with code 0, stdout will contain a JSON object on a single line with a terminating new line (\n) character
    • Significantly improved error messages
    • Better debug logging using tracing
  • Legacy CLI output mode for backwards compatability with the original CLI interface
  • Better performance (does not read in hwdb on startup)
  • More secure (implemented in 100% safe rust using #![forbid(unsafe_code)])
  • Fixes some bugs in the original implemenation (like not being able to address more than 256 virtual device ports)

Planned Features

  • Async library API
  • VUDC integration
  • New userspace network protocol (authentication? might not be worth it without new kernel drivers too)
Commit count: 0

cargo fmt