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 在 硬件支持
每月 70 次下载
105KB
2.5K SLoC
usbip
一个用于运行 USB/IP 服务器以模拟 USB 设备的 Rust 库。
它还允许将支持 libusb 的操作系统(libusb 声称支持 Linux、macOS、Windows、OpenBSD/NetBSD、Haiku 和 Solaris)中的设备共享到支持 USB/IP 的另一个操作系统(Linux、Windows)。通过运行 gpg --card-status
测试了从 macOS 到 Linux 共享 CCID 智能卡。
如何使用
请参阅示例目录。提供了三个示例
- hid_keyboard:模拟每秒输入一些内容的 hid 键盘。
- cdc_acm_serial:模拟每秒获取一个字符的串行设备。
- 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