HID从设备连接电脑获取描述符分析

Bus Hound 6.01 capture on Windows Vista (x64). Complements of www.perisoft.net


  Device - Device ID (followed by the endpoint for USB devices)
            (18) Generic USB Hub
            (29) USB Input Device
            (30) HID-compliant bar code badge reader
            (31) Unknown USB Device (Device Descriptor Request Failed)
            (32) USB Input Device
            (33) HID-compliant bar code badge reader
            (34) USB Mass Storage Device
            (35) Kingston DTR30G2 [ROM=PMAP]
            (36) USB Mass Storage Device
            (37) Kingston DTR30G2 [ROM=PMAP]
            (38) Unknown USB Device (Device Descriptor Request Failed)
  Phase  - Phase Type
            CTL   USB control transfer       
            IN    Data in transfer           
            RESET bus reset                  
            USTS  USB status                 
            ok    command complete           
  Data   - Hex dump of the data transferred
  Descr  - Description of the phase
  Cmd... - Position in the captured data
  Time   - Time the phase occurred in hour:minute:second.millisec form




Device  Phase  Data                                                                                                    Description                       Cmd.Phase.Ofs(rep)  Time        
------  -----  ------------------------------------------------------------------------------------------------------  --------------------------------  ------------------  ------------
  29.0  CTL    80 06 00 01  00 00 12 00                                                                                GET DESCRIPTOR                           1.1.0        12:40:41.108  
    80(第7位)请求数据输入,D4-D0:0=设备,1=接口,2=端点,3=其它
    06 获取描述符
    00 同类描述符的索引号
    01 描述符类型(01:设备描述符)
    00 00 字符串描述符时为索引,其它为0
    12 00 设备描述符的长度


  29.0  IN     12 01 00 02  00 00 00 40  83 04 50 57  00 02 01 02  03 01                                               .......@..PW......                       1.2.0        12:40:41.109  
    12 描述符的长度
    01 描述符类型(01:设备描述符)
    00 02 USB协议类型BCD码(02.00)
    00 类代码
    00 子类代码
    00 设备使用的协议
    40 端点0最大包长
    83 04 厂商ID
    50 57 产品ID
    00 02 设备版本号
    01 描述厂商的字符串的索引
    02 描述产品的字符串的索引
    03 描述产品序列号的字符串的索引
    01 可能的配置数


  29.0  CTL    80 06 00 02  00 00 09 00                                                                                GET DESCRIPTOR                           2.1.0        12:40:41.109  
    80 (第7位)请求数据输入,D4-D0:0=设备,1=接口,2=端点,3=其它
    06 获取描述符    
    00 同类描述符的索引号
    02 描述符类型(02:配置描述符)
    00 00 字符串描述符时为索引,其它为0
    09 00 描述符的长度


  29.0  IN     09 02 29 00  01 01 00 c0  32                                                                            ..).....2                                2.2.0        12:40:41.109  
    09 描述符的长度
    02 描述符类型(02:配置描述符)
    29 00 配置描述符集合总长度
    01 该配置锁支持的接口数
    01 该配置的值
    00 描述该配置的字符串的所引值 0标识没有字符串
    C0 用来描述设备的一些特性,D7位必须为1,D6位为供电方式,1表示自供电或总线供电,D5位是否1支持远程唤醒
    32 设备需要从总线获取的最大用电量,单位为2MA,




  29.0  CTL    80 06 00 02  00 00 29 00                                                                                GET DESCRIPTOR                           3.1.0        12:40:41.109  
    80 (第7位)请求数据输入,D4-D0:0=设备,1=接口,2=端点,3=其它
    06 获取描述符    
    00 同类描述符的索引号
    02 描述符类型(02:配置描述符)
    00 00 字符串描述符时为索引,其它为0
    29 00 描述符的长度




  29.0  IN     09 02 29 00  01 01 00 c0  32 09 04 00  00 02 03 00  00 00 09 21  11 01 00 01  22 21 00 07  05 81 03 40  ..).....2..........!...."!.....@         3.2.0        12:40:41.109 
      00 00 07 05  01 03 40 00  00 


               09 02 29 00  01 01 00 c0  32  配置描述符(解析见上)
               09 04 00  00 02 03 00  00 00  接口描述符
                 09 描述符的长度
            04 描述符类型(04:接口描述符)
00 接口的编号(从0开始)
00 该接口的备用编号
  02 该接口使用的端点数
03 该接口使用的类
00 该接口使用的子类
00 该接口使用的协议
00 描述该接口的字符串的索引值
     09 21  11 01 00 01  22 21 00  
                 09 描述符的长度
21 描述符类型(21:HID描述符)
11 01 HID协议的版本号(BCD 1.11)
00 国家代码
01 下级描述符的数量
22 下级描述符的类型(22:报告描述符,23为物理描述符)
21 00 下级描述符的长度
     07  05 81 03 40  00 01 端点描述符
                 07 描述符的长度
05 描述符类型(05:端点描述符)
81 端点地址 D7位标识传输方向,1:输入,D3~D0端口号,其它保留
03 端点的属性,D0~D1标识端点类型:00:控制传输,1为等时传输,2为批量传输,3为中断传输。
40 00 该端点支持的最大包长度,对于低速和全速模式,D10~0有效,对于高速模式D12~D11为每个帧附加的传输次数
01 表示该端点查询的时间,对于中断端点,表示查询的帧间隔。对于其它类型的端点,请查阅USB2.0协议。
    07 05  01 03 40 00  01 端点描述符
07 描述符的长度
05 描述符类型(05:端点描述符)
01 端点地址 D7位标识传输方向,1:输入,0表示输出,D3~D0端口号,其它保留
03 端点的属性,D0~D1标识端点类型:00:控制传输,1为等时传输,2为批量传输,3为中断传输。
40 00 该端点支持的最大包长度,对于低速和全速模式,D10~0有效,对于高速模式D12~D11为每个帧附加的传输次数
01 表示该端点查询的时间,对于中断端点,表示查询的帧间隔。对于其它类型的端点,请查阅USB2.0协议。


  29.0  CTL    00 09 01 00  00 00 00 00                                                                                SET CONFIG                               4.1.0        12:40:41.109  
00 特性选择 
09 设置配置请求
01 配置的值,当该值与某配置描述符中的配置编号一致时,表示选中该配置。该值通常为1。因为通常USB设备只有一种配置,配置编号为1;如果该值为0,则会让设备进入设置地址状态。设置只有
  在收到非0的配置值后,才能启用它的非0端点。
00 00  默认值
00 00  默认值


  29.0  CTL    21 0a 00 00  00 00 00 00                                                                                SET IDLE                                 5.1.0        12:40:41.109  
       设置闲置状态,状态可不支持此请求。


  29.0  CTL    81 06 00 22  00 00 61 00                                                                                GET DESCRIPTOR                           6.1.0        12:40:41.110  
81 (第7位)请求数据输入,D4-D0:0=设备,1=接口,2=端点,3=其它
06 获取描述符    
    00 同类描述符的索引号
22 描述符类型(22:报告描述符) 
00 00 字符串描述符时为索引,其它为0
       61 00 描述符的长度




  29.0  IN     05 8c 09 01  a1 01 09 01  15 00 26 00  ff 75 08 95  40 81 02 09  02 15 00 26  00 ff 75 08  95 40 91 02  ..........&..u..@......&..u..@..         6.2.0        12:40:41.110  
               c0 



  29.0  CTL    80 06 00 02  00 00 09 00                                                                                GET DESCRIPTOR                           7.1.0        12:40:42.432  
                80 (第7位)请求数据输入,D4-D0:0=设备,1=接口,2=端点,3=其它
    06 获取描述符    
    00 同类描述符的索引号
    02 描述符类型(02:配置描述符)
00 00 字符串描述符时为索引,其它为0
    09 00 描述符的长度


  29.0  IN     09 02 29 00  01 01 00 c0  32                                                                            ..).....2                                7.2.0        12:40:42.432  


  29.0  CTL    80 06 00 02  00 00 29 00                                                                                GET DESCRIPTOR                           8.1.0        12:40:42.432  
80 (第7位)请求数据输入,D4-D0:0=设备,1=接口,2=端点,3=其它
    06 获取描述符    
    00 同类描述符的索引号
    02 描述符类型(02:配置描述符)
00 00 字符串描述符时为索引,其它为0
    29 00 描述符的长度


  29.0  IN     09 02 29 00  01 01 00 c0  32 09 04 00  00 02 03 00  00 00 09 21  11 01 00 01  22 21 00 07  05 81 03 40  ..).....2..........!...."!.....@         8.2.0        12:40:42.432  








  29.1  USTS   c0000011                                                                                                xact error                               9.1.0(58)    12:40:42.717  出错时的报文,正常不会出现


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值