阅读:1789回复:15
枚举成功,但没有set configure 请求
枚举发送46字节的配置描述符集合成功,但没有set configure 请求,
取而代之的是来了80 06 00 02 00 00 E8 03 出现了windows驱动安装的对话框, 设备前是感叹号 请问各位高手,现在怎么才有设置配置的请求啊? [编辑 - 4/21/05 by sun7463250] |
|
沙发#
发布于:2005-04-21 14:31
有两种方式可以让你快速看见你的成果
1:用DS生成驱动,安装就可以看见 2:用Windriver7.0版本,打开即可以看见,早期点的版本可能还要打开它生成的调试程序。 |
|
板凳#
发布于:2005-04-21 14:31
顶一下
sun7463250: 我现在跟你的情况一样,也是在发送46字节配置描述符后出现安装驱动提示的对话框,屏幕右下角出现发现新硬件字样,但是没有收到set configuration请求,而且我的发送46字节描述符后出现的请求是配置描述符的请求,请问各位dx这是怎么回事 |
|
地板#
发布于:2005-04-21 16:39
80 06 00 02 00 00 E8 03是什么意思?
此贴放分78分,分是小,表达对回帖者的谢意和敬意! |
|
地下室#
发布于:2005-04-21 16:41
有两种方式可以让你快速看见你的成果 Windriver用过, DS是什么? |
|
5楼#
发布于:2005-04-21 17:31
好像是:
80 bmRequestType (Standara Request,IN) 06 Request (Get Descriptor) 00 wValueL 02 wValueH (Configuration) 00 wIndexL 00 wIndexH 03E8 wLength (Length) 其中的03E8显然不合理,最好你把所有的Descriptor列出来,别人才好分析。 |
|
6楼#
发布于:2005-04-21 18:52
好像是: Bus Hound 5.00 capture. Complements of www.perisoft.net Device - Device ID (followed by the endpoint for USB devices) (12) USB Root Hub (20) DEVICE Phase - Phase Type CTL USB control transfer DI Data in 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 02 00 04 00 GET STATUS 1.1.0(2) 12.0 DI 01 01 01 00 .... 1.2.0 12.0 CTL 23 01 10 00 02 00 00 00 CLEAR FEATURE 3.1.0 12.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 4.1.0 12.0 DI 00 01 00 00 .... 4.2.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 5.1.0(2) 12.0 DI 01 01 00 00 .... 5.2.0 12.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 7.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 8.1.0 12.0 DI 03 01 10 00 .... 8.2.0 12.0 CTL 23 01 14 00 02 00 00 00 CLEAR FEATURE 9.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 10.1.0(2) 12.0 DI 03 01 00 00 .... 10.2.0 12.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 12.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 13.1.0 12.0 DI 03 01 10 00 .... 13.2.0 12.0 CTL 23 01 14 00 02 00 00 00 CLEAR FEATURE 14.1.0 12.0 CTL 80 06 00 02 00 00 ff 00 GET DESCRIPTOR 15.1.0 12.0 DI 09 02 2e 00 01 01 00 a0 01 09 04 00 00 04 dc a0 ................ 15.2.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 16.1.0 12.0 DI 03 01 00 00 .... 16.2.0 12.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 17.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 18.1.0 12.0 DI 03 01 10 00 .... 18.2.0 12.0 CTL 23 01 14 00 02 00 00 00 CLEAR FEATURE 19.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 20.1.0 12.0 DI 03 01 00 00 .... 20.2.0 12.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 21.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 22.1.0 12.0 DI 03 01 10 00 .... 22.2.0 12.0 CTL 23 01 14 00 02 00 00 00 CLEAR FEATURE 23.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 24.1.0 12.0 DI 03 01 00 00 .... 24.2.0 12.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 25.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 26.1.0 12.0 DI 03 01 10 00 .... 26.2.0 12.0 CTL 23 01 14 00 02 00 00 00 CLEAR FEATURE 27.1.0 12.0 CTL 80 06 00 02 00 00 ff 00 GET DESCRIPTOR 28.1.0 12.0 DI 09 02 2e 00 01 01 00 a0 01 09 04 00 00 04 dc a0 ................ 28.2.0 b0 00 07 05 81 03 10 00 01 07 05 01 03 10 00 01 ................ 28.2.16 07 05 82 02 40 00 01 07 05 02 02 40 00 01 ....@......@.. 28.2.32 (发送46位数据) 20.0 CTL 80 06 00 02 00 00 e8 03 GET DESCRIPTOR 29.1.0 20.0 DI 09 02 2e 00 01 01 00 a0 01 ......... 29.2.0 12.0 CTL 23 01 01 00 02 00 00 00 CLEAR FEATURE 30.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 31.1.0(3) 12.0 DI 01 01 00 00 .... 31.2.0 12.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 34.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 35.1.0 12.0 DI 03 01 10 00 .... 35.2.0 12.0 CTL 23 01 14 00 02 00 00 00 CLEAR FEATURE 36.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 37.1.0(3) 12.0 DI 03 01 00 00 .... 37.2.0 12.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 40.1.0 12.0 CTL a3 00 00 00 02 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 02 00 00 00 CLEAR FEATURE 42.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 43.1.0(2) 12.0 DI 03 01 00 00 .... 43.2.0 12.0 CTL 23 03 04 00 02 00 00 00 SET FEATURE 45.1.0 12.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 46.1.0 12.0 DI 03 01 10 00 .... 46.2.0 12.0 CTL 23 01 14 00 02 00 00 00 CLEAR FEATURE 47.1.0 20.0 CTL 80 06 00 02 00 00 e8 03 GET DESCRIPTOR 48.1.0 (问题在这里: 80 06 00 02 00 00 e8 03 ) 20.0 DI 09 02 2e 00 01 01 00 a0 01 ......... 48.2.0 12.0 CTL 23 01 01 00 02 00 00 00 CLEAR FEATURE 49.1.0 请各位大侠帮我想想原因, 那位哥们也麻烦您把你的有\"设置配置请求\"的bus hound 数据贴出来,谢谢 [编辑 - 4/21/05 by sun7463250] |
|
7楼#
发布于:2005-04-21 23:36
sun7463250:
我的也跟你的一样,只是没有出现80 06 00 02 00 00 E8 03,我随后出现的是字符描述符的请求,但是始终没有set config的请求。不过奇怪的是出现了发现新硬件的图标和提示按装驱动,然后按装驱动不成功,情况就这些,很奇怪!这问题我也很棘手。 |
|
8楼#
发布于:2005-04-22 03:24
对不起,我的意思是请你把Descriptor贴出来
而不是Bus Hound的结果。结果分析起来太费劲。我怀疑之前的 12.0 CTL 80 06 00 02 00 00 ff 00 GET DESCRIPTOR 28.1.0 处就已经错了。wLength=00FFh? 太大了吧?假如是对的,那你应该返回255字节呀,为什么返回46字节? 应你的要求贴一个完整的 Bus Hound 5.00 capture. Complements of www.perisoft.net Device - Device ID (followed by the endpoint for USB devices) (26) USB 人体学输入设备 (27) HID Keyboard Device 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) ------ ----- -------------------------------------------------- ---------------- ------------------ 26.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 1.1.0 26.0 DI 12 01 10 01 00 00 00 08 10 03 01 13 00 02 01 02 ................ 1.2.0 00 01 .. 1.2.16 26.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 2.1.0 26.0 DI 09 02 22 00 01 01 00 a0 24 ..\".....$ 2.2.0 26.0 CTL 80 06 00 02 00 00 22 00 GET DESCRIPTOR 3.1.0 26.0 DI 09 02 22 00 01 01 00 a0 24 09 04 00 00 01 03 01 ..\".....$....... 3.2.0 01 00 09 21 10 01 00 01 22 47 00 07 05 81 03 08 ...!....\"G...... 3.2.16 26.0 CTL 00 09 01 00 00 00 00 00 SET CONFIG 4.1.0 26.0 CTL 21 0a 00 00 00 00 00 00 SET IDLE 5.1.0 26.0 USTS 04 00 00 c0 stall pid 5.2.0 26.0 CTL 81 06 00 22 00 00 87 00 GET DESCRIPTOR 6.1.0 26.0 DI 05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 ..........)...%. 6.2.0 75 01 95 08 81 02 95 01 75 08 81 01 95 03 75 01 u.......u.....u. 6.2.16 26.0 CTL 21 09 00 02 00 00 01 00 SET REPORT 7.1.0 26.0 USTS 04 00 00 c0 stall pid 7.2.0 是一个USB键盘,Bus Hound操作如下: Device清空,选择\"Capture New Device\" 到Capture,点\"Stop\",\"Start\",插入USB键盘,得到以上结果。 |
|
9楼#
发布于:2005-04-22 08:24
18字节的设备描述符
0x12,0x01,0x10,0x01,0xDC,0x00,0x00,0x10,0x71,0x04,0x66,0x06,0x00,0x01,0x00,0x00,0x00,0x01 46字节的descriptor 配置描述符 0x09,0x02,0x2E,0x00,0x01,0x01,0x00,0xA0,0x01 接口描述符 0x09,0x04,0x00,0x00,0x04,0xdc,0xa0,0xb0,0x00 端点描述符 0x07,0x05,0x81,0x03,0x10,0x00,0x01 0x07,0x05,0x01,0x03,0x10,0x00,0x01 0x07,0x05,0x82,0x02,0x40,0x00,0x01 0x07,0x05,0x02,0x02,0x40,0x00,0x01 bus hound每次捕捉数据前都清空了一下 出现了发现新硬件的图标和提示按装驱动,然后按装驱动不成功 我用WD向导生成另一个驱动,设备前面是感叹号 [编辑 - 4/22/05 by sun7463250] |
|
10楼#
发布于:2005-04-22 13:16
试着改为: 0x07,0x05,0x81,0x03,0x10,0x00,0x01 0x07,0x05,0x02,0x03,0x10,0x00,0x01 0x07,0x05,0x83,0x02,0x40,0x00,0x01 0x07,0x05,0x04,0x02,0x40,0x00,0x01 端点配对了但地址应该改变吧 |
|
11楼#
发布于:2005-04-22 19:09
searchone:他的端点描述符好像是正确的吧。
sun7463250:你的问题解决了吗,要是有什么发现告诉哥们一声,共同进步! |
|
12楼#
发布于:2005-04-22 19:24
sun7463250:你的问题解决了吗,要是有什么发现告诉哥们一声,共同进步! 还没有,正郁闷呢 searchone:谢谢,好像不行。 我觉得80 06 00 02 00 00 FF 00有问题 我看别人都不是FF 不知道是为什么啊 |
|
13楼#
发布于:2005-04-22 19:40
to sun7463250:
80 06 00 02 00 00 FF 00 这个没有问题 |
|
14楼#
发布于:2005-04-22 19:50
to sun7463250: 我看见一篇文章写的是FF 00,另外一篇文章写的不是,所以我怀疑。 我发送46字节也应该没错,在bus hound中捕获的数据和发送的一致。 按照书上介绍,此时应该来请求设置配置的请求,可来的是E8 03的请求,不明白 |
|
15楼#
发布于:2005-04-22 19:54
是不是配置数据有问题?
你用的是什么控制芯片,单片机还是dsp? 我的qq:361644881 |
|