关于自定义set report的请求操作可参考:https://blog.csdn.net/xqhrs232/article/details/79525793

而USB Key、usb声卡等作为HID设备,前提要根据实际使用情况配置好内核。一般只有0号控制端点和一个中断输入端点(例如3号),这些端点可在加载完内核之后看到,如下所示。对于中断端点,可以用usb_interrupt_msg(其实就是usb_bulk_msg)函数进行访问;

1.控制端点

对于控制端点(一般默认端点0),除了数据,需要构造一个8字节的setup包。有关setup包的详细结构,可以参考USB和HID规范。获取setup包具体数值最简单的方法,就是在Windows环境下用BusHound观察USB Key的通信过程。通讯过程(控制传输)如下图:

Linux下   /dev/hidraw0是通用的控制通道。

2./dev/hidraw0配置

如果没有hidraw设备节点,可参考这个:
https://blog.csdn.net/qq_33750826/article/details/78952249

hidraw的参考文档:https://www.kernel.org/doc/Documentation/hid/hidraw.txt
————————————————
版权声明:本文为CSDN博主「忧愁的awe」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/DFSAE/article/details/81876573

3.set_report

我们设置set report按照以下这个去设:

当然,最好以实际抓到的数据为准。推荐用wireshark抓包。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐