Linux 2.6.x / EnE CB1410 cardbus - No Interrupts
jeff at planetfall.com
Fri Mar 19 14:00:56 GMT 2004
I have a PCI<->Cardbus bridge card that uses the EnE 1410
chip. (http://www.elandigitalsystems.com/adapter/p311.php) I have
tried kernel 2.6.3 & 2.6.4. The problem seems to be that even though
yenta_socket and my cardbus device (Tulip ethernet) get assigned an IRQ,
they do not actually get any interrupts.
I noticed that if I share an IRQ with another device, and that device
generates a lot of IRQs on its own, then my cardbus device works. As soon
as I unload the driver for that other device, the cardbus device stops
working again. (For this I used the nvidia kernel driver and started X.
When I switch back to a console, the card stops working. If I leave
a ping running and switch to X and back, I get ping responses for the
duration of time that I was in X. Under X itself, network transfers
happen at full speed.)
I have tried different slots. I have tried "noacpi noapic pci=biosirq"
and that had no effect either. I tried one other motherboard, and on
that motherboard, Linux did nothing when I inserted a card. (It showed
the slot was empty.) The kernels were exactly the same.
Unfortunately I am stuck with a 2.6 kernel, and I am stuck with this
hardware, as it's the only device I could find that fits in a low-profile
Do you know of any gotchas with this device, or where I might start
looking to fix it? FreeBSD treats the ENE chips as TI 12XX chips, and
I tried hacking yenta_socket to match it as one, but that was not the
00:0d.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller
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: 168, Cache Line Size: 0x08 (32 bytes)
Interrupt: pin A routed to IRQ 16
Region 0: Memory at 20000000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=03, subordinate=06, sec-latency=176
Memory window 0: 20400000-207ff000 (prefetchable)
Memory window 1: 20800000-20bff000
I/O window 0: 00004000-000040ff
I/O window 1: 00004400-000044ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
16-bit legacy interface ports at 0001
0: 2973261 2910113 IO-APIC-edge timer
1: 7915 9267 IO-APIC-edge i8042
2: 0 0 XT-PIC cascade
8: 1 0 IO-APIC-edge rtc
12: 38608 37696 IO-APIC-edge i8042
14: 37176 38100 IO-APIC-edge ide0
15: 1 0 IO-APIC-edge ide1
16: 164086 164251 IO-APIC-level yenta, eth2, nvidia
19: 1235 756 IO-APIC-level uhci_hcd
NMI: 0 0
LOC: 5883039 5883051
Mar 19 12:15:54 localhost kernel: PCI: Enabling device 0000:00:0d.0 (0000 -> 0002)
Mar 19 12:15:54 localhost kernel: Yenta: CardBus bridge found at 0000:00:0d.0 [0000:0000]
Mar 19 12:15:54 localhost kernel: Yenta: Enabling burst memory read transactions
Mar 19 12:15:54 localhost kernel: Yenta: Using CSCINT to route CSC interrupts to PCI
Mar 19 12:15:54 localhost kernel: Yenta: Routing CardBus interrupts to PCI
Mar 19 12:15:54 localhost kernel: Yenta: ISA IRQ mask 0x0000, PCI irq 16
Mar 19 12:15:54 localhost kernel: Socket status: 30000020
Mar 19 12:15:54 localhost kernel: Linux Tulip driver version 1.1.13 (May 11, 2002)
Mar 19 12:15:54 localhost kernel: PCI: Enabling device 0000:03:00.0 (0000 -> 0003)
Mar 19 12:15:54 localhost kernel: tulip0: EEPROM default media type Autosense.
Mar 19 12:15:54 localhost kernel: tulip0: Index #0 - Media MII (#11) described by a 21142 MII PHY (3) block.
Mar 19 12:15:54 localhost kernel: tulip0: MII transceiver #0 config 3000 status 7809 advertising 01e1.
Mar 19 12:15:54 localhost kernel: eth2: Digital DS21143 Tulip rev 65 at 0x4000, 00:E0:98:06:B1:A2, IRQ 16.
More information about the linux-pcmcia