10 个版本 (6 个重大变更)

0.7.1 2024年1月14日
0.7.0 2023年12月30日
0.6.0 2023年2月22日
0.5.0 2022年4月11日
0.2.1 2020年6月15日

#308硬件支持

Download history 24/week @ 2024-07-02 37/week @ 2024-07-23 33/week @ 2024-07-30

每月 70 次下载

MIT 许可证

105KB
2.5K SLoC

usbip

Coverage Status crates.io

一个用于运行 USB/IP 服务器以模拟 USB 设备的 Rust 库。

它还允许将支持 libusb 的操作系统(libusb 声称支持 Linux、macOS、Windows、OpenBSD/NetBSD、Haiku 和 Solaris)中的设备共享到支持 USB/IP 的另一个操作系统(Linux、Windows)。通过运行 gpg --card-status 测试了从 macOS 到 Linux 共享 CCID 智能卡。

如何使用

请参阅示例目录。提供了三个示例

  1. hid_keyboard:模拟每秒输入一些内容的 hid 键盘。
  2. cdc_acm_serial:模拟每秒获取一个字符的串行设备。
  3. host:模拟原始 usb/ip 共享服务器,从一个机器共享一个设备到另一个机器。还支持从 macOS 到 Linux 的共享!

要运行示例,请执行以下操作

$ env RUST_LOG=info cargo run --example hid_keyboard

然后,在 USB/IP 客户端环境中

$ usbip list -r $remote_ip
$ usbip attach -r $remote_ip -b $bus_id

然后,您可以检查模拟 USB 设备在两边的操作行为。

API

请参阅代码注释。尚未最终确定,因此请准备好 API 破坏性更改。

依赖关系

~5–14MB
~161K SLoC