USB2.0令牌、事务及传输抓包分析
+ -

USB2.0设备枚举-主机设置设备地址事务

2021-06-21 2788 0

USB主机在首次获取设备描述符后,知道了设备的默认端点大小。后续一个重要的操作是对设备分配地址。
对USB设备分配地址是通过标准请求SetAddress来完成后。
其具体的过程如下图所示:
SetAddress

SetAddress包括2个事务。第一个事务是对主机设置地址,第二个事务是主机对设备返加一个0字节的数据包,用于确认。

事务6766

事务6766和一般的事务一样,也包括起始令牌,数据包和确认ACK.
SETUP令牌包用于主机向USB设备发送配置信息.由于设备还未分配地址,所以主机还是使用地址0和端点与设备进行通讯。

SETUP

SETUP令牌之后为数据包DATA0,这里的内容为8字节的USB标准请求,内容为SetAddress请求命令,新的地址15。

DATA0

当设备收到SetAddres后,向主板返回ACK确认数据收到。
ACK

事务6757

一个输入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 篇笔记 写笔记

USB2.0设备枚举-主机设置设备地址事务
USB主机在首次获取设备描述符后,知道了设备的默认端点大小。后续一个重要的操作是对设备分配地址。对USB设备分配地址是通过标准请求SetAddress来完成后。其具体的过程如下图所示:SetAddress包括2个事务。第一个事务是对主机设置地址,第二个事务是主机对设备返加一个0字节的数据包,用于确......
USB 设置请求地址SetAddress
ID请求码说明5SET_ADDRESS用来给设备分配地址SetAddress 用于枚举(enumeration)阶段为设备分配一个唯一的地址,地址在 wValue 字段中且最大值为 127。该请求特别的地方在于,直到状态阶段完成,设备才完成地址设置。其他所有请求必须在......
USB设备SetAddress失败
有的时候插拔USB设备,会出现各种各样的情况。我们其实见到的最多的是获取设备描述符失败。详见https://www.usbzh.com/article/detail-395.html另一种情况就是Set Address Failed。这种情况在系统中表现为:第一次获取设备描述符成功后,主机向设备分配......
USB主机控制器分配设备地址SetAddress
我们都知道USB总线负责对USB设备的管理,这里包括分配地址。但这个地址的分配其实是由USB主机控制器来实现的。这里我们以WINXP的usbehci.sys驱动为例进行分析。一条USB总线线上最多包括127个设备(包括该USB控制器下的USB根集线器),所以在USB主机控制器的其通过一个数据大小为......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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