Subject: Re: PCMCIA Interrupt Conflicts
To: None <netbsd-help@netbsd.org>
From: Christos Zoulas <christos@tac.gw.com>
List: netbsd-help
Date: 03/22/2005 17:05:26
In article <5336d65705032212591c9d5b1f@mail.gmail.com>,
Zach Crisler  <zcrisler@gmail.com> wrote:
>Hey!
>
>I am now banging my head against the wall regarding my previous
>problem <http://mail-index.netbsd.org/netbsd-help/2005/03/08/0006.html>.
>
>I have tried reconfiguring and compiling the kernel--passing it
>various masks and adjusting the i/o base and size.  Nothing is
>working!!!  From the dmesg on my previous post, the problem seems to
>be with uhci0, esm0, and cbb0/1 all interrupting at irq 11 (I guess?)
>after the install:
>
>    uhci0 at pci0 dev 7 function 2: Intel 82371AB USB Host Controller
>    (PIIX4) (rev. 0x01)
>    uhci0: interrupting at irq 11
>    ...
>    esm0 at pci0 dev 8 function 0: ESS Technology, Inc. Maestro 2E PCI
>    Audio Accelerator (rev. 0x10)
>    esm0: interrupting at irq 11
>    esm0: ac97: SigmaTel STAC9721/23 codec; 18 bit DAC, 18 bit ADC, SigmaTel 3D
>    ...
>    cbb0: interrupting at irq 11
>    cardslot0 at cbb0 slot 0 flags 0
>    cardbus0 at cardslot0: bus 2 device 0
>    pcmcia0 at cardslot0
>    cbb1: interrupting at irq 11
>    cardslot1 at cbb1 slot 1 flags 0
>    cardbus1 at cardslot1: bus 3 device 0
>    pcmcia1 at cardslot1
>
>If I enable pcibios(4) I see a _bunch of stuff_ that clearly tells me
>there is a problem with irq 11:
>
>    PCI BIOS rev. 2.1 found at 0xf0478
>    pcibios: config mechanism [1][x], special cycles [x][x], last bus 1
>    PCI IRQ Routing Table rev. 1.0 found at 0xf0970, size 0 bytes (-2 entries)
>    pcibios_pir_init: bad IRQ table size
>    PCI IRQ Routing Table rev. 1.0 found at 0xf4ef0, size 224 bytes (12 entries)
>    PCI Interrupt Router at 000:07:0 (Intel 82371AB PCI-to-ISA Bridge
>    (PIIX4) compatible)
>    PCI Exclusive IRQs: 11
>    ------------------------------------------
>    device vendor product pin PIRQ IRQ stage
>    ------------------------------------------
>    000:04:0 0x104c 0xac1c   A  0x00  11  0    already assigned
>    000:04:1 0x104c 0xac1c   A  0x00  11  0    already assigned
>    000:07:2 0x8086 0x7112   D  0x03  11  0    already assigned
>    000:08:0 0x125d 0x1978   A  0x02  11  0    already assigned
>    000:09:0 0x11c1 0x0449   A  0x02  11  0    already assigned
>    001:00:0 0x1002 0x4c4d   A  0x00  11  0    already assigned
>    ------------------------------------------
>    PCI fixup examining 8086:7190
>    PCI fixup examining 8086:7191
>    PCI fixup examining 1002:4c4d
>    PCI bridge 0: primary 0, secondary 1, subordinate 1
>    PCI fixup examining 104c:ac1c
>    PCI bridge 1: primary 0, secondary 2, subordinate 2
>    PCI fixup examining 104c:ac1c
>    PCI bridge 2: primary 0, secondary 3, subordinate 3
>    PCI fixup examining 8086:7110
>    PCI fixup examining 8086:7111
>    PCI fixup examining 8086:7112
>    PCI fixup examining 8086:7113
>    PCI fixup examining 125d:1978
>    PCI fixup examining 11c1:449
>    PCI bus #3 is the last bus
>    [System BIOS Setting]-----------------------
>    device vendor product
>    register space address    size
>    --------------------------------------------
>    000:00:0 0x8086 0x7190
>          10h mem  0x50000000 0x04000000
>                  [OK]
>    000:01:0 0x8086 0x7191
>                  [OK]
>    000:04:0 0x104c 0xac1c
>          10h mem  0x41100000 0x00001000
>                  [OK]
>    000:04:1 0x104c 0xac1c
>          10h mem  0x41180000 0x00001000
>                  [OK]
>    000:07:0 0x8086 0x7110
>                  [OK]
>    000:07:1 0x8086 0x7111
>          20h port 0x00003420 0x00000010
>                  [OK]
>    000:07:2 0x8086 0x7112
>          20h port 0x00003400 0x00000020
>                  [OK]
>    000:07:3 0x8086 0x7113
>                  [OK]
>    000:08:0 0x125d 0x1978
>          10h port 0x00003000 0x00000100
>                  [OK]
>    000:09:0 0x11c1 0x0449
>          10h mem  0x41200000 0x00000100
>          14h port 0x00003430 0x00000008
>          18h port 0x00003800 0x00000100
>                  [OK]
>    001:00:0 0x1002 0x4c4d
>          10h mem  0x40000000 0x01000000
>          14h port 0x00002000 0x00000100
>          18h mem  0x41000000 0x00001000
>                  [OK]
>    --------------------------[  0 devices bogus]
>    Physical memory end: 0x1ffec000
>    PCI memory mapped I/O space start: 0x20000000
>    
>I really really want to get this working...I have two possible Ethernet Cards:
>    - Linksys EtherFast PCMPC100 (the one used for the above problems,
>doing `ifconfig -l` does not list this device.)
>    - 3Com 3c575CT (this one is detected and listed by `ifconfig -l`
>but if I try to bring it up--it states "interrupting at 11" and then
>"device timeout".
>
>Does anyone have any suggestions?  I would really appreciate the help!

Have you considered trying a current kernel? The cardbus code is a lot
better there.

christos