阅读:1407回复:3
USB枚举的问题
USB设备枚举数据传输的全过程:
1. 主机检测到有设备插上,总线复位; 2. 主机读取设备描述符; 3. 地址分配; 4. 主机从新的地址获取设备描述符; 5. 主机读取配置描述符; 6. 读取描述符集合; 7. 设置配置; 8. 读取配置状态; 9. 读取接口状态。 我监视驱动时发现USB驱动在USB设备接收了几个设备描述符才进入DriverEntry,这之前是usbd.sys在和USB设备通信吗?哪位大哥能讲讲USB设备在插上PC机后usbd.sys是怎么工作的吗? |
|
沙发#
发布于:2007-06-07 09:08
帮帮忙啊
|
|
板凳#
发布于:2007-06-07 10:30
你说的没错,前几个描述符是host controller与底层驱动来完成的
当进入getconfig时才会进入你自己的驱动里。 |
|
地板#
发布于:2007-06-08 09:42
谢谢jinghuiren
是指第5步才进入自己写的驱动吗? 那为什么DDK中的bulkusb驱动在IRP_MN_START_DEVICE中第一步是先创建得到设备描述符IRP并发到下层驱动了,而不是先创建得到配置描述符IRP? 难道下层驱动这时发上来的设备描述符是下层驱动之前已经获得的? |
|