枚举不成功
我们将hid驱动和udc的组合与hid和OTG的组合进行对比来分析。首先我们看bus hound
抓到的udc和OTG的包的信息,如下图。
Device Phase Data Description Cmd.Phase.Ofs(rep)
------ ----- ------------------------ ---------------- ------------------
23.1 USTS c0000011 xact error 1.1.0(2)
23.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 3.1.0
23.0 IN 12 01 00 02 00 00 00 40 .......@ 3.2.0
88 88 01 00 28 02 01 02 ....(... 3.2.8
03 01 .. 3.2.16
23.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 4.1.0
23.0 IN 09 02 29 00 01 01 00 c0 ..)..... 4.2.0
32 2 4.2.8
23.0 CTL 80 06 00 02 00 00 29 00 GET DESCRIPTOR 5.1.0
23.0 IN 09 02 29 00 01 01 00 c0 ..)..... 5.2.0
32 09 04 00 00 02 03 00 2....... 5.2.8
00 04 09 21 11 01 00 01 ...!.... 5.2.16
22 7f 01 07 05 81 03 40 "......@ 5.2.24
23.0 CTL 00 09 01 00 00 00 00 00 SET CONFIG 6.1.0
23.0 CTL 21 0a 00 00 00 00 00 00 SET IDLE 7.1.0
23.0 USTS c0000004 stall pid 7.2.0
23.0 CTL 81 06 00 22 00 00 bf 01 GET DESCRIPTOR 8.1.0
23.0 IN 05 01 09 00 a1 01 85 01 ........ 8.2.0
15 00 25 ff 19 01 29 08 ..%...). 8.2.8
95 08 75 08 81 02 85 01 ..u..... 8.2.16
15 00 25 ff 19 01 29 08 ..%...). 8.2.24
23.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 9.1.0
23.0 IN 09 02 29 00 01 01 00 c0 ..)..... 9.2.0
32 2 9.2.8
23.0 CTL 80 06 00 02 00 00 29 00 GET DESCRIPTOR 10.1.0
23.0 IN 09 02 29 00 01 01 00 c0 ..)..... 10.2.0
32 09 04 00 00 02 03 00 2....... 10.2.8
00 04 09 21 11 01 00 01 ...!.... 10.2.16
22 7f 01 07 05 81 03 40 "......@ 10.2.24
Device Phase Data Description Cmd.Phase.Ofs(rep)
------ ----- ------------------------ ---------------- ------------------
23.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 1.1.0
23.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 2.1.0
23.0 USTS c0010000 canceled 1.2.0
23.0 USTS c0010000 canceled 2.2.0
23.0 CTL 00 09 00 00 00 00 00 00 SET CONFIG 3.1.0
23.0 USTS c0010000 canceled 3.2.0
23.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 4.1.0
23.0 USTS c0010000 canceled 4.2.0
对比两组数据信息我们可以发现,udc是以get_device_descriptor开始的,然后响应得到一个IN