On Tue, 16 May 2006, Ezequiel Valenzuela wrote: > Hi. > > I've been using Linux for a long time now (very actively for almost 10 > years now), and now I'm stuck with a configuration problem that > hopefully should be possible to work around. > > I have a Linksys WUSB54GP wireless network adapter. It works well > under Windows, and even under Linux on my desktop PC (even using it as > a USB 2.0 device). But on my laptop it's a different story. To cut a > long story short (see > http://bugzilla.kernel.org/show_bug.cgi?id=6374), I'm getting > unexpected "USB disconnect" after a few hours (independently of how > much the device was used) when using this device with the ehci-hcd > module. Using the same device as a USB 1.1 device (uhci-hcd module) > yields no problems, so now I'm trying to move on and use this device > as a USB 1.1 one until hopefully some day everything starts working > under ehci-hcd.
It would be interesting to know how Windows manages to make this work. Those disconnect events are caused by the hardware. Maybe there's a bug in your EHCI hardware that Windows knows how to compensate for but Linux doesn't (because the manufacturer hasn't made it publicly available). > I've made this device work by removing (rmmod) the ehci-hcd module. I've > been doing all of this with gentoo's suspend2-sources-2.6.16-r4, > gentoo-sources-2.6.14- > r2; and also with vanilla kernels 2.6.16.16, 2.6.17_rc3 and 2.6.17_rc4. > > This is an excerpt from /proc/bus/usb/devices: > > T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 > B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0 > D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 > P: Vendor=0000 ProdID=0000 Rev= 2.06 > S: Manufacturer=Linux 2.6.16-suspend2-r4 uhci_hcd > S: Product=UHCI Host Controller > S: SerialNumber=0000:00:10.0 > C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA > I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub > E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms > > T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 > D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 > P: Vendor=13b1 ProdID=0011 Rev= 0.04 > S: Manufacturer=Cisco-Linksys > S: Product=Wireless-G ProtableUSB Adapter > C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=300mA > I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff > Driver=ndiswrapper > E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms > E: Ad=01(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms > > As you see, the device is being used as a USB 1.1 one (Spd=12, Bus=01), > but USB 2.0 capable (Ver=2.00, and I've also seen this device recognised > as a USB 2.0 device on a previous configuration). Be careful about the words you use. The speed at which a USB device runs is not the same thing as the USB version it supports. In this case, your device supports USB-2.0 (and it is recognized as a USB-2.0 device) even though it is running at full speed (12 Mb/s). > The question I have for the nice people here is: how do I force the > kernel to use the uhci-hcd module instead of ehci-hcd *just for this > device*, considering that I want to plug other USB 2.0 devices to the > same machine? Is there any solution involving hotplug? (I think it's > probably "too late" for hotplug to determine which host controller > device to use). Can I edit some kernel source file (I haven't looked > into that yet) to force the other host controller driver (uhci-hcd) > instead of the automatically chosen one (ehci-hcd)? Unforunately there isn't any good way to do this. Although it is possible to force a particular device to use a UHCI controller instead of the EHCI controller, the code for it doesn't exist in the Linux kernel. There is a bad way to do it -- by unbinding the ehci-hcd driver from a particular EHCI controller. Then all devices attached to that controller will be forced to use the UHCI companion controller instead. However you probably don't want to do this. Especially not if you have only one EHCI controller in your computer; then it would be equivalent to unloading ehci-hcd. > The ndiswrapper module is handling the device at a higher level, > although I suspect this doesn't have much to do with the problem. I've > seen identical behaviour showing when using the open source rt2570 and > even rt2x00 projects' modules instead. > > Hope someone can help me with this. You're not the only person to ask for this feature. Maybe I'll find time to implement it. Alan Stern ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users
