打印

再搞不出要被炒了

[复制链接]
2984|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
好不厉害|  楼主 | 2008-3-30 16:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本来是个USB的东西,不过那边没有人气,只好发这边了
我现在做的东西是一个usb多媒体键盘,要求有音频控制以及启动WWW的功能,这是一个有两个接口的USB组合设备,我定义了两个HID接口,用BUS HOUND能看到配置成功了,且能够发送数据给PC,但主机没响应,不知道哪里出问题了,我怀疑是不是HID的报告描述符不对,我是按微软给的描述符搞的

大家手上有USB多媒体键盘吗?如果你有的话,麻烦用bushound录一下配置的数据,贴上来看看好不?bus hound 5.0网上有下载(只要给USB键盘扒下,然后插上去用bus hound录数据就可以了),大家帮帮忙好不?老板天天催啊,我昨天去电脑城竟然没看到有USB多媒体键盘卖

相关帖子

沙发
平常人| | 2008-3-30 16:28 | 只看该作者

如果是配置成功,基本可排除报告描述符不对的情况

估计是你发送的数据不对,所以主机没响应。

使用特权

评论回复
板凳
好不厉害|  楼主 | 2008-3-30 17:21 | 只看该作者

请看我的报告描述符

你好,你能帮我看看吗?下面是我的描述符,为了调试方便点,我开始只弄了音频控制的部分,没给键盘的加进去,不过还是不行,下面是数据
 {
     {
         0x12,
         0x01,
         0x110,
         0, 0, 0,
         0x10,
         0x471,
         0x222,
         0x110,
         0, 0, 0,
         1
     },
     {
         0x09,
         0x02,
         UsbTotalCfgDescSize, 0,
         1,
         1,
         0,
         0x80,
         0x32
     },
     {
         0x09,
         0x04,
         0,
         0,
         EndpCnt,
         0x03,
         0x00,
         0x00,
         0
     },
     {
         0x09,
         0x21,
         0x01,
         0x11,
         0x00,
         0x01,
         0x22,
         81
     
     
     
     
     },
     {
         0x07,
         0x05,
         0x82,
         0x03,
         Ep2PacketSize,
         0,
         0x0a
     },
     {
         UsbEndpDescSize,
         UsbEndpDescType,
         0x2,
         0x03,
         Ep2PacketSize,
         0,
         0x0a
     }        
     };

下面是报告描述符

0x05, 0x0C, // Usage Page (Consumer Devices) 
0x09, 0x01, // Usage (Consumer Control) 
0xA1, 0x01, // Collection (Application) 
0x85, 0x02, // Report ID (2) 
0x15, 0x00, // Logical Minimum (0) 
0x25, 0x01, // Logical Maximum (1) 
0x75, 0x01, // REPORT_SIZE (1) 
0x95, 0x0C, // REPORT_COUNT (12) 
0x09, 0xE2, // USAGE (Mute) 
0x09, 0xE9, // USAGE (Volume Up) 
0x09, 0xEA, // USAGE (Volume Down) 
0x09, 0xCD, // USAGE (Play) 
0x09, 0xB7, // USAGE (Stop) 
0x09, 0xB6, // USAGE (Scan Previous Track) 
0x09, 0xB5, // USAGE (Scan Next Track) 
0x0A, 0x8A, 0x01, // USAGE (AL Email Reader) 
0x0A, 0x92, 0x01, // USAGE (AL Calculator) 
0x0A, 0x21, 0x02, // USAGE (AC Search) 
0x0A, 0x23, 0x02, // USAGE (AC Home) 
0x0A, 0x2A, 0x02, // USAGE (AC Favorites) 
0x81, 0x62, // INPUT (Data,Var,Abs,NPrf,Null) 
0x95, 0x04, // REPORT_COUNT (4) 
0x81, 0x03, // INPUT (Cnst,Var,Abs) >> PADDING bits << 
0xC0, // END_COLLECTION 
0x05, 0x01, // USAGE_PAGE (Generic Desktop) 
0x09, 0x80, // USAGE (System Control) 
0xA1, 0x01, // COLLECTION (Application) 
0x85, 0x03, // REPORT_ID (3) 
0x75, 0x02, // REPORT_SIZE (2) 
0x95, 0x01, // REPORT_COUNT (1) 
0x15, 0x01, // LOGICAL_MINIMUM (1) 
0x25, 0x03, // LOGICAL_MAXIMUM (3) 
0x09, 0x82, // USAGE (System Sleep) 
0x09, 0x81, // USAGE (System Power Down) 
0x09, 0x83, // USAGE (System Wake Up) 
0x81, 0x60, // INPUT (Data,Ary,Abs,NPrf,Null) 
0x75, 0x06, // REPORT_SIZE (6) 
0x81, 0x03, // INPUT (Cnst,Var,Abs) 
0xC0 // END_COLLECTION 

我发送的数据格式是:0x02,0X00,0x01这样,不过没反应

下面是bus hound录的数据
Bus Hound 5.00 capture. Complements of www.perisoft.net

data

  Device - Device ID (followed by the endpoint for USB devices)
            (18) SCSI/RAID Host Controller
            (19) CL3323P YRG651C [ROM=1.0 ]
            (20) USB 人体学输入设备
  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       
------  -----  --------------------------------------------------  ----------------  
  20.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR           
  20.0  DI     12 01 10 01  00 00 00 10  71 04 22 02  10 01 00 00  ........q.".....       
               00 01                                               ..                      
  20.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR         
  20.0  DI     09 02 29 00  01 01 00 80  32                        ..).....2                 
  20.0  CTL    80 06 00 02  00 00 29 00                            GET DESCRIPTOR      
  20.0  DI     09 02 29 00  01 01 00 80  32 09 04 00  00 02 03 00  ..).....2.......       
               00 00 09 21  01 11 00 01  22 51 00 07  05 82 03 40  ...!...."Q.....@       
               00 0a 07 05  02 03 40 00  0a                        ......@..               
  20.0  CTL    00 09 01 00  00 00 00 00                            SET CONFIG                   
  20.0  CTL    21 0a 00 00  00 00 00 00                            SET IDLE              
  20.0  USTS   00 00 01 c0                                         canceled                
  20.0  CTL    81 06 00 22  00 00 91 00                            GET DESCRIPTOR               
  20.0  DI     05 0c 09 01  a1 01 85 02  15 00 25 01  75 01 95 0c  ..........%.u...      
               09 e2 09 e9  09 ea 09 cd  09 b7 09 b6  09 b5 0a 8a  ................          
               01 0a 92 01  0a 21 02 0a  23 02 0a 2a  02 81 62 95  .....!..#..*..b.         
               04 81 03 c0  05 01 09 80  a1 01 85 03  75 02 95 01  ............u...      
               15 01 25 03  09 82 09 81  09 83 81 60  75 06 81 03  ..%........`u...      
               c0                                                  .                      
  20.0  CTL    80 06 00 02  00 00 29 00                            GET DESCRIPTOR        
  20.0  DI     09 02 29 00  01 01 00 80  32 09 04 00  00 02 03 00  ..).....2.......      
               00 00 09 21  01 11 00 01  22 51 00 07  05 82 03 40  ...!...."Q.....@   
               00 0a 07 05  02 03 40 00  0a                        ......@..       
  20.2  DI     02 00 04                                            ...               
  20.2  DI     02 00 00                                            ...              
  20.2  DI     02 00 04                                            ...               
  20.2  DI     02 00 00                                            ...            
  20.2  DI     02 00 08                                            ...             
  20.2  DI     02 00 00                                            ...                    
  20.2  DI     02 00 02                                            ...               
  20.2  DI     02 00 00                                            ...                   
  20.2  DI     02 00 02                                            ...               
  20.2  DI     02 00 00                                            ...                    
  20.2  DI     02 00 01                                            ...                     
  20.2  DI     02 00 00                                            ...                          

使用特权

评论回复
地板
好不厉害|  楼主 | 2008-3-30 17:24 | 只看该作者

我的描述符就是上面那样的

数据发出去,主机没有反应,你能帮我看看吗?或者你贴一个可以用描述符上来好不?

使用特权

评论回复
5
平常人| | 2008-3-30 17:38 | 只看该作者

好不厉害:我没做过音频控制HID设备

但从描述符看,PC端应该没有反应:

根据描述符,你的报告2有12位有效数据和4位常数作为填充,而你向PC发的数据都是在填充位有1,在有效数据位均为0,所以PC端没有反应是正确的。

使用特权

评论回复
6
好不厉害|  楼主 | 2008-3-30 18:29 | 只看该作者

嗯,是有点问题

不过我发0x02,0x01,0xf0  PC也没响应啊 
天呐  我要疯了  试了N个报告描述符就是不行

使用特权

评论回复
7
平常人| | 2008-3-30 18:34 | 只看该作者

不要乱发,试试只发Volume Up和Volume Down,或Play和Stop

当然在PC端需要有相应的USB设备程序配合。

使用特权

评论回复
8
好不厉害|  楼主 | 2008-3-30 19:17 | 只看该作者

HID不用自己写驱动的

windows支持这样的用法

可以看这里http://www.microsoft.com/whdc/device/input/w2kbd.mspx

好郁闷啊  

使用特权

评论回复
9
好不厉害|  楼主 | 2008-3-30 19:40 | 只看该作者

大家帮忙啊-下个礼拜是最后期限

再搞不定,我只好要去人才市场了  

使用特权

评论回复
10
好不厉害|  楼主 | 2008-3-31 09:55 | 只看该作者

!!!

55555555555555555555

使用特权

评论回复
11
mr.king| | 2008-3-31 18:43 | 只看该作者

来吧,换我单位,钱图不明

使用特权

评论回复
12
FOXFOX| | 2008-4-2 10:03 | 只看该作者

炒就炒,炒掉有赔偿的。

再找工作就有经验了嘛。

使用特权

评论回复
13
yes24| | 2008-4-2 12:52 | 只看该作者

楼主怕个叼啊

不就是偶尔失误。


哪个高手没试过!!!!


哈哈哈

使用特权

评论回复
14
好不厉害|  楼主 | 2008-4-2 16:57 | 只看该作者

搞出来了

S-H-I-T
21ic就没一个人愿意出手的

使用特权

评论回复
15
平常人| | 2008-4-2 20:53 | 只看该作者

楼主真不够意思,虽说我的主意没到点子上,你也不能不把我当

好不厉害 发表于 2008-4-2 16:57 USB技术专区 ←返回版面    

14楼: 搞出来了 

S-H-I-T
21ic就没一个人愿意出手的

--------------------------------

下次看谁还愿意帮你出主意?

使用特权

评论回复
16
好不厉害|  楼主 | 2008-4-2 21:34 | 只看该作者

哦 失言了 不好意思

这两天搞晕了,做事丢三落四的,上次发帖没注意看版面,真是不好意思

另外,你说的那点是对的,我在那点上是犯了错误的,不过,我的描述也有一些问题


最后,再次感谢 

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

127

帖子

0

粉丝