日期:2014-05-16  浏览次数:20797 次

关于usb root hub的问题
大家好:
最近在作freescale 51的东西,遇到一个问题希望可以得到大家的帮助。
在官方提供的Linux中,usb驱动默认有root hub而在我们自己的板子上没有root hub硬件,导致每次都启支不了Linux,系统当机,现在我想将Linux中关于usb的驱动改一下,但不知道从什么地方下手,谁能给些见议,本来想找原厂的人要,但是他们说让我们自己改,实在没有办法了。

------解决方案--------------------
没做过, 没相应资料可以dcu调试,看跑到哪挂掉, 找到这个函数所在模块, 再看看内核中有没有相应的编译选项可以去掉的.
如果没有, 可以考虑把这部分代码屏蔽掉. 虚拟个这样的硬件不知道可不可行,告诉kernel 有这样一个设备,但是具体工作时都跑nop.

------解决方案--------------------
freescale 51的哪款?
这款处理器是不是已经集成了 usb root hub了,

建议分几步,软件先放一边,
先看芯片的数据手册,看看有没有集成 usb root hub,
查看你们的原理图,看看在外围硬件上,是否已经把 USB 这条路打通了? 

如果你说的没有usb 方面的硬件, 那就是说你们根本用不了USB, 那么 是否直接注释到 usb 初始化,调用代码就好了呢?


------解决方案--------------------
那么是将root hub 挂在PCI/PCIe上面么?

什么样的硬件方案啊
------解决方案--------------------
root hub 不就是 你的那个usb host 么,
usb 3317 应该是一个usb phy 吧
------解决方案--------------------
你们的方案 不会是 
usb module (on fsl 51 chip) + external phy (usb3317)+ external hub controller 吧?

------解决方案--------------------
imx51我都用了一年了,usb这快没有问题的,你menuconfig后选上这几项就好了啊!EHCI HCD (USB 2.0) support, Support for Freescale controller, Support for DR host port on Freescale controller, Root Hub Transaction Translators , Improved Transaction Translator scheduling (EXPERIMENTAL)
------解决方案--------------------
最简单办法:系统配置时,将“usb” 模块禁止

要改驱动麻烦,roothub初始化和usb host很紧密,嵌入式平台,usb bus一般挂在 platform bus
------解决方案--------------------
root hub没有? 不知你们怎么弄的!root hub不是集成在host里的吗!