sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1789回复:15

枚举成功,但没有set configure 请求

楼主#
更多 发布于:2005-04-21 11:38
枚举发送46字节的配置描述符集合成功,但没有set configure 请求,
取而代之的是来了80 06 00 02 00 00 E8 03
出现了windows驱动安装的对话框,
设备前是感叹号

请问各位高手,现在怎么才有设置配置的请求啊?

[编辑 -  4/21/05 by  sun7463250]
searchone
驱动牛犊
驱动牛犊
  • 注册日期2003-12-31
  • 最后登录2005-05-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-21 14:31
有两种方式可以让你快速看见你的成果
1:用DS生成驱动,安装就可以看见
2:用Windriver7.0版本,打开即可以看见,早期点的版本可能还要打开它生成的调试程序。
lybshmily
驱动牛犊
驱动牛犊
  • 注册日期2005-04-12
  • 最后登录2006-03-22
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-04-21 14:31
顶一下
sun7463250:
我现在跟你的情况一样,也是在发送46字节配置描述符后出现安装驱动提示的对话框,屏幕右下角出现发现新硬件字样,但是没有收到set configuration请求,而且我的发送46字节描述符后出现的请求是配置描述符的请求,请问各位dx这是怎么回事
sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-21 16:39
80 06 00 02 00 00 E8 03是什么意思?
此贴放分78分,分是小,表达对回帖者的谢意和敬意!
sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-04-21 16:41
有两种方式可以让你快速看见你的成果
1:用DS生成驱动,安装就可以看见
2:用Windriver7.0版本,打开即可以看见,早期点的版本可能还要打开它生成的调试程序。


Windriver用过,
DS是什么?
Descriptor
驱动牛犊
驱动牛犊
  • 注册日期2005-03-13
  • 最后登录2006-01-19
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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列出来,别人才好分析。
sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-04-21 18:52
好像是:
80 bmRequestType (Standara Request,IN)
06 Request (Get Descriptor)
00 wValueL
02 wValueH (Configuration)
00 wIndexL
00 wIndexH
03E8 wLength (Length)
其中的03E8显然不合理,最好你把所有的Descriptor列出来,别人才好分析。


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]
lybshmily
驱动牛犊
驱动牛犊
  • 注册日期2005-04-12
  • 最后登录2006-03-22
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-04-21 23:36
sun7463250:
我的也跟你的一样,只是没有出现80 06 00 02 00 00 E8 03,我随后出现的是字符描述符的请求,但是始终没有set config的请求。不过奇怪的是出现了发现新硬件的图标和提示按装驱动,然后按装驱动不成功,情况就这些,很奇怪!这问题我也很棘手。
Descriptor
驱动牛犊
驱动牛犊
  • 注册日期2005-03-13
  • 最后登录2006-01-19
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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键盘,得到以上结果。
sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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]
searchone
驱动牛犊
驱动牛犊
  • 注册日期2003-12-31
  • 最后登录2005-05-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-04-22 13:16

端点描述符
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

试着改为:
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
端点配对了但地址应该改变吧

lybshmily
驱动牛犊
驱动牛犊
  • 注册日期2005-04-12
  • 最后登录2006-03-22
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-04-22 19:09
searchone:他的端点描述符好像是正确的吧。

sun7463250:你的问题解决了吗,要是有什么发现告诉哥们一声,共同进步!

sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2005-04-22 19:24
sun7463250:你的问题解决了吗,要是有什么发现告诉哥们一声,共同进步!

还没有,正郁闷呢
searchone:谢谢,好像不行。

我觉得80 06 00 02 00 00 FF 00有问题
我看别人都不是FF
不知道是为什么啊
lybshmily
驱动牛犊
驱动牛犊
  • 注册日期2005-04-12
  • 最后登录2006-03-22
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2005-04-22 19:40
to sun7463250:
80 06 00 02 00 00 FF 00
这个没有问题
sun7463250
驱动牛犊
驱动牛犊
  • 注册日期2004-03-28
  • 最后登录2010-03-08
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2005-04-22 19:50
to sun7463250:
80 06 00 02 00 00 FF 00
这个没有问题


我看见一篇文章写的是FF 00,另外一篇文章写的不是,所以我怀疑。
我发送46字节也应该没错,在bus hound中捕获的数据和发送的一致。
按照书上介绍,此时应该来请求设置配置的请求,可来的是E8 03的请求,不明白
lybshmily
驱动牛犊
驱动牛犊
  • 注册日期2005-04-12
  • 最后登录2006-03-22
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2005-04-22 19:54
是不是配置数据有问题?
你用的是什么控制芯片,单片机还是dsp?
我的qq:361644881
游客

返回顶部