Anders Misfeldt wrote:
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

Reply via email to