On Sun, 31 Oct 2004, N Lin wrote:

> Interesting it is indeed; the PCMCIA USB2 card has only two USB ports, not four.
> Even increasing the timeout (as suggested in your previous mail) can't get the first
> (reported) controller to initialize properly.
> 
> Is it possible that the PCMCIA card is incorrectly reporting the number of UHCI
> controllers (reporting 2 whereas only 1 is present), leading to the creation of
> a bogus UHCI controller (which cannot be initialized leading to the timeout error)
> in the driver, in addition to the real UHCI controller (which apparently, according
> to the logs, has been initialized OK)? 

I guess it's possible, depending on how the hardware was designed.  For 
example, maybe initially there were supposed to be two controllers (with 
four ports), but later it was decided to eliminate one of them.  Maybe 
the controller was removed but the PCI configuration information wasn't 
changed.  That doesn't explain why the EHCI controller was set up to use 
a non-existent companion.

It also seems kind of unlikely.  A better guess would be that there are
two UHCI controllers, each with one port attached to a connector and one
port attached to nothing, and the first controller is broken.

> Re: EHCI-UHCI handoff
> 
> > It should.  But the log messages don't indicate which companion has been 
> > asked to take over; is it the broken one at 0000:02:00.0 or the working 
> > one at 0000:02:00.1?
> 
> Since USB1 traffic isn't working, I guess the EHCI driver is trying to pass USB1 
> traffic onto the bogus non-initialized non-existent UHCI controller, instead of 
> passing it on to the correctly initialized UHCI controller. Again, there are 
> physically
> only two ports on the card, so it's odd that the card says it has 2 controllers each
> with 2 ports.

Odd yes, but not totally unprecedented.  UHCI controllers are generally
built with two ports.  Many laptops only have one USB connector;
internally the second port on the controller isn't connected to anything.  
The controller still tells the computer that it has two ports, but the
second one never does anything.

> So maybe I need to somehow (a) supress the creation of the "bogus" UHCI controller
> entry, and/or (b) explicitly tell EHCI to pass USB1 traffic onto the real controller
> and not the bogus one? Any easy way to do either of these?

(a) won't help, because it doesn't matter whether or not you have a
"bogus" entry if the hardware doesn't work.  (b) is impossible; the 
mapping from EHCI ports to companion UHCI controllers/ports is determined 
by the wiring on the card and can't be changed in software.

You left out option (c): exchange the PCMCIA card because it isn't 
working!

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to