阅读:2495回复:11
clear feature是否跟枚举成功有关系?
Bus Hound 5.00 capture. Complements of www.perisoft.net
Device - Device ID (followed by the endpoint for USB devices) (12) USB Root Hub Phase - Phase Type CTL USB control transfer DI Data in USTS USB status Data - Hex dump of the data transferred Descr - Description of the phase Cmd... - Position in the captured data Device Phase Data Description Cmd.Phase.Ofs(rep) ------ ----- ------------------------------------------------------------------------------------------------------ ---------------- ------------------ 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 885.1.0 12.0 DI 03 01 00 00 .... 885.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 886.1.0 12.1 DI 08 00 00 00 90 06 47 80 ......G. 887.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 888.1.0 12.0 DI 03 01 10 00 .... 888.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 889.1.0 12.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 890.1.0 12.0 DI 12 01 00 02 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 890.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 891.1.0 12.0 DI 03 01 00 00 .... 891.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 892.1.0 12.1 DI 08 00 00 00 90 06 47 80 ......G. 893.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 894.1.0 12.0 DI 03 01 10 00 .... 894.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 895.1.0 12.0 CTL 00 05 02 00 00 00 00 00 SET ADDRESS 896.1.0 12.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 897.1.0 12.0 DI 12 01 00 02 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 897.2.0 12.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 898.1.0 12.0 DI 09 02 4a 00 01 01 00 a0 32 ..J.....2 898.2.0 12.0 CTL 23 01 01 00 03 00 00 00 CLEAR FEATURE 899.1.0 以上是我bus hound抓到的数据。host已经收到设备描述符,但枚举还是不成功。不知道为什么最后会出现clear feature,它的出现跟枚举不成功又有什么关系? |
|
沙发#
发布于:2004-12-30 11:38
没关系
应该是标准请求你返回的参数不对 |
|
板凳#
发布于:2004-12-30 18:09
CLEAR FEATURE 是HOST发给HUB的命令,跟你的设备没关系,但在枚举
过程中不应该出现. 建议你看看在你回复 12.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 898.1.0 12.0 DI 09 02 4a 00 01 01 00 a0 32 ..J.....2 898.2.0 后是否又收到中断,什么中断? |
|
|
地板#
发布于:2004-12-30 21:34
多谢。我跟踪一下看。
我现在的情况是这样的:偶尔能够枚举成功。 这就可以说明get descriptor.set address等函数没有问题。 这样的话判断是初始化的问题。可是初始化就设置几个参数,我觉得也不应该有问题。 现在我不知道问题出在什么地方。没有办法下手了。 |
|
地下室#
发布于:2004-12-31 08:20
你说的偶尔能枚举成功是什么意思?
|
|
|
5楼#
发布于:2004-12-31 08:55
就是偶尔可以枚举成功。checkview可以看到枚举成功。出现查找驱动程序。大多数情况下则不能。
|
|
6楼#
发布于:2004-12-31 16:30
偶尔能枚举成功?怪事.如果能枚举成功的话,说明你的固件应该没问
题,但大多数情况不行?你能不能将成功的和不成功的数据都采集到, 然后对比一下,看看有什么不同. 还有,不会是硬件故障吧? :( |
|
|
7楼#
发布于:2004-12-31 22:31
我也觉得纳闷。刚开始我怀疑硬件有问题。可是能够读芯片ID,能够收,能够发,我觉得是不是就说明硬件正确呢?
是这样的,枚举成功的时候抓到的数据是:一次get device descriptor,一次set address,接下来get device descriptor,get config descriptor. 枚举不成功的时候情况就比较多,也是按照上边的顺序,有时候是set address后pid check failed.有时是第二个get device descriptor.有时是get config descriptor 后pid check failed.有时是都发送接收正常了,但还是没有枚举成功。 现在我没有抓到的数据。等我抓下来发上来。 楼上的兄弟,这样交流比较慢,而我比较着急。不知道是否可以直接发信给你? |
|
8楼#
发布于:2005-01-01 10:27
Bus Hound 5.00 capture. Complements of www.perisoft.net
Device - Device ID (followed by the endpoint for USB devices) (12) USB Root Hub Phase - Phase Type CTL USB control transfer DI Data in USTS USB status Data - Hex dump of the data transferred Descr - Description of the phase Cmd... - Position in the captured data Device Phase Data Description Cmd.Phase.Ofs(rep) ------ ----- ------------------------------------------------------------------------------------------------------ ---------------- ------------------ 12.1 DI 08 00 00 00 90 06 47 80 ......G. 1.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 2.1.0(2) 12.0 DI 00 01 01 00 .... 2.2.0 12.0 CTL 23 01 10 00 03 00 00 00 CLEAR FEATURE 4.1.0 12.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 5.1.0 12.0 DI 00 01 00 00 .... 5.2.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 6.1.0 12.0 DI 00 01 00 00 .... 6.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 7.1.0 12.0 DI 00 01 00 00 .... 7.2.0 12.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 8.1.0 12.0 DI 00 01 00 00 .... 8.2.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 9.1.0 12.0 DI 00 01 00 00 .... 9.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 10.1.0 12.0 DI 00 01 00 00 .... 10.2.0 12.1 DI 08 00 00 00 e0 3f 42 f2 .....?B. 11.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 12.1.0(2) 12.0 DI 01 01 01 00 .... 12.2.0 12.0 CTL 23 01 10 00 03 00 00 00 CLEAR FEATURE 14.1.0 12.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 15.1.0 12.0 DI 00 01 00 00 .... 15.2.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 16.1.0 12.0 DI 00 01 00 00 .... 16.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 17.1.0(2) 12.0 DI 01 01 00 00 .... 17.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 19.1.0 12.1 DI 08 00 00 00 e0 3f 42 f2 .....?B. 20.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 21.1.0 12.0 DI 03 01 10 00 .... 21.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 22.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 23.1.0 12.0 DI 03 01 00 00 .... 23.2.0 12.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 24.1.0 12.0 USTS 06 00 00 c0 pid check failed 24.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 25.1.0 12.0 DI 03 01 00 00 .... 25.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 26.1.0 12.1 DI 08 00 00 00 90 06 47 80 ......G. 27.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 28.1.0 12.0 DI 03 01 10 00 .... 28.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 29.1.0 12.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 30.1.0 12.0 DI 12 01 10 01 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 30.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 31.1.0 12.0 DI 03 01 00 00 .... 31.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 32.1.0 12.1 DI 08 00 00 00 90 06 47 80 ......G. 33.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 34.1.0 12.0 DI 03 01 10 00 .... 34.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 35.1.0 12.0 CTL 00 05 02 00 00 00 00 00 SET ADDRESS 36.1.0 12.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 37.1.0 12.0 USTS 06 00 00 c0 pid check failed 37.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 38.1.0 12.0 DI 03 01 00 00 .... 38.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 39.1.0 12.1 DI 08 00 00 00 e0 3f 42 f2 .....?B. 40.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 41.1.0 12.0 DI 03 01 10 00 .... 41.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 42.1.0 12.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 43.1.0 12.0 DI 12 01 10 01 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 43.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 44.1.0 12.0 DI 03 01 00 00 .... 44.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 45.1.0 12.1 DI 08 00 00 00 e0 3f 42 f2 .....?B. 46.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 47.1.0 12.0 DI 03 01 10 00 .... 47.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 48.1.0 12.0 CTL 00 05 02 00 00 00 00 00 SET ADDRESS 49.1.0 12.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 50.1.0 12.0 DI 12 01 10 01 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 50.2.0 12.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 51.1.0 12.0 DI 09 02 4a 00 01 01 00 a0 32 ..J.....2 51.2.0 12.0 CTL 23 01 01 00 03 00 00 00 CLEAR FEATURE 52.1.0 这是枚举不成功时抓到的数据。 不知为什么set address等一系列的总是三次?第一次不成功主机就继续第二次,第三次? [编辑 - 1/1/05 by chenlingyan] |
|
9楼#
发布于:2005-01-01 11:06
12.1 DI 08 00 00 00 e0 3f 42 f2 .....?B. 82.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 83.1.0 12.0 DI 03 01 10 00 .... 83.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 84.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 85.1.0 12.0 DI 03 01 00 00 .... 85.2.0 12.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 86.1.0 12.0 USTS 06 00 00 c0 pid check failed 86.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 87.1.0 12.0 DI 03 01 00 00 .... 87.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 88.1.0 12.1 DI 08 00 00 00 e0 3f 42 f2 .....?B. 89.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 90.1.0 12.0 DI 03 01 10 00 .... 90.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 91.1.0 12.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 92.1.0 12.0 DI 12 01 10 01 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 92.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 93.1.0 12.0 DI 03 01 00 00 .... 93.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 94.1.0 12.1 DI 08 00 00 00 e0 3f 42 f2 .....?B. 95.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 96.1.0 12.0 DI 03 01 10 00 .... 96.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 97.1.0 12.0 CTL 00 05 02 00 00 00 00 00 SET ADDRESS 98.1.0 12.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 99.1.0 12.0 DI 12 01 10 01 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 99.2.0 12.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 100.1.0 12.0 DI 09 02 4a 00 01 01 00 a0 32 ..J.....2 100.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 101.1.0 12.0 DI 03 01 00 00 .... 101.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 102.1.0 12.1 DI 08 00 00 00 e0 3f 42 f2 .....?B. 103.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 104.1.0 12.0 DI 03 01 10 00 .... 104.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 105.1.0 12.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 106.1.0 12.0 DI 12 01 10 01 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 106.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 107.1.0 12.0 DI 03 01 00 00 .... 107.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 108.1.0 12.1 DI 08 00 00 00 e0 3f 42 f2 .....?B. 109.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 110.1.0 12.0 DI 03 01 10 00 .... 110.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 111.1.0 12.0 CTL 00 05 02 00 00 00 00 00 SET ADDRESS 112.1.0 12.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 113.1.0 12.0 DI 12 01 10 01 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 113.2.0 12.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 114.1.0 12.0 USTS 06 00 00 c0 pid check failed 114.2.0 12.0 CTL 23 01 01 00 03 00 00 00 CLEAR FEATURE 115.1.0 这是另一组枚举失败抓到的数据。 |
|
10楼#
发布于:2005-01-01 11:07
Bus Hound 5.00 capture. Complements of www.perisoft.net
Device - Device ID (followed by the endpoint for USB devices) (12) USB Root Hub Phase - Phase Type CTL USB control transfer DI Data in USTS USB status Data - Hex dump of the data transferred Descr - Description of the phase Cmd... - Position in the captured data Device Phase Data Description Cmd.Phase.Ofs(rep) ------ ----- ------------------------------------------------------------------------------------------------------ ---------------- ------------------ 12.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 15.1.0 12.0 DI 00 01 00 00 .... 15.2.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 16.1.0 12.0 DI 00 01 00 00 .... 16.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 17.1.0(2) 12.0 DI 01 01 00 00 .... 17.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 19.1.0 12.1 DI 08 00 00 00 90 06 47 80 ......G. 20.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 21.1.0 12.0 DI 03 01 10 00 .... 21.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 22.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 23.1.0 12.0 DI 03 01 00 00 .... 23.2.0 12.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 24.1.0 12.0 USTS 06 00 00 c0 pid check failed 24.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 25.1.0 12.0 DI 03 01 00 00 .... 25.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 26.1.0 12.1 DI 08 00 00 00 e0 3f 42 f2 .....?B. 27.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 28.1.0 12.0 DI 03 01 10 00 .... 28.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 29.1.0 12.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 30.1.0 12.0 USTS 06 00 00 c0 pid check failed 30.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 31.1.0 12.0 DI 03 01 00 00 .... 31.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 32.1.0 12.1 DI 08 00 00 00 90 06 47 80 ......G. 33.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 34.1.0 12.0 DI 03 01 10 00 .... 34.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 35.1.0 12.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 36.1.0 12.0 DI 12 01 10 01 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 36.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 37.1.0 12.0 DI 03 01 00 00 .... 37.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 38.1.0 12.1 DI 08 00 00 00 90 06 47 80 ......G. 39.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 40.1.0 12.0 DI 03 01 10 00 .... 40.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 41.1.0 12.0 CTL 00 05 02 00 00 00 00 00 SET ADDRESS 42.1.0 12.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 43.1.0 12.0 DI 12 01 10 01 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 43.2.0 12.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 44.1.0 12.0 DI 09 02 4a 00 01 01 00 a0 32 ..J.....2 44.2.0 12.0 CTL 23 01 01 00 03 00 00 00 CLEAR FEATURE 45.1.0 枚举失败 |
|
11楼#
发布于:2005-01-01 11:08
Bus Hound 5.00 capture. Complements of www.perisoft.net
Device - Device ID (followed by the endpoint for USB devices) (12) USB Root Hub Phase - Phase Type CTL USB control transfer DI Data in USTS USB status Data - Hex dump of the data transferred Descr - Description of the phase Cmd... - Position in the captured data Device Phase Data Description Cmd.Phase.Ofs(rep) ------ ----- ------------------------------------------------------------------------------------------------------ ---------------- ------------------ 12.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 60.1.0 12.0 DI 00 01 00 00 .... 60.2.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 61.1.0 12.0 DI 00 01 00 00 .... 61.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 62.1.0(2) 12.0 DI 01 01 00 00 .... 62.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 64.1.0 12.1 DI 08 00 00 00 90 06 47 80 ......G. 65.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 66.1.0 12.0 DI 03 01 10 00 .... 66.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 67.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 68.1.0 12.0 DI 03 01 00 00 .... 68.2.0 12.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 69.1.0 12.0 DI 12 01 10 01 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 69.2.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 70.1.0 12.0 DI 03 01 00 00 .... 70.2.0 12.0 CTL 23 03 04 00 03 00 00 00 SET FEATURE 71.1.0 12.1 DI 08 00 00 00 e0 3f 42 f2 .....?B. 72.1.0 12.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 73.1.0 12.0 DI 03 01 10 00 .... 73.2.0 12.0 CTL 23 01 14 00 03 00 00 00 CLEAR FEATURE 74.1.0 12.0 CTL 00 05 02 00 00 00 00 00 SET ADDRESS 75.1.0 12.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 76.1.0 12.0 DI 12 01 10 01 00 00 00 40 71 04 34 12 00 02 00 00 00 01 .......@q.4..... 76.2.0 12.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 77.1.0 12.0 DI 09 02 4a 00 01 01 00 a0 32 ..J.....2 77.2.0 这是枚举成功时抓到的数据。跟上面那个很类似,就是上边的那个最后多了一行clear feacture. [编辑 - 1/1/05 by chenlingyan] |
|