Linux-2.6.7 + TI PCI1130 + Xircom CB Ethernet 10/100 = IRQ 0

DIG dig.list at nm.ru
Fri Jul 23 00:20:07 EDT 2004


Hello!

While upgrading the hard drive on my notebook computer (and, by consequence, switching to more recent OS and kernel), I've "lost" one of my PCMCIA card -- it does not work anymore.  

First, short description of my system:

  hardware: 
  -- system: Fujitsu Lifebook 555TX (upgraded memory and hard drive);
  -- ethernet controller 0: 3Com OfficeConnect 3CCSH 572BT LAN PC Card;
  -- ethernet controller 1: Xircom Cardbus Ethernet CBE2-10/100BTX 32-bit;
  -- BIOS allows to switch between PCIC-compatible and CardBus mode;

  OS: 
  -- slackware-X.0;

  kernel: 
  -- linux-2.4.26 (generic), linux-2.6.7 (generic).

3Com's LAN PC card still works.  When I try to set up Xircom ethernet card, the error message is "SIOCSIFFLAGS: Device or resource busy" (I presume, because Texas Instruments PCI1130 and Xircom, both got "Interrupt: pin A routed to IRQ 0").
This combination (PCI1130 + Xircom) was working (2-3 years ago, Slackware-7.1 + standalone PCMCIA package).

I tried both 2.4.26 and 2.6.7 kernels (with and without pci=biosirq parameter) -- it does not work.  Cardbus bridge always gets IRQ 0.

Here is some more information (BIOS in PCIC-compatible mode, Linux-2.6.7):

,---[ uname -a ]---
Linux lifebook 2.6.7 #1 Wed Jun 16 16:23:03 PDT 2004 i586 unknown unknown GNU/Linux
`---[ ]---

,---[ dmesg (filtered) ]---
Linux version 2.6.7 (root at tree) (gcc version 3.3.4) #1 Wed Jun 16 16:23:03 PDT 2004
[...]
ACPI: Unable to locate RSDP
[...]
ACPI: Subsystem revision 20040326
ACPI: Interpreter disabled.
[...]
Linux Kernel Card Services
  options:  [pci] [cardbus] [pm]
Intel ISA PCIC probe: not found.
Databook TCIC-2 PCMCIA probe: not found.
PCI: No IRQ known for interrupt pin A of device 0000:00:13.0. Please try using pci=biosirq.
Yenta: CardBus bridge found at 0000:00:13.0 [0000:0000]
Yenta: ISA IRQ mask 0x0eb8, PCI irq 0
Socket status: 30000019
PCI: No IRQ known for interrupt pin B of device 0000:00:13.1. Please try using pci=biosirq.
Yenta: CardBus bridge found at 0000:00:13.1 [0000:0000]
Yenta: ISA IRQ mask 0x0eb8, PCI irq 0
Socket status: 30000068
PCI: Enabling device 0000:05:00.0 (0000 -> 0003)
PCI: No IRQ known for interrupt pin A of device 0000:05:00.0. Please try using pci=biosirq.
PCI: Setting latency timer of device 0000:05:00.0 to 64
divert: allocating divert_blk for eth0
eth0: Xircom cardbus revision 3 at irq 0 
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0820-0x08ff: clean.
cs: IO port probe 0x0800-0x080f: clean.
cs: IO port probe 0x03e0-0x04ff: excluding 0x4d0-0x4d7
cs: IO port probe 0x0100-0x03af: excluding 0x128-0x12f 0x220-0x22f 0x378-0x37f 0x388-0x38f
cs: IO port probe 0x0a00-0x0aff: clean.
xircom cardbus adaptor found, registering as eth0, using irq 0 
cs: memory probe 0xa0000000-0xa0ffffff: clean.
  ASIC rev 1,<7>divert: allocating divert_blk for eth1
eth1: OfficeConnect 572B at io 0x300, irq 3, hw_addr 00:04:75:A1:B2:32.
 64K FIFO split 1:1 Rx:Tx, autoselect MII interface.
xircom cardbus adaptor found, registering as eth0, using irq 0 
xircom cardbus adaptor found, registering as eth0, using irq 0 
xircom cardbus adaptor found, registering as eth0, using irq 0 
eth1: found link beat
eth1: autonegotiation complete: 100baseT-FD selected
xircom cardbus adaptor found, registering as eth0, using irq 0 
xircom cardbus adaptor found, registering as eth0, using irq 0 
[...]
`---[ ]---

,---[ cat /proc/ioports ]---
0000-001f : dma1
0020-0021 : pic1
0040-005f : timer
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial
0300-031f : 3c574_cs
0376-0376 : ide1
03c0-03df : vesafb
03f6-03f6 : ide0
03f8-03ff : serial
0cf8-0cff : PCI conf1
4000-40ff : PCI CardBus #01
4400-44ff : PCI CardBus #01
4800-48ff : PCI CardBus #05
  4800-487f : 0000:05:00.0
    4800-487f : xircom_cb
4c00-4cff : PCI CardBus #05
f8f0-f8ff : 0000:00:02.0
  f8f0-f8f7 : ide0
  f8f8-f8ff : ide1
`---[ ]---

,---[ cat /proc/interrupts ]---
           CPU0       
  0:   26606936          XT-PIC  timer
  1:        624          XT-PIC  i8042
  2:          0          XT-PIC  cascade
  3:       3071          XT-PIC  3c574_cs
  8:          1          XT-PIC  rtc
 12:       6374          XT-PIC  i8042
 14:     115885          XT-PIC  ide0
 15:         51          XT-PIC  ide1
NMI:          0 
ERR:          0
`---[ ]---

,---[ lspci ]---
00:00.0 Host bridge: Intel Corp. 430MX - 82437MX Mob. System Ctrlr (MTSC) & 82438MX Data Path (MTDP) (rev 02)
00:01.0 Bridge: Intel Corp. 430MX - 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX) (rev 03)
00:02.0 IDE interface: CMD Technology Inc PCI0643
00:13.0 CardBus bridge: Texas Instruments PCI1130 (rev 04)
00:13.1 CardBus bridge: Texas Instruments PCI1130 (rev 04)
00:14.0 VGA compatible controller: Chips and Technologies F65550 (rev 05)
05:00.0 Ethernet controller: Xircom Cardbus Ethernet 10/100 (rev 03)
`---[ ]---

,---[ lspci -vv ]---
00:00.0 Host bridge: Intel Corp. 430MX - 82437MX Mob. System Ctrlr (MTSC) & 82438MX Data Path (MTDP) (rev 02)
	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

00:01.0 Bridge: Intel Corp. 430MX - 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX) (rev 03)
	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: 0

00:02.0 IDE interface: CMD Technology Inc PCI0643 (prog-if 8a [Master SecP PriP])
	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: 64 (500ns min, 1000ns max)
	Interrupt: pin A routed to IRQ 14
	Region 0: I/O ports at <ignored>
	Region 1: I/O ports at <ignored>
	Region 2: I/O ports at <ignored>
	Region 3: I/O ports at <ignored>
	Region 4: I/O ports at f8f0 [size=16]

00:13.0 CardBus bridge: Texas Instruments PCI1130 (rev 04)
	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 20
	Interrupt: pin A routed to IRQ 0
	Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=01, subordinate=04, sec-latency=176
	Memory window 0: 10400000-107ff000 (prefetchable)
	Memory window 1: 10800000-10bff000
	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

00:13.1 CardBus bridge: Texas Instruments PCI1130 (rev 04)
	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-
`---[ ]---

So, what could be done to fix this?  What would be the path of least resistance here?  Could this situation be fixed with setpci, kernel config or boot parameters, kernel patching or something else (without switching back to the standalone PCMCIA)?


Thank you in advance for any help or constructive suggestions,

-- 
DIG (Dmitri I GOULIAEV)
1024D/63A6C649 26A0 E4D5 AB3F C2D4 0112  66CD 4343 C0AF 63A6 C649






More information about the linux-pcmcia mailing list