leadphone
驱动牛犊
驱动牛犊
  • 注册日期2002-11-28
  • 最后登录2008-09-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1195回复:3

为什么我的firmware收不到主机发送的set config包???大家都进来帮我看看,随便说说。

楼主#
更多 发布于:2003-01-06 09:11
下面这个问题卡了我好久了,这的不知道怎么解决了,麻烦大家帮我看看,出出主意。随便说说也好呀,希望能帮我找到突破口。
在get cinfiguration descriptor这一步,通过bus hound看到主机发送的是80 06 00 02 00 00 09 00而不是80 06 00 02 00 00 ff 00.
然后用usb view看的时候,Current Config Value这一项为0。而且它usb设备接上时都是1。
请看bus hound捕捉的数据:
   1.0  CTL    80 06 00 01 - 00 00 40 00  GET DESCRIPTR      
   1.0  DI     12 01 10 01 - 00 00 00 08      
   1.0  CTL    00 05 03 00 - 00 00 00 00  SET ADDRESS            
   1.0  CTL    80 06 00 01 - 00 00 12 00  GET DESCRIPTR        
   1.0  DI     12 01 10 01 - 00 00 00 08  ........              
               00 04 5d c3 - 04 01 00 00  ..].....                    20.2.8        
               00 01                      ..                          20.2.16      
   1.0  CTL    80 06 00 02 - 00 00 09 00  GET DESCRIPTR          
   1.0  DI     09 02 20 00 - 01 01 00 40  .. ....@              
               00                         .                           21.2.8        
      
   1.0  CTL    80 00 00 00 - 00 00 02 00  GET STATUS              
   1.0  DI     01 00                      ..                    
usbview看到的:
Device Descriptor:
bcdUSB:             0x0110
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x08 (8)
idVendor:           0x0400 (National Semiconductor)
idProduct:          0xC35D
bcdDevice:          0x0104
iManufacturer:        0x00
iProduct:             0x00
iSerialNumber:        0x00
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x00
Device Bus Speed:     Full
Device Address:       0x03
Open Pipes:              0


[编辑 -  1/6/03 by  leadphone]
dacongtou
驱动中牛
驱动中牛
  • 注册日期2002-11-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-06 11:37
我遇的问题和你一模一样,关注.....

还有问一下,你是如何发送描述符给回PC的.发送完毕后需不需要发送空包,都在什么时候需要发送空包啊..我用USBVIEW观察到的问题与你一模一样,可是用BUSBOUND观察到的不一样,而且好像我的有问题....不知道哪里不对了
  7  CTL    80 06 00 01 - 00 00 12 00  GET DESCRIPTR    0us         1.1.0        
  7  DI     12 01 00 01 - dc 00 00 10  ........        37ms         1.2.0        
            71 04 66 06 - 00 01 00 00  q.f.....                     1.2.8        
            00 19                      ..                           1.2.16      
  7  USTS   08 00 00 c0                overrun         10us         1.3.0  
yyhabc
驱动小牛
驱动小牛
  • 注册日期2003-01-06
  • 最后登录2013-03-18
  • 粉丝0
  • 关注0
  • 积分327分
  • 威望47点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-06 16:06
仔细看USB协议。我不知道你在什么级别上发数据,看这样像直接写端口,如果这样,不用发空包。你写的数据结构是一次完整的传输。看USB协议第八章,很详细。
lifekill
驱动牛犊
驱动牛犊
  • 注册日期2002-08-22
  • 最后登录2005-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-07 10:40
我的也有问题有点迷惑了
收到的数据如下:
0x80 06 00 01 00 00 40 00  Get_Descriptor : device
0x00 00 00 01 00 00 40 00  不知是何东西
0x00 05 02 00 00 00 00 00  Set_Address
0x80 06 00 01 00 00 12 00  Get_Descriptor : device
0x00 00 00 01 00 00 12 00  不知是何东西
0x80 06 00 02 00 00 09 00  Get_Descriptor : configuration
0x00 00 00 02 00 00 09 00  不知是何东西
0x80 06 00 02 00 00 ff 00  Get_Descriptor : configuration
0x00 00 00 02 00 00 ff 00  不知是何东西

重复了几次之后就结束了,枚举不成功

还有USBcheck软件怎么检测不到设备
游客

返回顶部