39

我团队的其他成员将为我的应用程序制作一个简单的非标准 USB 麦克风,但在他们完成之前,我必须模拟它,以进行集成测试。

  1. 物理环回是否有任何风险? 就在这里
  2. 物理环回会起作用吗?仅使用USB 桥接器
  3. 有什么方法可以创建逻辑环回?(MSDN 对此有所了解
  4. 有没有通用的USB仿真器软件?

如果有很多可用的选项,我宁愿使用 .NET/Matlab/Python 解决方案。

4

2 回答 2

19

编辑:这里的概念证明

我强烈推荐这个项目,USB IP。它是一种通过网络连接 USB 设备的方法。有一个 Windows 客户端。

这意味着,您将客户端安装在 Windows 计算机上。然后,该设备希望与连接到 Linux 计算机(服务器)的 USB 设备通信: USB IP 客户端如何连接到 USB IP 服务器的图表

你现在要做的,要么为 Linux 创建一个假的设备驱动程序,看起来像连接到物理 USB 设备,但实际上只是假装是你的 USB 设备的逻辑。有为Linux 编写 USB 驱动程序的教程或者您为设备控制管理器创建自己的存根驱动程序(见上图)。这个存根驱动程序可以在 Windows 或 Linux 上运行,没关系。它甚至可以在作为 USB 客户端的同一台 Windows 机器上运行。

问题本身中提到的DSF USB 环回设备将是与设备控制管理器的存根驱动程序相同的解决方案,但将 Linux 完全排除在外。

于 2009-12-16T11:34:07.133 回答
2

您可以使用 QEMU 编写虚拟 USB 设备。您可以复制已经存在的设备,例如在这个QEMU 存储库中找到的 dev-serial.c,并根据您的需要进行更改。
编写和编译 USB 设备后,您只需使用 QEMU 命令行界面将其附加到 VM。

于 2014-08-22T23:07:18.560 回答