ehci_hcd 0000:00:0d.2: GetStatus port 1 status 001030 POWER sig=se0 OCC OC hub 1-0:1.0: over-current change on port 1 hub 1-0:1.0: enabling power on all ports ehci_hcd 0000:00:0d.2: GetStatus port 2 status 001030 POWER sig=se0 OCC OC hub 1-0:1.0: over-current change on port 2 hub 1-0:1.0: enabling power on all ports ehci_hcd 0000:00:0d.2: GetStatus port 3 status 001030 POWER sig=se0 OCC OC hub 1-0:1.0: over-current change on port 3 hub 1-0:1.0: enabling power on all ports ehci_hcd 0000:00:0d.2: GetStatus port 4 status 001030 POWER sig=se0 OCC OC hub 1-0:1.0: over-current change on port 4 hub 1-0:1.0: enabling power on all ports ... repeats forever ...
I've never really seen overcurrent reports with EHCI, but all the root hub code does is pass those two status bits up to the hub driver. So it'd seem hard for anything there to be wrong.
I think the hub driver might be doing something strange with overcurrent handling, at least in the case of ganged power switching (as found in your hardware). It's interesting that you report this same hardware combo works under XP. (Which I'd expect does more intelligent things with power under USB. Linux doesn't even do per-port budgeting.)
That might be combining with the wiring you reported on your PCI card ... where the controller reports four ports (from the silicon) but the board doesn't have all of them externally wired (only two A-jacks).
ehci_hcd 0000:00:0d.2: EHCI Host Controller ehci_hcd 0000:00:0d.2: reset hcs_params 0x2204 dbg=0 cc=2 pcc=2 ordered !ppc ports=4
The "!ppc" (no per-port power control), combined with "ordered" port assignment and UHCI, means that ports 1+2 go to the first UHCI (0000:00:0d.0), and ports 3+4 to the second (0000:00:0d.1).
Do you kno which two ports are wired up to your "A" sockets, on the card edge?
ehci_hcd 0000:00:0d.2: reset hcc_params 0002 thresh 0 uframes 256/512/1024 ehci_hcd 0000:00:0d.2: irq 5, pci mem d094cf00 ehci_hcd 0000:00:0d.2: new USB bus registered, assigned bus number 1 ehci_hcd 0000:00:0d.2: reset command 080002 (park)=0 ithresh=8 period=1024 Reset HALT ehci_hcd 0000:00:0d.2: init command 010009 (park)=0 ithresh=1 period=256 RUN ehci_hcd 0000:00:0d.2: USB 2.0 enabled, EHCI 0.95, driver 2003-Dec-29
I'm going to guess that your card has a VT6202 chip on it; you say it's VIA, and the data you sent says "EHCI 0.95", which doesn't leave many options. VT6202 hardware has always been a bit quirky, and maybe this is just a new quirk; you might find that a PCI card with a different EHCI chip works better. (NEC is common, I've also seen ALI.) Or even a VT6212, if you can find one.
ehci_hcd 0000:00:0d.2: root hub device address 1 usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1 drivers/usb/core/message.c: USB device number 1 default language ID 0x409 usb usb1: Product: EHCI Host Controller usb usb1: Manufacturer: Linux 2.6.3 ehci_hcd usb usb1: SerialNumber: 0000:00:0d.2 drivers/usb/core/usb.c: usb_hotplug usb usb1: registering 1-0:1.0 (config #1, interface 0) drivers/usb/core/usb.c: usb_hotplug hub 1-0:1.0: usb_probe_interface hub 1-0:1.0: usb_probe_interface - got id hub 1-0:1.0: USB hub found hub 1-0:1.0: 4 ports detected hub 1-0:1.0: standalone hub hub 1-0:1.0: ganged power switching hub 1-0:1.0: individual port over-current protection
That's interesting. You said that only the _second_ companion controller (0000:00:0d.1) got overcurrent reports. That suggests there are two different ganged switches ... likely not something Linux 2.2 expected (that's the vintage of the core of the hub driver code). I think everything's being reported "correctly", though it's clearly not being handled well.
hub 1-0:1.0: Single TT hub 1-0:1.0: TT requires at most 8 FS bit times hub 1-0:1.0: Port indicators are not supported hub 1-0:1.0: power on to power good time: 20ms hub 1-0:1.0: hub controller current requirement: 0mA hub 1-0:1.0: local power source is good hub 1-0:1.0: no over-current condition exists hub 1-0:1.0: enabling power on all ports
Thanks, that's essential info. It looks normal. I'd hope it's not immediately followed (within a second or so) with messages about those two "disabled" ports.
What happens when you plug in the webcam? I'd expect to see some hub diagnostics with respect to some specific port (1 or 2), beginning the malfunction you reported.
Also, what about the questions I asked last month:
Does this problem happen with each different port on
your PCI card? Does connecting your camera at boot
time behave differently from connecting it later
If you have a powered USB 2.0 hub, an interesting experiment would be to hook this camera up to that rather than to your VIA root hub. Almost all such external hubs have per-port power switching (and overcurrent protection). Linux may handle that type of hub better.
- Dave
------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel