我正在尝试将linux驱动程序写入我拥有Windows驱动程序的设备(类似于此处描述的情况,但是设备不同)
我正在使用Libusb进行linux端的通信,而SourceUSB作为我的USB嗅探器(在windows机器上).现在我认为我已经正确地复制了控件和批量,但是我无法真正测试针对windows的linux日志.我正在VM上运行Ubuntu 12.04.
所以我的问题是:
有多平台记录器吗?这可以真正简化日志比较过程.
当我将USB设备连接到VM时 - 我在Windows中获得了VM驱动程序.嗅探这个设备可以准确地告诉我设备看到了什么,对吧?我的意思是 - 这是我想要嗅闻的地方吗?
编辑:我已经在Windows上编译了我的应用程序(libusb是跨平台的 - 非常感谢libusb开发人员做得很好)并且我的应用程序正常工作.
在Linux上运行我的应用程序时嗅探VM驱动程序时,我看到USB的请求为VENDOR_DEVICE而不是CONTROL_TRANSFER和BULK_OR_INTERRUPT.如果我理解正确,这似乎是问题,因为这是设备"看到"的内容.
所以我想我现在的问题是为什么Linux将我的请求作为供应商发送.
另一个编辑:问题解决了:
听VM驱动程序给了我错误的请求(我正在听VM驱动器流量,而不是我想要的,我的USB linux驱动程序的流量
Libusb完全是多平台的.我花了几分钟时间让我的代码在windows下编译,从那里调试和比较日志非常容易