lkml.org 
[lkml]   [2005]   [Jul]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: VIA KT400 + Kernel 2.6.12 + IO-APIC + uhci_hcd = IRQ trouble
    Date
    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
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-07-25 20:09    [W:0.030 / U:121.504 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site