主题 : 6410+2.6.38的USB HID的奇怪问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 50618
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
综合积分: 34 分
注册时间: 2011-06-24
最后登录: 2013-06-01
楼主  发表于: 2011-07-01 11:36

 6410+2.6.38的USB HID的奇怪问题

以前有个usb gadget hid设备的驱动,在2440+linux 2.6.29下运行很好,在6410+2.6.38下时,在与主机的觅阶段会有问题。

就是在获取设备描述符、配置描述符等之后,主机不会发送获取报告描述符的命令。对比过2440的觅过程,开始一摸一样,就是在主机发下0x0A命令,set idle 之后,2440那端的主机会继续下发获取描述符的命令,而6410的主机不会!

在2440上,usb控制器的驱动用的是,s3c2410_udc,但似乎与之也关系不大,6410的2.6.38内核中,没有采用这个驱动。

考虑过描述符的数值是不是填的不对,但是同样的描述符,在2440上是好的。

各位高手,烦请帮帮忙!感激不尽!!
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
1楼  发表于: 2011-07-01 13:00
可能需要移植, 从29到38还是有不少的变化
级别: 新手上路
UID: 57282
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
综合积分: 6 分
注册时间: 2011-10-21
最后登录: 2012-01-04
2楼  发表于: 2011-10-24 11:01
如何移植?是指接口描述符的值不同了?
级别: 新手上路
UID: 66790
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
综合积分: 6 分
注册时间: 2012-04-03
最后登录: 2012-04-15
3楼  发表于: 2012-04-03 16:39
我也正好遇到同样的问题,卡了好久啊
事情总会有解决的一天
级别: 侠客
UID: 52917
精华: 0
发帖: 117
金钱: 585 两
威望: 117 点
综合积分: 234 分
注册时间: 2011-07-28
最后登录: 2015-08-27
4楼  发表于: 2013-07-06 13:40
我也是 研究了一个星期了没什么进展,gadget U盘功能能正常使用 但是hid却不能出现这样:
s3c-hsotg s3c-hsotg: s3c_hsotg_rx_data: FIFO 8 bytes on ep0 but no req (DxEPCTl=0x00028000)
s3c-hsotg s3c-hsotg: s3c_hsotg_rx_data: FIFO 8 bytes on ep0 but no req (DxEPCTl=0x00028000)
s3c-hsotg s3c-hsotg: s3c_hsotg_rx_data: FIFO 8 bytes on ep0 but no req (DxEPCTl=0x00028000)
s3c-hsotg s3c-hsotg: S3C_GINTSTS_USBSusp
最后就无法启动了.移植3.1和3.7的gadget驱动到2.6.38结果还是一样,不知道哪里出问题了.求解.