On Wed, 2 Nov 2005, Charles Shannon Hendrix wrote:

> I have been using my USB2 devices with Linux for some time now, but
> recently have started having troubles with them.

I don't know what's going wrong with your EHCI controller, or how to fix 
it.  However I can answer your general questions.

> % cat /proc/interrupts
>            CPU0       
>   0:    2202121    IO-APIC-edge  timer
>   1:      10725    IO-APIC-edge  i8042
>   9:          0   IO-APIC-level  acpi
>  12:       7351    IO-APIC-edge  i8042
>  14:         12    IO-APIC-edge  ide0
>  15:         41    IO-APIC-edge  ide1
> 169:       1363   IO-APIC-level  libata
> 177:      32235   IO-APIC-level  sym53c8xx
> 185:      15841   IO-APIC-level  skge, ndiswrapper
> 193:        122   IO-APIC-level  ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, 
> uhci_hcd:usb4, uhci_hcd:usb5
> 201:          0   IO-APIC-level  EMU10K1
> 209:      80890   IO-APIC-level  nvidia
> NMI:          0 
> LOC:    2202372 
> ERR:          0
> MIS:          0
> 
> I have a question about what the line for USB controllers mean. I see
> one listing for EHCI, and 4 for UHCI. What do those entries refer to? I
> have 8 ports, so that doesn't seem right, and all of them are routed to
> the EHCI or UHCI controller depending on the device plugged in.

Each UHCI controller is wired to two ports (hence 4 controllers <-> 8
ports).  In addition, the single EHCI controller is connected to all 8
ports.  When a device is plugged in, the signals are electronically routed
to either the EHCI controller or the appropriate UHCI controller,
depending on the speed of the device.

The entries in your listing mean that all 5 controllers share the same IRQ 
line.  This is not a very good design, but I don't know what can be done 
about it.

> In /dev I see 5 USB major devices, and also in /proc/bus/usb.  Why don't
> I see eight?

You see one root hub per controller.  4 UHCI plus 1 EHCI makes 5 root 
hubs.

> Or, are those my hubs that are showing up? I have 1 single port hub and
> one five port hub, both of which are USB1. I have always plugging my
> USB2 devices directly into the computer because I've never bought a USB2
> external hub.

Root hubs are not the same as external (physical) hubs.  Root hubs are 
virtual; they represent part of a controller's functionality.

> The devices work fine if I plug them into an old USB1 hub, automatically
> downgrading to 12Mbps. 
> 
> All of my USB2 devices function perfectly at hispeed under FreeBSD,
> NetBSD, and Windows, and on older Linux kernel releases.

David Brownell (the maintainer for the ehci-hcd driver) may be able to 
give you more specific help.

Alan Stern



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to