6

我必须模拟 USB 设备以实现自动化和测试目的(在 Linux 中)。该设备的原始驱动程序/应用程序使用“libusb”与其通信。

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

提前致谢。

4

3 回答 3

2

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

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

于 2012-06-28T07:06:26.047 回答
0

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

谢谢, 阿比吉特

于 2012-06-09T05:05:12.000 回答
0

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

于 2013-07-10T01:03:02.260 回答