模拟用于自动化的 USB 设备



我必须模拟USB设备以进行自动化和测试(在Linux中)。此设备的原始驱动程序/应用程序使用"libusb"与其通信。

我在 Linux 和模拟方面没有太多经验,经过一些搜索,我已经明白我需要在用户空间中编写内核级驱动程序和应用程序来模拟该设备。这是对的吗?如果是,如何做到这一点?

提前谢谢。

最后通过修改"libusb"来实现它,修改它以从消息队列而不是USBFS发送和接收USB传输。对我的模拟器进行了编程,以创建libsub类型传输并使用消息队列发送/接收它们。

模拟器现在解释传入的传输并将其发送到命令解析器,该解析器使用特定格式的套接字将请求/消息发送到自动化系统。自动化系统通过使用套接字发送到命令解析器来发送其指令。这个套接字调用特定于模拟器中每个请求的方法,现在模拟器形成适当的传输结构,并通过消息队列传递给设备插件(通过libusb)。

我认为您正在寻找的将称为虚拟USB设备。目前标准内核中没有任何内容。某些虚拟机提供 USB 仿真。例如KVM 提供 USB 仿真。有一个框架小工具,可以在其中寻找您的解决方案。或者在 Linux USB 项目中查找一些东西

谢谢阿比吉特

如果您希望以与真实硬件相同的方式将设备呈现给内核,则 usb-vhci 项目可能会有用。

最新更新