linux - 使用 usb-vhci 创建自定义虚拟 USB 设备

标签 linux usb libusb

我刚开始在 Linux 中进行虚拟 USB 设备模拟。到目前为止,我已经按照本教程安装了虚拟主机控制 (vhci) 库 ( http://sourceforge.net/p/usb-vhci/wiki/Home/ ),并且可以看到正在创建的虚拟 USB 设备,该设备具有该库实现的一些典型规范(图像中的总线 05 与供应商和产品 ID 分别为“死的”和“牛肉”)。

USB Devices list

但是,我希望创建的虚拟设备具有我手头的真实设备(例如鼠标)的规范。

那么如何使用与另一个设备相同的凭据来枚举和初始化虚拟 USB 设备呢?

最佳答案

内核模块 (vhci-hcd) 只是一个可以附加虚拟设备的(虚拟)主机 Controller 。

如果您想模拟鼠标,您应该从同一源获取 libusb_vhci,并查看示例。这些只是最基本的起点,除了基本的 USB 设备处理之外什么也不做。您必须使用 USB HID 鼠标或您想要模拟的任何内容的所有描述符和协议(protocol)处理来扩展它。

http://www.usbmadesimple.co.uk/ums_5.htm应该是一个很好的起点。

您可以使用lsusb,特别是lsusb -D来转储已连接设备的描述符。

关于linux - 使用 usb-vhci 创建自定义虚拟 USB 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33341086/

相关文章:

linux - 在 Linux 中运行 R 脚本时等待用户输入

c - 错误 : Libtool library used but 'LIBTOOL' is undefined

c++ - USB 通讯接口(interface)

c++ - 如何检测 USB 驱动程序启用/禁用

c - 在 gtk 窗口中流式传输 libuvc 代码的过程是什么?

linux - 如何在 Ubuntu 上使用 Mongodb 27017 端口

python - os.setuid 不改变当前用户

go - ttyusb/uart 在传输过程中发送 'USB'

c - wValue 在通过 USB 与 "USB HID Red Visual Indicator"交互时扮演什么角色?

通过引用传递结构而不是指向缓冲区的指针的转换问题