USB
文章平均质量分 64
Ming_Kernel
如果曾经有过汗水里的耕耘,就会在收获的季节不致去懊悔曾经蹉跎的岁月
展开
-
usb驱动之设备插拔检测
先看一张熟悉的图:usb_bus_topo.png (94.28 KB, 下载次数: 0)下载附件2017-07-22 23:25 上传可见usb设备都是接在hub上的,设备的检测自然跟hub相关了,这里以root hub为例。看usb hub驱动代码,跟usb设备检测相关的有如下几处(按在hub_probe中的调用顺序):1.INIT_WORK(&原创 2017-07-23 11:22:15 · 4544 阅读 · 0 评论 -
USB驱动之xhci
xhci是USB3.0的host规范,对于SoC的芯片,xhci host作为一个platform_device,对应的驱动是usb_xhci_driver: dirvers/usb/host/xhci-plat.c 先看 xhci_init_driver: 这里用到了面向对象思想的多态,对hc_driver进行初始化。hc_driver是原创 2017-08-06 11:12:15 · 16605 阅读 · 0 评论 -
USB驱动之XHCI驱动调试总结二
最近公司测试USB发现一个问题:将U盘插在单板上重启会概率性的出现检测U盘失败的情况,要重新拔插才能正确识别到U盘。这里将这个问题的分析做一个总结。首先查看日志,有如下错误打印:xHCI dying or halted, can't queue_commandcouldn't allocate usb_device从日志信息可以看出来,在检测到U盘后创建usb_device原创 2017-10-01 23:25:12 · 13115 阅读 · 2 评论 -
USB驱动之XHCI驱动调试总结一
最近调公司一款芯片的USB接口的驱动,USB3.0的控制器,枚举失败,有如下错误打印:device descriptor read/8, error -110即读设备描述符超时,通过USB协议分析仪抓包,发现host没有发出GET_DESCRIPTOR请求,分析怀疑:1.驱动发出的GET_DESCRIPTOR请求数据不对2.有cache一致性问题导致host取到的数据不对通过原创 2017-09-16 15:06:57 · 11367 阅读 · 5 评论