public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Michel Bouissou <michel@bouissou.net>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: bjorn.helgaas@hp.com, "Protasevich,
	Natalie" <Natalie.Protasevich@UNISYS.com>,
	linux-kernel@vger.kernel.org
Subject: Re: VIA KT400 + Kernel 2.6.12 + IO-APIC + uhci_hcd = IRQ trouble
Date: Mon, 25 Jul 2005 20:06:16 +0200	[thread overview]
Message-ID: <200507252006.17330@totor.bouissou.net> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0507171606320.30920-100000@netrider.rowland.org>

Le Dimanche 17 Juillet 2005 22:36, Alan Stern a écrit :
>
> To start out, try to determine whether each of the UHCI controllers really
> is mapped to IRQ 21.

I performed the tests you described, and here are the results I got.

First an exact description of my USB hardware.

My Gigabyte GA7-VAXP motherboard has 6 USB connectors.

- 2 integrated within the MB connectors plate (close to the PS/2 kbd/mouse 
connectors). Those have no cables and aren't prone to cable problems...

- 2 on a supplementary plate on the back. The plate and cables were provided 
with the MB.

- 2 on the front of my (good quality) Antec case, connectors and cables 
provided with the Antec case.

- The connectors on the supplementary plate and those on the case are 
connected to corresponding connectors on the motherboard.

All these connectors used to work perfectly in kernel 2.4, and I choose them 
only for ergonomic/position reasons, usually:

1/ The mouse (low-speed) connected to one of the MB integrated connectors

2/ The scanner (full-speed) connected to the supplementary plate on the back

3/ Removable devices (Camera, Flashdisks, full-speed or high-speed) usually 
connected to the case front-panel connectors.


Regarding USB, the output of "lspci -vv" says :

00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 
Controller (rev 80) (prog-if 00 [UHCI])
        Subsystem: Giga-byte Technology GA-7VAX Mainboard
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32, cache line size 08
        Interrupt: pin A routed to IRQ 10
        Region 4: I/O ports at cc00 [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME+

00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 
Controller (rev 80) (prog-if 00 [UHCI])
        Subsystem: Giga-byte Technology GA-7VAX Mainboard
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32, cache line size 08
        Interrupt: pin B routed to IRQ 10
        Region 4: I/O ports at d000 [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME+

00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 
Controller (rev 80) (prog-if 00 [UHCI])
        Subsystem: Giga-byte Technology GA-7VAX Mainboard
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32, cache line size 08
        Interrupt: pin C routed to IRQ 10
        Region 4: I/O ports at d400 [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME+

00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82) (prog-if 20 
[EHCI])
        Subsystem: Giga-byte Technology GA-7VAX Mainboard
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- 
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32, cache line size 10
        Interrupt: pin D routed to IRQ 11
        Region 0: Memory at e3009000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-


> Do this by booting with no USB devices plugged in, 
> and then plugging a full- or low-speed device (like a USB mouse) into each
> of the ports in turn.  Check to make sure it works in each port and that
> that counts for IRQ 21 in /proc/interrupts increase each time.  To make
> this even more reliable you should run the test twice -- you don't have to
> reboot in between.  The first time, rmmod ehci-hcd before plugging in
> anything; the second time modprobe ehci-hcd before plugging.

I've booted without any USB devices and did the following:

1/ rmmod ehci-hcd

2/ Plugged the mouse in each and every USB connector I have, in turn. The 
mouse was working good on each of them. IRQ 21 showed nicely incrementing 
each time I plugged / unplugged or moved the plugged mouse. System was happy 
and didn't log anything abnormal.

3/ Unplugged the mouse

4/ modprobe ehci-hcd

5/ Plugged the mouse. Immediately got "IRQ21: Nobody cared" and "Disabling IRQ 
21" messages.
=> Noticed IRQ21 count has suddenly been set to exactly 200000
After this, the mouse was now behaving slowly and erratically (USB polled 
without interrupts ?)

6/ Unplugged the mouse, then:
- rmmod ehci-hcd
- rmmod uhci-hcd
- modprobe ehci-hcd

7/ Plugged the mouse back. It was working happily again.

8/ Keeping the mouse plugged:
- modprobe ehci-hcd
=> Immediately got the IRQ21 insults again.
=> Noticed IRQ21 count has suddenly been set to exactly 400000
Mouse behaviour was slow and erratical again.

Repeated steps 6-8 using another USB socket, with the exact same results.

What do you think about this ?

Thanks again for your help.

Cheers.

-- 
Michel Bouissou <michel@bouissou.net> OpenPGP ID 0xDDE8AC6E

  parent reply	other threads:[~2005-07-25 18:06 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <19D0D50E9B1D0A40A9F0323DBFA04ACCE04C5D@USRV-EXCH4.na.uis.unisys.com>
2005-07-17 17:58 ` VIA KT400 + Kernel 2.6.12 + IO-APIC + uhci_hcd = IRQ trouble Michel Bouissou
2005-07-17 20:36   ` Alan Stern
2005-07-17 21:20     ` Michel Bouissou
2005-07-17 21:51       ` Michel Bouissou
2005-07-18 16:12       ` Alan Stern
2005-07-25 18:06     ` Michel Bouissou [this message]
2005-07-25 19:18       ` Alan Stern
2005-07-25 19:31         ` Michel Bouissou
2005-07-25 20:14         ` Michel Bouissou
2005-07-25 20:44           ` Alan Stern
2005-07-25 22:29             ` Michel Bouissou
2005-07-26  1:56               ` Alan Stern
     [not found] ` <200507172022.46975@totor.bouissou.net>
2005-07-19 23:09   ` Mathieu Bérard
2005-07-26  2:13 Protasevich, Natalie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200507252006.17330@totor.bouissou.net \
    --to=michel@bouissou.net \
    --cc=Natalie.Protasevich@UNISYS.com \
    --cc=bjorn.helgaas@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox