USB集线器枚举过程抓包示例
2026-04-30
本文链接为:http://www.usbzh.com/article/detail-1642.html ,欢迎转载,转载请附上本文链接。
本文使用芯恒USB总线分析仪来抓包一个USB集器从上电枚举到枚举下端口的过程

一、设备枚举阶段(标准请求)
| 类型 | 说明 | 数据长度 |
|---|---|---|
| Get DevDesc | 获取设备描述符 | 18 B |
| Get CfgDesc | 获取配置描述符(第一次) | 25 B |
| Get BOSDesc | 获取 BOS 描述符(USB 2.1+) | 42 B |
| Get StrDesc (Index 0) | 获取语言 ID | 4 B,LangID = 0x0409(英语) |
| Get StrDesc (Index 2) | 获取产品字符串 | 22 B,Product = “USB2.1 Hub” |
| Get CfgDesc(再次) | 再次获取配置描述符 | 25 B |
| Set Configuration = 1 | 设置配置值 1 | 0 B |
说明:设备成功识别为 USB 2.1 Hub。
二、Hub 初始化与端口供电(HUB 请求)
| 请求 | 端口 | 说明 |
|---|---|---|
| Get Hub Descriptor | - | 获取 Hub 描述符,长度 9 B |
| Get Status | - | 获取 Hub 状态,返回 01 00(自供电?) |
| Set Port Feature (PORT_POWER) | 1 | 开启端口 1 电源 |
| Set Port Feature (PORT_POWER) | 2 | 开启端口 2 电源 |
| Set Port Feature (PORT_POWER) | 3 | 开启端口 3 电源 |
| Set Port Feature (PORT_POWER) | 4 | 开启端口 4 电源 |
说明:Host 依次为 4 个下行端口上电。
三、端口状态轮询(检测设备插入)
| 请求 | 端口 | 状态值 (Status) | 含义 |
|---|---|---|---|
| Get Port Status | 1 | 01 01 01 00 |
端口 1 有设备连接 |
| Get Port Status | 2 | 01 01 01 00 |
端口 2 有设备连接 |
| Get Port Status | 3 | 00 01 00 00 |
端口 3 无设备 |
| Get Port Status | 4 | 00 01 00 00 |
端口 4 无设备 |
| Get Hub Status | - | 00 00 00 00 |
Hub 本地状态正常 |
说明:端口 1 和 2 检测到设备插入,端口 3 和 4 为空。
本文链接为:http://www.usbzh.com/article/detail-1642.html ,欢迎转载,转载请附上本文链接。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936 USB技术交流3:1031974172
USB2.0集线器HUB





