我正在尝试将linux驱动程序写入具有Windows驱动程序的设备(类似于Here所述的情况,但设备不同)

我在Linux端使用Libusb进行通信,在Windows机器上使用SourceUSB作为USB嗅探器。现在我想我已经正确复制了控件和批量,但是我不能真正针对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下编译我的代码,从那里调试和比较日志
  • 相当容易

    最佳答案

    您可以使用Wireshark捕获USB流量。本页说明如何在Linux和Windows上执行此操作:CaptureSetup/USB

    07-28 02:57
    查看更多