usb-hid OTG的接口下的枚举过程,可能是哪里出问题了,求大神帮忙提示一下

歌神flaming 2016-01-19 05:40:47
Device Phase Data Description Cmd.Phase.Ofs(rep)
------ ----- ------------------------ ---------------- ------------------
21.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 1.1.0
21.0 IN 12 01 00 02 00 00 00 40 .......@ 1.2.0
88 88 01 00 27 02 01 02 . ...'... 1.2.8
03 01 .. 1.2.16
21.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 2.1.0
21.0 IN 09 02 2c 00 01 01 00 e0 ..,..... 2.2.0
32 2 2.2.8
21.0 CTL 80 06 00 02 00 00 2c 00 GET DESCRIPTOR 3.1.0
21.0 IN 09 02 2c 00 01 01 00 e0 ..,..... 3.2.0
32 03 09 03 09 04 00 00 2....... 3.2.8
02 03 00 00 04 09 21 11 ......!. 3.2.16
01 00 01 22 7f 01 07 05 ...".... 3.2.24
21.0 CTL 00 09 01 00 00 00 00 00 SET CONFIG 4.1.0
21.0 CTL 21 0a 00 00 00 00 00 00 SET IDLE 5.1.0
21.0 CTL 80 06 00 02 00 00 09 00 GET DESCRIPTOR 6.1.0
21.0 USTS c0010000 canceled 6.2.0
21.0 USTS c0010000 canceled 5.2.0
21.0 CTL 81 06 00 22 00 00 bf 01 GET DESCRIPTOR 7.1.0
21.0 USTS c0010000 canceled 7.2.0
21 RESET 8.1.0
...全文
634 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
歌神flaming 2016-06-12
  • 打赏
  • 举报
回复
好久没来了,都忘记结贴了,我的问题解决了,原因是我在set idle的处理时,直接break了,没有将变量value=0(value之前初始化为一个负值)。导致后面没有调用usb_ep_queue(gadget->ep0, req, GFP_ATOMIC);而且在otg的dwc_otg_pcd_intr.c文件中没有对报告描素符的支持,好像是默认的不支持报告描素符,我做了一些修改,就解决了 int fflag=0; if (UGETW(ctrl.wValue)==0x2200) fflag=1; if (UT_GET_TYPE(ctrl.bmRequestType) != UT_STANDARD || fflag) {
fly 100% 2016-02-16
  • 打赏
  • 举报
回复
应该是一直无法获取设备的描述符  描述符里面包括了设备厂家 高速还是低俗设备等信息。原因可能有很多
歌神flaming 2016-01-20
  • 打赏
  • 举报
回复
先帮自己顶一下

1,319

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧