【发布时间】:2014-01-03 04:28:16
【问题描述】:
我正在研究可用于创建虚拟 USB 设备(例如,键盘或大容量存储设备)的选项,以便根据需要模拟其功能和以允许用户空间应用模拟其随意插入/移除。
我不清楚的是如何模拟插入/移除。似乎一种选择是模拟(虚拟)USB集线器并让它伪造设备到达/离开事件(我还将为我的虚拟USB设备提供设备驱动程序,这就是我的设备逻辑所在的位置)。
我了解 Windows 内核(编写过 NDIS 微型端口驱动程序),不怕 SoftICE,但 USB 不是我的领域,只是从它开始。
我是否在使用虚拟中心方法的正确轨道上?如果支持,是否正在开发 WDK 支持的虚拟集线器驱动程序(似乎不支持)?
还有其他选择吗?
--
(编辑)忘了提 - 我知道 DSF,但它是 W8 上的not supported。
【问题讨论】:
-
你看过 USBIP 项目(在 sourceforge 上)吗?他们的 USB over IP 实现正是这样做的,并且他们提供了非常稳定的 Windows 驱动程序!您最终可能会编写一个 USB/IP 服务器作为更简单(并且网络透明作为奖励)的替代方案。
-
呃!我知道这个项目,但我不知道为什么我没有研究他们如何模拟设备插入/移除。很有帮助,尤金。非常感谢。
-
Angstrom,我可能已经忘记了自己,如果我不久前只是在玩弄它:两个 USB 设备,都使用完全相同的芯片,但 VID/PID 不同 - 一个供应商提供没有适用于较新 Windows 版本的驱动程序,另一个则有,但硬锁定到 VID/PID ... 简单地修补 USBIP 以即时更改 VID/PID,问题已解决。
-
Elegant :) 你在 W8 中测试过吗?
-
TBH:我们的软件都不支持 W8(或 Vista)。仅支持可用的 Windows 版本。我们的客户对此非常满意。明天我可以向这些人询问有关 W8.1 的情况并回帖。前面提到的补丁是在服务器端完成的。
标签: windows usb virtual drivers