我正在尝试将linux驱动程序写入具有Windows驱动程序的设备(类似于Here所述的情况,但设备不同)
我在Linux端使用Libusb进行通信,在Windows机器上使用SourceUSB作为USB嗅探器。现在我想我已经正确复制了控件和批量,但是我不能真正针对Windows来测试linux日志。我在VM上运行Ubuntu 12.04。
所以我的问题是:
编辑:
我已经在Windows上编译了我的应用程序(libusb是跨平台的,这要感谢libusb开发人员的出色工作),并且我的应用程序可以正常工作。
在Linux上运行我的应用程序时嗅探VM驱动程序时,我看到对USB的请求是VENDOR_DEVICE,而不是CONTROL_TRANSFER和BULK_OR_INTERRUPT。如果我理解正确,这似乎就是问题所在,因为这是设备“看到的”东西。
所以我想我现在的问题是,为什么Linux以供应商的身份发送我的请求。
另一个编辑:解决的问题:
最佳答案
您可以使用Wireshark捕获USB流量。本页说明如何在Linux和Windows上执行此操作:CaptureSetup/USB