我刚开始在 Linux 中进行虚拟 USB 设备模拟。到目前为止,我已经按照本教程安装了虚拟主机控制 (vhci) 库 ( http://sourceforge.net/p/usb-vhci/wiki/Home/ ),并且可以看到正在创建的虚拟 USB 设备,该设备具有该库实现的一些典型规范(图像中的总线 05 与供应商和产品 ID 分别为“死的”和“牛肉”)。
但是,我希望创建的虚拟设备具有我手头的真实设备(例如鼠标)的规范。
那么如何使用与另一个设备相同的凭据来枚举和初始化虚拟 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/