代码之家  ›  专栏  ›  技术社区  ›  Jader Dias

如何模拟USB设备?

  •  34
  • Jader Dias  · 技术社区  · 15 年前

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

    1. 物理环回有风险吗? Yes there is
    2. 物理环回可以工作吗? 只有用 USB bridge
    3. 有什么方法可以创建逻辑环回?( MSDN has something about this )
    4. 有通用的USB仿真器软件吗?

    如果有很多可用的选项,我宁愿使用.net/matlab/python解决方案。

    2 回复  |  直到 6 年前
        1
  •  19
  •   Prof. Falken    9 年前

    编辑:概念证明 here

    我强烈推荐 this project, USB IP . 它是通过网络连接USB设备的一种方式。有一个Windows客户端。

    这意味着,您可以在Windows计算机上安装客户端。 然后,该设备将与连接到Linux计算机的USB设备进行通信,服务器: diagram over how a USB IP client connects to a USB IP server

    你现在做的是 任何一个 为Linux创建一个假设备驱动程序,看起来像是连接到一个物理的USB设备,但实际上只是逻辑上的假设备。有 tutorials for writing USB drivers for Linux . 您可以为设备控制管理器创建自己的存根驱动程序(参见上图)。这个存根驱动程序可以在Windows或Linux上运行,这无关紧要。它甚至可以在 相同的 是USB客户端的Windows计算机。

    这个 DSF USB Loopback Device 在问题本身中提到,这将是与设备控制管理器的存根驱动程序相同的解决方案,但是将Linux从图片中去掉。

        2
  •  1
  •   Yaron Shani    10 年前

    您可以使用qemu编写虚拟USB设备。 您可以复制已经存在的设备,如中找到的dev serial.c this QEMU存储库并根据您的需要进行更改。
    在编写和编译USB设备之后,您可以使用qemu命令行界面将其简单地附加到您的虚拟机上。