Bug : Can't read CIS (3.2.4 + 2.4.22)

Jean Tourrilhes jt at bougret.hpl.hp.com
Fri Aug 15 18:02:14 BST 2003


	Hi David,

	Summary : the Pcmcia subsystem seems to no be able to read the
CIS on my new PC, and therefore always bind memory_cs to the card. Of
course, that's not the proper driver...

	Hardware :
	- P3 500MHz
	- Vadem VG-469 ISA-Pcmcia bridge (the Lucent ISA kind)
	- Aironet 350 or Linksys Prism 2.5 (16 bit wireless cards)

	Software :
	- Debian 3.0
	- Kernel 2.4.22-rc2
	- Kernel Pcmcia support disabled
	- Pcmcia 3.2.4

	Details :
	I've just got a new P3 500 MHz box, and I was migrating my
setup from an old PPro 200 MHz to it. I migrated the Pcmcia bridge and
Pcmcia card as well.
	First tried with kernel Pcmcia support, and it failed (no CIS,
bind memory_cs). Then tried Pcmcia package modules, same
results. Failure is 100% reliable and reproducible.

	With the old PC (PPro 200 MHz), under 2.4.X I've never had
such a failure, it was always working fine. However I had it
erratically with 2.5.X (on the old PC), but a reboot usually did fix
that and it was better in 2.6.X. I don't know if it's the same
problem. Also, some people have reported this kind of failure in 2.6.X
on LKML, but with different hardware.
	The main difference between the two PCs is the chipset,
processor and BIOS, the rest is pretty much the same, and all the
add-on cards were just migrated.

	I've dumped some of the usual debug below. I would be glad if
you could send me tip on how to debug that, I'm sure you have a magic
debug flag that will make things obvious.
	In particular, I do I make sure that the CIS was properly
mapped into memory ?

	Have fun...

	Jean

-------------------------------------------------------------------------

Linux PCMCIA Card Services 3.2.4
  kernel build: 2.4.22-rc2 #2 SMP Fri Aug 15 15:46:11 PDT 2003
  options:  [pci] [cardbus]
Intel ISA/PCI/CardBus PCIC probe:
  Vadem VG-469 rev 00 ISA-to-PCMCIA at port 0x3e0 ofs 0x00
    host opts [0]: none
    host opts [1]: none
    ISA irqs (scanned) = 3,4,5,10 polling interval = 1000 ms
cs: memory probe 0x0d0000-0x0dffff: excluding 0xd0000-0xdffff
cs: memory probe 0x0c0000-0x0cffff: excluding 0xc0000-0xcffff
memory_cs: mem0: anonymous: unknown size

---------------------------------------------------

Aug 15 16:19:53 lagaffe cardmgr[1343]: watching 2 sockets
Aug 15 16:19:53 lagaffe cardmgr[1344]: starting, version is 3.2.4
Aug 15 16:19:54 lagaffe cardmgr[1344]: socket 0: Anonymous Memory
Aug 15 16:19:54 lagaffe cardmgr[1344]: executing: 'modprobe memory_cs'
Aug 15 16:19:54 lagaffe cardmgr[1344]: executing: './memory start mem0'

---------------------------------------------------

# dump_cis
Socket 0:
  no CIS present

Socket 1:
  no CIS present
# dump_cis -f -v
Socket 0:
Socket 1:
  no card

---------------------------------------------------

# cat /proc/interrupts 
           CPU0       CPU1       
  0:      98454     109459    IO-APIC-edge  timer
  1:          3          2    IO-APIC-edge  keyboard
  2:          0          0          XT-PIC  cascade
  7:          3          7    IO-APIC-edge  WaveLAN
  8:          2          1    IO-APIC-edge  rtc
 12:          4          2    IO-APIC-edge  PS/2 Mouse
 16:      32240      33044   IO-APIC-level  aic7xxx, HP J2585B
NMI:          0          0 
LOC:     207829     207828 
ERR:          0
MIS:          0

# cat /proc/ioports    
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
02f8-02ff : serial(set)
0390-039f : wavelan
03c0-03df : vga+
03e0-03e1 : i82365
03f8-03ff : serial(set)
0cf8-0cff : PCI conf1
2180-219f : Intel Corp. 82371AB/EB/MB PIIX4 ACPI
7000-7fff : PCI Bus #02
  7800-78ff : LSI Logic / Symbios Logic 53c875
  7ce0-7cff : Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
8000-803f : Intel Corp. 82371AB/EB/MB PIIX4 ACPI
f400-f4ff : Hewlett-Packard Company J2585B HP 10/100VG PCI LAN Adapter
  f400-f41f : HP J2585B
f800-f8ff : Adaptec AIC-7880U
fcd0-fcdf : Intel Corp. 82371AB/EB/MB PIIX4 IDE
fce0-fcff : Intel Corp. 82371AB/EB/MB PIIX4 USB

# cat /proc/iomem   
00000000-0009f7ff : System RAM
0009f800-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000c8000-000ccfff : Extension ROM
000cd000-000d8fff : Extension ROM
000e0000-000e0fff : card services
000e1000-000e1fff : memory_cs
000f0000-000fffff : System ROM
00100000-0fffffff : System RAM
  00100000-0020409d : Kernel code
  0020409e-00272cbf : Kernel data
f6000000-f6ffffff : PCI Bus #01
  f6000000-f6ffffff : Matrox Graphics, Inc. MGA G200 AGP
f8000000-fbffffff : Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge
fdf00000-fdffffff : PCI Bus #02
  fdffe000-fdffefff : LSI Logic / Symbios Logic 53c875
  fdfff400-fdfff41f : Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
  fdfff800-fdfff8ff : LSI Logic / Symbios Logic 53c875
fe000000-feafffff : PCI Bus #01
  fe000000-fe7fffff : Matrox Graphics, Inc. MGA G200 AGP
  feaf8000-feafbfff : Matrox Graphics, Inc. MGA G200 AGP
fec00000-fec0ffff : reserved
fedfc000-fedfdfff : Hewlett-Packard Company J2585B HP 10/100VG PCI LAN Adapter
fedfe000-fedfefff : OPTi Inc. 82C861
fedff000-fedfffff : Adaptec AIC-7880U
  fedff000-fedfffff : aic7xxx
fee00000-fee00fff : reserved
ffff0000-ffffffff : reserved

---------------------------------------------------

# dump_exca 
Socket 0:
  Identification and revision = 0x83
  Interface status = 0xed
    [bvd1/stschg] [detect] [ready] [poweron] [gpi]
  Power control = 0xd1
    [output] [Vcc=5v] [Vpp=5v]
  Card voltage select = 0x00
    [Vcc=5v] [Vmax=5v] [5v only] [5v bus]
  Interrupt and general control = 0x40
    [irq=0]
  Card status change interrupt control = 0x08
    [detect] [irq=0]
  Card detect and general control = 0x00
   
  Card voltage sense = 0xff
    [a_vs1] [a_vs2] [b_vs1] [b_vs2]
  Extended mode A = 0x00
   
  Control register = 0x00
    [active low]
  Misc register = 0x80
    [unlock]
  memory 0: 0x0000-0x0fff @ 0x000e0000 [on] [8bit] [ws1]
  memory 1: 0x1000-0x1fff @ 0x000e1000 [on] [16bit]
  memory 2: 0x0000-0x0fff @ 0x00000000 [off] [8bit]
  memory 3: 0x0000-0x0fff @ 0x00000000 [off] [8bit]
  memory 4: 0x0000-0x0fff @ 0x00000000 [off] [8bit]
  io 0: 0x0000-0x0001 [off] [8bit]
  io 1: 0x0000-0x0001 [off] [8bit]

Socket 1:
  Identification and revision = 0x83
  Interface status = 0x80
    [gpi]
  Power control = 0x41
    [Vcc off] [Vpp=5v]
  Card voltage select = 0x00
    [Vcc=5v] [Vmax=5v] [5v only] [5v bus]
  Interrupt and general control = 0x40
    [irq=0]
  Card status change interrupt control = 0x08
    [detect] [irq=0]
  Card detect and general control = 0x00
   
  Card voltage sense = 0xff
    [a_vs1] [a_vs2] [b_vs1] [b_vs2]
  Extended mode B = 0x00
   
  Control register = 0x00
    [active low]
  Misc register = 0x80
    [unlock]
  memory 0: 0x0000-0x0fff @ 0x00000000 [off] [8bit]
  memory 1: 0x0000-0x0fff @ 0x00000000 [off] [8bit]
  memory 2: 0x0000-0x0fff @ 0x00000000 [off] [8bit]
  memory 3: 0x0000-0x0fff @ 0x00000000 [off] [8bit]
  memory 4: 0x0000-0x0fff @ 0x00000000 [off] [8bit]
  io 0: 0x0000-0x0001 [off] [8bit]
  io 1: 0x0000-0x0001 [off] [8bit]


---------------------------------------------------

# dump_pirq 
Interrupt routing table found at address 0xfdf30:
  Version 1.0, size 0x00b0
  Interrupt router is device 00:07.0
  PCI exclusive interrupt mask: 0x0000 []
  Compatible router: vendor 0x8086 device 0x122e

Device 00:10.0 (slot 1): 
  INTA: link 0x61, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTB: link 0x62, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTC: link 0x63, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTD: link 0x60, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]

Device 00:11.0 (slot 2): 
  INTA: link 0x62, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTB: link 0x63, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTC: link 0x60, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTD: link 0x61, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]

Device 00:12.0 (slot 3): 
  INTA: link 0x60, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTB: link 0x61, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTC: link 0x62, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTD: link 0x63, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]

Device 00:13.0 (slot 4): 
  INTA: link 0x61, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTB: link 0x62, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTC: link 0x63, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTD: link 0x60, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]

Device 00:00.0 (slot 0): 

Device 00:07.0 (slot 0): 
  INTA: link 0x60, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTB: link 0x61, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTC: link 0x62, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTD: link 0x63, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]

Device 00:01.0 (slot 0): 

Device 01:00.0 (slot 33): 
  INTA: link 0x62, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]
  INTB: link 0x63, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]

Device 00:08.0 (slot 0): 
  INTA: link 0x60, irq mask 0x5ef8 [3,4,5,6,7,9,10,11,12,14]

Interrupt router at 00:07.0: Intel 82371AB PIIX4/PIIX4E PCI-to-ISA bridge
  PIRQ1 (link 0x60): irq 9
  PIRQ2 (link 0x61): irq 9
  PIRQ3 (link 0x62): irq 9
  PIRQ4 (link 0x63): irq 11
  Serial IRQ: [disabled] [quiet] [frame=21] [pulse=4]
  Level mask: 0x0a00 [9,11]

---------------------------------------------------

# lspci
00:00.0 Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX - 82443BX/ZX AGP bridge (rev 03)
00:07.0 ISA bridge: Intel Corp. 82371AB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 02)
00:08.0 SCSI storage controller: Adaptec AIC-7880U (rev 01)
00:10.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev 03)
00:11.0 USB Controller: OPTi Inc. 82C861 (rev 10)
00:12.0 Ethernet controller: Hewlett-Packard Company J2585B
01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200 AGP (rev 03)
02:04.0 SCSI storage controller: LSI Logic / Symbios Logic (formerly NCR) 53c875 (rev 26)
02:05.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet LANCE] (rev 36)

# lspci -v 
00:00.0 Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
        Flags: bus master, medium devsel, latency 64
        Memory at f8000000 (32-bit, prefetchable) [size=64M]
        Capabilities: [a0] AGP version 1.0

00:01.0 PCI bridge: Intel Corp. 440BX/ZX - 82443BX/ZX AGP bridge (rev 03) (prog-if 00 [Normal decode])
        Flags: bus master, 66Mhz, medium devsel, latency 128
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
        Memory behind bridge: fe000000-feafffff
        Prefetchable memory behind bridge: f6000000-f6ffffff

00:07.0 ISA bridge: Intel Corp. 82371AB PIIX4 ISA (rev 02)
        Flags: bus master, medium devsel, latency 0

00:07.1 IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 01) (prog-if 80 [Master])
        Flags: bus master, medium devsel, latency 64
        I/O ports at fcd0 [size=16]

00:07.2 USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
        Flags: medium devsel, IRQ 19
        I/O ports at fce0 [disabled] [size=32]

00:07.3 Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 02)
        Flags: medium devsel, IRQ 9

00:08.0 SCSI storage controller: Adaptec AIC-7880U (rev 01)
        Subsystem: Adaptec AIC-7880P Ultra/Ultra Wide SCSI Chipset
        Flags: bus master, medium devsel, latency 64, IRQ 16
        I/O ports at f800 [disabled] [size=256]
        Memory at fedff000 (32-bit, non-prefetchable) [size=4K]
        Expansion ROM at <unassigned> [disabled] [size=64K]
        Capabilities: [dc] Power Management version 1

00:10.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev 03) (prog-if 00 [Normal decode])
        Flags: bus master, medium devsel, latency 64
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=68
        I/O behind bridge: 00007000-00007fff
        Memory behind bridge: fdf00000-fdffffff
        Capabilities: [dc] Power Management version 1

00:11.0 USB Controller: OPTi Inc. 82C861 (rev 10) (prog-if 10 [OHCI])
        Subsystem: OPTi Inc. 82C861
        Flags: medium devsel, IRQ 18
        Memory at fedfe000 (32-bit, non-prefetchable) [disabled] [size=4K]

00:12.0 Ethernet controller: Hewlett-Packard Company J2585B
        Subsystem: Hewlett-Packard Company J2585B DeskDirect 10/100VG NIC
        Flags: bus master, medium devsel, latency 64, IRQ 16
        I/O ports at f400 [size=256]
        Memory at fedfc000 (32-bit, non-prefetchable) [disabled] [size=8K]

01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200 AGP (rev 03) (prog-if 00 [VGA])
        Subsystem: Matrox Graphics, Inc. Millennium G200 AGP
        Flags: bus master, medium devsel, latency 128, IRQ 18
        Memory at f6000000 (32-bit, prefetchable) [size=16M]
        Memory at feaf8000 (32-bit, non-prefetchable) [size=16K]
        Memory at fe000000 (32-bit, non-prefetchable) [size=8M]
        Expansion ROM at <unassigned> [disabled] [size=64K]
        Capabilities: [dc] Power Management version 1
        Capabilities: [f0] AGP version 1.0

02:04.0 SCSI storage controller: LSI Logic / Symbios Logic (formerly NCR) 53c875 (rev 26)
        Subsystem: LSI Logic / Symbios Logic (formerly NCR): Unknown device 1000
        Flags: bus master, medium devsel, latency 72, IRQ 17
        I/O ports at 7800 [size=256]
        Memory at fdfff800 (32-bit, non-prefetchable) [size=256]
        Memory at fdffe000 (32-bit, non-prefetchable) [size=4K]
        Expansion ROM at <unassigned> [disabled] [size=256K]
        Capabilities: [40] Power Management version 1

02:05.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet LANCE] (rev 36)
        Subsystem: Hewlett-Packard Company Ethernet with LAN remote power Adapter
        Flags: bus master, medium devsel, latency 64, IRQ 18
        I/O ports at 7ce0 [size=32]
        Memory at fdfff400 (32-bit, non-prefetchable) [size=32]
        Expansion ROM at <unassigned> [disabled] [size=1M]
        Capabilities: [40] Power Management version 1

---------------------------------------------------




More information about the linux-pcmcia mailing list