Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何调试未附带驱动程序的USB HID设备?_Usb_Driver_Hid - Fatal编程技术网

如何调试未附带驱动程序的USB HID设备?

如何调试未附带驱动程序的USB HID设备?,usb,driver,hid,Usb,Driver,Hid,我有一个,但它没有任何驱动程序(只是一个直接与之通信的Windows程序) USB Fidget 供应商ID:0x1d34 产品ID:0x0001 产品名称:DL100A梦想厚脸皮通用控制器 因此,我希望能够读取按钮是否被按下。我的主要开发环境是Mac,但我希望解决方案也能在Windows上运行。因此,理想情况下,跨平台解决方案是最好的 我可以找到同一制造商的其他设备,但产品ID存在差异,因此代码不起作用,我不了解如何更改供应商/产品以外的任何内容 据我所知,我需要用功能请求包轮询USB设备 是

我有一个,但它没有任何驱动程序(只是一个直接与之通信的Windows程序)

USB Fidget
供应商ID:0x1d34
产品ID:0x0001
产品名称:DL100A梦想厚脸皮通用控制器

因此,我希望能够读取按钮是否被按下。我的主要开发环境是Mac,但我希望解决方案也能在Windows上运行。因此,理想情况下,跨平台解决方案是最好的

我可以找到同一制造商的其他设备,但产品ID存在差异,因此代码不起作用,我不了解如何更改供应商/产品以外的任何内容

据我所知,我需要用功能请求包轮询USB设备


是否有一些软件可用于“观看”USB设备,以便在按下按钮时看到实际发生的情况?如果没有,我自己怎么写呢?

基本上是在MacOs上,大量的usb设备通过iUserClient工作。这个标准类为用户模式程序提供了在没有内核模式驱动程序的情况下控制设备的能力(通过使用IOKit框架的usermode部分)。要嗅探usb数据包,可以使用usb Prober,从本文开始


在windows standart方式上-standart USB驱动程序+standart HID驱动程序,如果没有在standart上开发一些附加功能,则不需要特定的供应商驱动程序。你可以使用任何商业或免费软件工具来嗅探usb数据包,就像这个一样,基本上是在MacOs上,大量的usb设备通过iUserClient工作。这个标准类为用户模式程序提供了在没有内核模式驱动程序的情况下控制设备的能力(通过使用IOKit框架的usermode部分)。要嗅探usb数据包,可以使用usb Prober,从本文开始


在windows standart方式上-standart USB驱动程序+standart HID驱动程序,如果没有在standart上开发一些附加功能,则不需要特定的供应商驱动程序。你可以使用任何商业或免费软件工具来嗅探usb数据包-就像这个

我不知道任何跨平台的方法来处理它。这是我向大家介绍如何为随机的HID硬件创建驱动程序应用程序的演示:


我不知道有什么跨平台的方法来处理它。这是我向大家介绍如何为随机的HID硬件创建驱动程序应用程序的演示:


用于测试/访问HID设备,即

  • 获取功能报告(matt的原始问题)
  • 发送功能报告
  • 发送输出报告
  • 接收输入报告
我建议您使用大型跨平台HID库中包含的“HIDAPI测试工具”/“testgui”

在Windows上,编译testgui应用程序需要额外的代码,但它非常简单,GUI工具比我看到的其他代码示例和工具更直观。(如果允许我发布此版本的VS2008编译版本,我可以交叉检查。)


发送输出报告和接收输入报告的另一个免费选项是我们自己的“Docklight”工具(在评估模式下,无限制时间,无需存储),请参阅

用于测试/访问HID设备,即

  • 获取功能报告(matt的原始问题)
  • 发送功能报告
  • 发送输出报告
  • 接收输入报告
我建议您使用大型跨平台HID库中包含的“HIDAPI测试工具”/“testgui”

在Windows上,编译testgui应用程序需要额外的代码,但它非常简单,GUI工具比我看到的其他代码示例和工具更直观。(如果允许我发布此版本的VS2008编译版本,我可以交叉检查。)


发送输出报告和接收输入报告的另一个免费选项是我们自己的“Docklight”工具(在评估模式下,无限制时间,无需存储),请参阅

USB Prober向我显示了很多信息,包括我需要检查的中断端点。但无论按钮的状态如何,信息都是相同的。所以我仍然不知道如何继续。将检查Windows软件…需要使用日志记录支持编译IousbFamily。IOKit在驱动程序堆栈中不提供过滤功能=(.Windows方法是最简单的couseUSB Prober向我显示了很多信息,包括我需要检查的中断端点。但无论按钮的状态如何,信息都是相同的。因此我仍然不知道如何继续。将检查Windows软件…需要通过日志支持编译IousbFamily。IOKit不在驱动程序堆栈中提供过滤功能=(.Windows方法是最简单的。编写HID驱动程序的主要部分从幻灯片44开始。谢谢,我下载了PDF。我在上面链接的Ruby代码方面也取得了一些进展。我在Windows中进行了一些嗅探,找到了设备返回的值。因此,现在只需使用l跨平台包装信息ibusb.@Thannorton您是否有您在演示文稿中展示的示例的实际源代码?编写HID驱动程序的主要部分从幻灯片44开始。谢谢,我已经下载了PDF。我在上面链接的Ruby代码方面也取得了一些进展。我在Windows中进行了一些嗅探,找到了设备返回的值。所以现在我这只是一个使用libusb跨平台包装信息的问题。@thannorton您是否碰巧拥有您在演示中展示的示例的实际源代码?