HID规范
+ -

HID 类特定请求

2021-11-26 6952 11

HID是USB的一个分支,所以当然也支持相应的USB标准请求,如GET_DESCRIPTORSET_CONFIGURATION等,也支持自己特有有的一些类特定类请求(Class-Specific Requests)。

USB标准请求的数据结构

USB标准请求的个字节分为5个部分,其变量哉分别定义为: 1字节的bmRequestType,1 字节的bReqest,2字节的wValue,2字节的wIndex和2字节的wLength.

1字节 1字节 2字节 2字节 2字节
bmRequestType(1) bRequest(1) wValue(2) wIndex(2) wLength(2)

HID 类特定请求

我们知道,当bmRequestType字段的D6-D5,命令的类型为01时,表示类请求命令。

  • D6-D5,命令的类型
  • 00 = 标准请求命令
  • 01 = 类请求命令
  • 10 = 用户定义的请求命令
  • 11 = 保留

HID支持的类特定请求bRequest包括:

bRequest
GET_REPORT (1) 0x01
GET_IDLE 0x02
GET_PROTOCOL(2) 0x03
Reserved 0x04-0x08
SET_REPORT 0x09
SET_IDLE 0x0A
SET_PROTOCOL (2) 0x0B
  • (1):所有设备支持
  • (2):仅用于boot device
bmRequestType(1) bRequest(1) wValue(2) wIndex(2) wLength(2) 数据过程
0xa1 GET_IDLE(2) 高字节报告类型(01:输入;02:输出,03:特性),低字节为报告ID. 接口ID 数据长度 数据
0xa1 GET_REPORT(1) 高字节报告类型(01:输入;02:输出,03:特性),低字节为报告ID. 接口ID 数据长度 数据
0xa1 GET_PROTOCOL(3) 0 接口ID 1 0表示引导协议,为1表示报告协议
0x21 SET_REPORT(9) 高字节报告类型(01:输入;02:输出,03:特性),低字节为报告ID. 接口ID 数据长度 数据
0xa1 SET_PROTOCOL(0b) 数据为0表示引导协议,为1表示报告协议 接口ID 0 无数据
0x21 SET_IDLE(0a) 高字节用于指定空闲速率,以4ms为单位,可选的值为4ms~1020ms,低字节为ReportId 接口ID 0 无数据
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB标准请求、类特定请求总结
做USB开发,最常见的就是USB的控制请求的那8个字节的分析,如果抓包工具有协议分析那还好说,但是如果不带速协议分析,那其实还是挺郁闷的。所以说,如何快速的通过USB请求的那几个字段定位出是何请求,是可以大大的提高我们的协议分析效率的。USB的请求这里包括USB的标准请求和特定类请求,其包括以下几......
HID 类特定请求
HID是USB的一个分支,所以当然也支持相应的USB标准请求,如GET_DESCRIPTOR、SET_CONFIGURATION等,也支持自己特有有的一些类特定类请求(Class-Specific Requests)。USB标准请求的数据结构 USB标准请求的个字节分为5个部分,其变量哉分别定义为......
DFU 类特定请求
DFU类特定请求用于完成升级操作。 下表总结了 DFU 类特定的请求。RequestRequest codeRequest descriptionDFU_DETACH0X00请求设备离开DFU模式,进入应用程序DFU_DNLOAD0x01请求Host主机端数据发送......
USBIP 类特定请求和厂商自定义请求
前面主要介绍了USB的标准请求,但当bmRequestType的D6-D5为01和10时,分别为类特定请求和厂商自定义请求。详见https://www.usbzh.com/article/detail-417.htmlUSBIP的类特定请求和厂商自定义请求使用函数store_urb_class_v......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    您的支持,是我们前进的动力!