Re: USB Storage Device Not Working
Alan Stern <[email protected]>
| Newsgroups | gmane.linux.usb.devel |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 14 Nov 2007, balajirrao wrote: > > Remember also that not all EHCI controllers have companions. Some have > > built-in Transaction Translators; I don't know how to force such > > controllers to set a port to full speed (maybe it can't be done). See > > how the ehci_is_TDI() test is used. Your code must work with both > > sorts of controllers. > > > I think the hardware takes of this if the device wont work under high > speed. Maybe, maybe not. Remember, the only reason you have this problem in the first place is because the device does provide the proper high-speed chirp signal during reset, so it does get connected at high speed -- it just doesn't _work_ at high speed. > > And don't forget that none of this should even be attempted if the port > > doesn't belong to the root hub. There's no way to tell an external hub > > to force a port to full speed. Your routine needs to test for this. > > > But suppose, a full speed device is plugged into a external hub. Wont > ehci_hcd then hand it over to the companion controller ? No. If it did, that would mean handing over the external hub plus all the devices attached to it -- including the high-speed devices! > Ok. Then I need to find out how to indentify a root hub. It's easy. If (hub->hdev->parent == NULL) then it's a root hub, otherwise it isn't. In other words, root hubs don't have parents. Alan Stern ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel