我正在寻找一些关于如何发送USB HID小工具的功能报告的指导。
这对我来说似乎是一个解决方案,但我不知道如何使它工作:
如何通过Linux USB_GADGET将功能报告发送到HOST_PC
如何实施/使用此修补程序?有没有更熟悉内核驱动程序/configfs的人能给我指出正确的方向?
我有完全相同的情况下,作为链接的问题,需要一个HID小工具设备来回复主机的功能报告请求。第三方应用程序使用报告轮询固件版本信息,所以我需要回复,使其高兴,并认为这是原来的硬件。
我已经用链接中的补丁f_hid. c驱动文件重新编译了我的内核,但是我不知道如何/在哪里填充报告数据。我是一个代码新手,但看起来我应该看到configfs文件/属性。我没有得到任何新的configfs文件下的小工具的示例虽然。
1条答案
按热度按时间hgc7kmma1#
想明白了我有两个问题。首先是内核重建没有完全清理,模块实际上没有重新编译以包含补丁。在usb_f_hid.ko文件中使用字符串发现了这个问题,我没有看到列出的新函数。重新编译后,config_fs确实在小工具的HID函数下显示了“feature_report”文件。
这让我发现了第二个问题,这对任何使用链接帖子补丁的人来说都很重要。如果您创建的HID设备需要不同ID下的多个功能报告,则此实现要求将每个报告单独写入feature_report文件的顶部,并将每个条目添加到列表中。在我的情况下,我有两个报告(ID 5和ID 7),一个是固件版本,另一个是设备SN的重复。第三方软件需要在两者上获得响应以识别设备。
非常感谢narek-aydinyan分享他的原始解决方案。如果没有那个补丁我永远也不会让它工作。