USB 命令及鼠标枚举过程(4)

2020-04-03 12:48

这些码值的具体含义根据bDeviceClass 域来看。 如bDeviceClass 域为零,此域也须为零 如bDeviceClass 域为FFH,此域的所有值保留。 6 bDevicePortocol 1 协议 协议码 这些码的值视bDeviceClass 和 bDeviceSubClass 的值而定。 如果设备支持设备类相关的协议,此码标志了设备类的值。如果此域的值为零,则此设备不支持设备类相关的协议,然而,可能它的接口支持设备类相关的协议。如果此域的值为FFH,此设备使用厂商定义的协议。 7 bMaxPacketSize0 1 数字 端点0的最大包大小(仅8,16,32,64 为合法值) 8 10 12 14 15 16 17 idVendor idProduct bcdDevice iManufacturer iProduct iSerialNumber bNumConfigurations 2 2 2 1 1 1 1 ID ID 厂商标志(由USB-IF组织赋值) 产品标志(由厂商赋值) BCD 码 设备发行号(BCD 码) 索引 索引 索引 数字 描述厂商信息的字符串描述符的索引值。 描述产品信息的字串描述符的索引值。 描述设备序列号信息的字串描述符的索引值。 可能的配置描述符数目 再来分析USB鼠标回应的数据包12 01 00 02 00 00 00 08 CA 15 C3 00 12 05 00 02 00 01 正好对应表四的18个字节。

第一个字节bLenght的值为0x12,表示此描述符的长度。bDecriptorType的值为0x01,代表设备描述符。

bcdUSB的值为0x0200,代表USB协议的版本号,此处2.0版,如果为0x0110则表示1.1版。

bDeviceClass和bDeviceSubClass都为0,表示设备类别由接口描述符指定。 bMaxPacketSize0为08,说明端点0只支持最大长度为8的数据包(刚刚够接收刚才那个数据包)

CA 15 C3 00 分别是VID和PID

字节顺序的问题,也很常见了

剩下的内容也就那样了,参照图标就能翻译出来。

这就是上位机驱动程序做的事,靠软件的复杂来实现硬件设计的简单。

USB Monitor的高版本太复杂了,都不会用,这里还是使用2.5的老版本.

新建session,选择新插入的HID鼠标开始抓包,拔掉鼠标,清空记录,再次插入鼠标,现在就抓到了USB鼠标枚举数据流 要看懂这些数据流,需要

http://hi.http://www.wodefanwen.com//deep_pro/blog/item/3f97effa7048f814a9d31115.html http://hi.http://www.wodefanwen.com//deep_pro/blog/item/0ca086af97ca15f1faed5016.html 里给出的14个表

要注意的是USB数据包通常是先发LSB,再发MSB,所以低字节在前,高字节在后。后面的讲解中2个字节长度以上的数据

没有转换回高字节在前,低字节在后的顺序,保留了原始状态。

首先是两个PnP事件

000026: PnP Event: Query ID (UP), 18.10.2009 09:53:28.9218750 +4.2656250 Hardware IDs: USB\\Vid_15ca&Pid_00c3&Rev_0512, USB\\Vid_15ca&Pid_00c3

000027: PnP Event: Query ID (UP), 18.10.2009 09:53:28.9218750 +0.0

Compatible IDs: USB\\Class_03&SubClass_01&Prot_02, USB\\Class_03&SubClass_01, USB\\Class_03

接着主机发出了第一个包000028

000028: Get Descriptor Request (DOWN), 18.10.2009 09:53:28.9375000 +0.0156250 Descriptor Type: Device Descriptor Index: 0x0

Transfer Buffer Size: 0x12 bytes

在这里没有给出主机包里的具体内容,跟Bus Hound是不一样的。只能看出请求的是设备描述符,要求返回的长度是18个字节,偏移为0 对应的,USB鼠标回答了这个请求

000029: Control Transfer (UP), 18.10.2009 09:53:28.9375000 +0.0 Pipe Handle: 0x89457768

12 01 00 02 00 00 00 08 CA 15 C3 00 12 05 00 02 00 01 ........ê.?..... ..

Setup Packet

80 06 00 01 00 00 12 00

USB 命令及鼠标枚举过程(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电子测量的练习题与答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: