[bug report] pcmcia in kernel 2.4.0-test8

From: David Ford (david@kalifornia.com)
Date: Fri Sep 15 2000 - 02:59:41 EST


Summary:

Kernel pcmcia code doesn't work.
DHinds pcmcia code works only if kernel pcmcia code is completely
disabled.
USB Pegasus driver fails when kernel pcmcia code is enabled.

Attached is a text writeup of several tests.

-d

--
"The difference between 'involvement' and 'commitment' is like an
eggs-and-ham breakfast: the chicken was 'involved' - the pig was
'committed'."

Test reports: dmesg dump_cardbus dump_cis dump_pirq lspci sed -n '/^CONFIG.*\(CARDBUS\|PCMCIA\)/ {s/CONFIG_// p;}' .config

physical layout, two CB sockets. According to dhinds package, the bottom socket is #0 and the top socket is #1 ===========================================================================

test8: + reiserfs 3.6.14 kernel pcmcia (pci=biosirq)

PCMCIA=m CARDBUS=y NET_PCMCIA=y PCMCIA_PCNET=m NET_PCMCIA_RADIO=y PCMCIA_RAYCS=m PCMCIA_SERIAL=m PCMCIA_SERIAL_CS=m PCMCIA_SERIAL_CB=m

>modprobe yenta_socket yenta_socket 9740 0 pcmcia_core 39808 0 [yenta_socket]

>dmesg Linux PCMCIA Card Services 3.1.20 options: [pci] [cardbus] [pm] PCI: No IRQ known for interrupt pin B of device 00:03.1. Yenta: unable to register irq 0 PCI: No IRQ known for interrupt pin A of device 00:03.0. Yenta: unable to register irq 0

>modprobe ds /lib/modules/2.4.0-test8/kernel/drivers/pcmcia/ds.o: init_module: Operation not permitted Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters /lib/modules/2.4.0-test8/kernel/drivers/pcmcia/ds.o: insmod /lib/modules/2.4.0-test8/kernel/drivers/pcmcia/ds.o failed /lib/modules/2.4.0-test8/kernel/drivers/pcmcia/ds.o: insmod ds failed

>dmesg ds: no socket drivers loaded!

>strace -o /tmp/out -s 512 -f rmmod yenta_socket >tail -n 5 /tmp/out 1317 query_module(NULL, QM_MODULES, { /* 2 entries */ }, 2) = 0 1317 query_module("yenta_socket", QM_INFO, {address=0xcc90b000, size=9740, flags=MOD_RUNNING|MOD_VISITED|MOD_USED_ONCE, usecount=0}, 16) = 0 1317 query_module("pcmcia_core", QM_INFO, {address=0xcc900000, size=39808, flags=MOD_RUNNING|MOD_USED_ONCE, usecount=0}, 16) = 0 1317 delete_module("yenta_socket" <unfinished ...> 1317 +++ killed by SIGSEGV +++

>lsmod yenta_socket 0 0 (deleted) pcmcia_core 39808 0 [yenta_socket]

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ reboot

test8: + reiserfs 3.6.14 dhinds pcmcia (pci=biosirq)

>modprobe pcmcia_core >dmesg Linux PCMCIA Card Services 3.1.21 kernel build: 2.4.0-test8 #4 Thu Sep 14 21:10:53 PDT 2000 options: [pci] [cardbus] [apm]

>modprobe i82365 >dmesg Intel PCIC probe: <4>PCI: No IRQ known for interrupt pin A of device 00:03.0. PCI: No IRQ known for interrupt pin B of device 00:03.1.

Ricoh RL5C478 rev 03 PCI-to-CardBus at slot 00:03, mem 0x10000000 host opts [0]: [serial irq] [io 3/6/1] [mem 3/6/1] [no pci irq] [lat 168/176] [bus 2/3] host opts [1]: [serial irq] [io 3/6/1] [mem 3/6/1] [no pci irq] [lat 168/176] [bus 4/5] ISA irqs (default) = 3,4,7,11 polling interval = 1000 ms

>modprobe ds >dmesg cs: cb_alloc(bus 2): vendor 0x1011, device 0x0019

>modprobe cb_enabler >modprobe tulip_cb >cardmgr >dmesg cs: IO port probe 0x0c00-0x0cff: clean. cs: IO port probe 0x0800-0x08ff: clean. cs: IO port probe 0x0100-0x04ff: excluding 0x398-0x39f 0x3c0-0x3df 0x400-0x44f 0x4d0-0x4d7 cs: IO port probe 0x0a00-0x0aff: clean. cs: cb_config(bus 2) fn 0 bar 1: io 0x200-0x27f fn 0 bar 2: mem 0x600c0000-0x600c03ff fn 0 rom: mem 0x60080000-0x600bffff irq 3 cs: cb_enable(bus 2) bridge io map 0 (flags 0x21): 0x200-0x27f bridge mem map 0 (flags 0x1): 0x60080000-0x600c0fff tulip_attach(device 02:00.0) tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov (modified by danilo@cs.uni-magdeburg.de for XIRCOM CBE, fixed by Doug Ledford) eth1: Digital DS21143 Tulip rev 65 at 0x200, 00:E0:98:70:1E:AF, IRQ 3. eth1: EEPROM default media type Autosense. eth1: Index #0 - Media MII (#11) described by a 21142 MII PHY (3) block. eth1: MII transceiver #0 config 3000 status 7809 advertising 01e1.

>dump_pirq Interrupt routing table found at address 0xf5a80: Version 1.0, size 0x0080 Interrupt router is device 00:07.0 PCI exclusive interrupt mask: 0x0000 Compatible router: vendor 0x8086 device 0x1234

Device 00:01.0 (slot 0): INTA: link 0x60, irq mask 0x0420

Device 00:03.0 (slot 0): INTA: link 0x60, irq mask 0x0420 INTB: link 0x61, irq mask 0x0420

Device 00:04.0 (slot 0): INTA: link 0x61, irq mask 0x0420

Device 00:05.0 (slot 0): INTA: link 0x60, irq mask 0x0420

Device 00:07.0 (slot 0): INTA: link 0xfe, irq mask 0x4000 INTB: link 0xff, irq mask 0x8000 INTD: link 0x63, irq mask 0x0200

Device 00:11.0 (slot 1): INTA: link 0x60, irq mask 0x0420 INTB: link 0x61, irq mask 0x0420 INTC: link 0x62, irq mask 0x0800 INTD: link 0x61, irq mask 0x0420

Interrupt router: Intel 82371AB PIIX4/PIIX4E PCI-to-ISA bridge PIRQ1 (link 0x60): irq 10 PIRQ2 (link 0x61): irq 5 PIRQ3 (link 0x62): unrouted PIRQ4 (link 0x63): irq 9 Serial IRQ: [enabled] [continuous] [frame=21] [pulse=4]

>dump_cardbus Socket 0: Socket Event: 0x00000009 [cstschg] [pwrcycle] Socket Mask: 0x00000000 Socket State: 0x30000828 [pwrcycle] [32bit] [3Vcard] [5Vsock] [3Vsock] Socket Control: 0x00000033 [Vcc=3.3v] [Vpp=3.3v]

>dump_exca Socket 0: Identification and revision = 0x83 Interface status = 0x6c [detect] [ready] [poweron] Power control = 0x13 [resetdrv] [Vcc=5v] Interrupt and general control = 0x03 [reset] [irq=3] Card status change interrupt control = 0x00 [irq=0] Card detect and general control = 0x00 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]

>cardctl eject 0 tulip_detach(eth1) cs: cb_disable(bus 2) cs: cb_release(bus 2) cs: cb_free(bus 2)

>(pull card out, put in top socket) >dmesg cs: cb_alloc(bus 4): vendor 0x1011, device 0x0019 cs: cb_config(bus 4) fn 0 bar 1: io 0x200-0x27f fn 0 bar 2: mem 0x600c0000-0x600c03ff fn 0 rom: mem 0x60080000-0x600bffff irq 3 cs: cb_enable(bus 4) bridge io map 0 (flags 0x21): 0x200-0x27f bridge mem map 0 (flags 0x1): 0x60080000-0x600c0fff tulip_attach(device 04:00.0) tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov (modified by danilo@cs.uni-magdeburg.de for XIRCOM CBE, fixed by Doug Ledford) eth1: Digital DS21143 Tulip rev 65 at 0x200, 00:E0:98:70:1E:AF, IRQ 3. eth1: EEPROM default media type Autosense. eth1: Index #0 - Media MII (#11) described by a 21142 MII PHY (3) block. eth1: MII transceiver #0 config 3000 status 7809 advertising 01e1.

both sockets properly pass traffic.

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

test8: + reiserfs 3.6.14 kernel pcmcia code (pci=biosirq)

PCMCIA=y CARDBUS=y NET_PCMCIA=y PCMCIA_PCNET=y NET_PCMCIA_RADIO=y PCMCIA_RAYCS=y PCMCIA_NETCARD=y PCMCIA_SERIAL=y

>dmesg Linux PCMCIA Card Services 3.1.20 options: [pci] [cardbus] [pm] PCI: No IRQ known for interrupt pin B of device 00:03.1. Yenta: unable to register irq 0 PCI: No IRQ known for interrupt pin A of device 00:03.0. Yenta: unable to register irq 0 ds: no socket drivers loaded! Sep 14 22:51:03 nifty cardmgr[215]: no pcmcia driver in /proc/devices

>dmesg (without pci=biosirq) Linux PCMCIA Card Services 3.1.20 options: [pci] [cardbus] [pm] PCI: No IRQ known for interrupt pin B of device 00:03.1. Please try using pci=biosirq. Yenta: unable to register irq 0 PCI: No IRQ known for interrupt pin A of device 00:03.0. Please try using pci=biosirq. Yenta: unable to register irq 0 ds: no socket drivers loaded!

>dmesg with patches applied Linux PCMCIA Card Services 3.1.20 options: [pci] [cardbus] [pm] PCI: No IRQ known for interrupt pin B of device 00:03.1. Please try using pci=biosirq. Yenta: unable to register irq 0 PCI: No IRQ known for interrupt pin A of device 00:03.0. Please try using pci=biosirq. Yenta: unable to register irq 0 ds: no socket drivers loaded!

>dmesg with patches applied (pci=biosirq) Linux PCMCIA Card Services 3.1.20 options: [pci] [cardbus] [pm] PCI: No IRQ known for interrupt pin B of device 00:03.1. Please try using pci=biosirq. Yenta: unable to register irq 0 PCI: No IRQ known for interrupt pin A of device 00:03.0. Please try using pci=biosirq. Yenta: unable to register irq 0 ds: no socket drivers loaded!

--------------------- >dump_pirq Interrupt routing table found at address 0xf5a80: Version 1.0, size 0x0080 Interrupt router is device 00:07.0 PCI exclusive interrupt mask: 0x0000 Compatible router: vendor 0x8086 device 0x1234

Device 00:01.0 (slot 0): INTA: link 0x60, irq mask 0x0420

Device 00:03.0 (slot 0): INTA: link 0x60, irq mask 0x0420 INTB: link 0x61, irq mask 0x0420

Device 00:04.0 (slot 0): INTA: link 0x61, irq mask 0x0420

Device 00:05.0 (slot 0): INTA: link 0x60, irq mask 0x0420

Device 00:07.0 (slot 0): INTA: link 0xfe, irq mask 0x4000 INTB: link 0xff, irq mask 0x8000 INTD: link 0x63, irq mask 0x0200

Device 00:11.0 (slot 1): INTA: link 0x60, irq mask 0x0420 INTB: link 0x61, irq mask 0x0420 INTC: link 0x62, irq mask 0x0800 INTD: link 0x61, irq mask 0x0420

Interrupt router at 00:07.0: Intel 82371AB PIIX4/PIIX4E PCI-to-ISA bridge PIRQ1 (link 0x60): irq 10 PIRQ2 (link 0x61): irq 5 PIRQ3 (link 0x62): unrouted PIRQ4 (link 0x63): irq 9 Serial IRQ: [enabled] [continuous] [frame=21] [pulse=4]

....odd, this one is different >Interrupt router: Intel 82371AB PIIX4/PIIX4E PCI-to-ISA bridge >Interrupt router at 00:07.0: Intel 82371AB PIIX4/PIIX4E PCI-to-ISA bridge

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

00:01.0 PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 03) (prog-if 00 [Normal decode]) Flags: bus master, 66Mhz, medium devsel, latency 64 Bus: primary=00, secondary=01, subordinate=01, sec-latency=64 I/O behind bridge: 0000d000-0000dfff Memory behind bridge: fca00000-feafffff Prefetchable memory behind bridge: dc800000-dc8fffff

00:03.0 CardBus bridge: Ricoh Co Ltd RL5c478 (rev 03) Subsystem: NEC Corporation: Unknown device 8039 Flags: bus master, medium devsel, latency 168 Memory at 10000000 (32-bit, non-prefetchable) [size=4K] Bus: primary=00, secondary=02, subordinate=02, sec-latency=176 Memory window 0: 10c00000-10fff000 (prefetchable) Memory window 1: 11000000-113ff000 I/O window 0: 00001800-000018ff I/O window 1: 00001c00-00001cff 16-bit legacy interface ports at 0001

00:03.1 CardBus bridge: Ricoh Co Ltd RL5c478 (rev 03) Subsystem: NEC Corporation: Unknown device 8039 Flags: bus master, medium devsel, latency 168 Memory at 10001000 (32-bit, non-prefetchable) [size=4K] Bus: primary=00, secondary=04, subordinate=04, sec-latency=176 Memory window 0: 10400000-107ff000 (prefetchable) Memory window 1: 10800000-10bff000 I/O window 0: 00001000-000010ff I/O window 1: 00001400-000014ff 16-bit legacy interface ports at 0001

00:04.0 Multimedia audio controller: ESS Technology ES1978 Maestro 2E (rev 10) Subsystem: NEC Corporation ES1978 Maestro-2E Audiodrive Flags: bus master, medium devsel, latency 64, IRQ 5 I/O ports at ec00 [size=256] Capabilities: [c0] Power Management version 2

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

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

00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI]) Flags: bus master, medium devsel, latency 64, IRQ 9 I/O ports at ef80 [size=32]

00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02) Flags: medium devsel

01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage LT Pro AGP-133 (rev dc) (prog-if 00 [VGA]) Subsystem: ATI Technologies Inc 3D Rage LT Pro AGP-133 Flags: bus master, stepping, medium devsel, latency 64, IRQ 10 Memory at fd000000 (32-bit, non-prefetchable) [size=16M] I/O ports at dc00 [size=256] Memory at feaff000 (32-bit, non-prefetchable) [size=4K] Expansion ROM at feac0000 [disabled] [size=128K] Capabilities: [50] AGP version 1.0 Capabilities: [5c] Power Management version 1

Problem here, the USB pegasus net dev doesn't work with pcmcia compiled in. Not so nifty.


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Sep 15 2000 - 21:00:25 EST