Problem:
------------
Hard boot of an old kernel required to
get PCMCIA Card Services working with a new kernel.
Description:
-------------
I have EPS Tech. MP-979 Laptop with an O2Micro OZ6836/OZ6860
CardBus controller and a 56K modem card (Lucent Tech. Venus
I think?). The BIOS setting for pnp is yes.
I recently upgraded my 2.0.35 kernel to 2.2.13-7mdk.
The 56K modem card was working with PCMCIA Card Services
version 3.0.4 compiled into the kernel. To get
the card detected in the 2.0.35 kernel, I had to
include memory 0xd8000-0xdffff in /etc/pcmcia/config.opts.
For the new kernel, as suggested by the PCMCIA-HOWTO,
I added include memory 0xa0000000-0xa0ffffff to /etc/pcmcia/config.opts.
My problem is that the new kernel fails to load the PCMCIA
modules (based on Card Services 3.1) and generates an oops:
Linux PCMCIA Card Services 3.1.0
kernel build: 2.2.13-7mdk #1 Wed Sep 15 18:02:18 CEST 1999
options: [pci] [cardbus] [apm] [pnp]
PnP: PNP BIOS installation structure at 0x800f6270
PnP: PNP BIOS version 1.0, entry at f0000:a4e3, dseg at 400
PCI routing table version 1.0 at 0xfdf80
00:08.2 -> irq 0
00:03.0 -> irq 0
00:03.1 -> irq 0
Intel PCIC probe: <6>base 68000000: ff ff ff ff
base f8000000: ff ff ff ff
Bridge register mapping failed: check cb_mem_base setting
Unable to handle kernel paging request at virtual address 84834800
current->tss.cr3 = 026d5000, %cr3 = 026d5000
*pde = 03c80063
*pte = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<8482d847>]
I tracked this done to the idnetify routine of the i82365.o
module.
If however, I hard boot the old 2.0.35 kernel first, and then
warm reboot the new kernel, the modules load and the
card is recognized. (Further warm reboots of the new
kernel result in modules loading correctly and the card
being recognized:
Linux PCMCIA Card Services 3.1.0
kernel build: 2.2.13-7mdk #1 Wed Sep 15 18:02:18 CEST 1999
options: [pci] [cardbus] [apm] [pnp]
PnP: PNP BIOS installation structure at 0x800f6270
PnP: PNP BIOS version 1.0, entry at f0000:a4e3, dseg at 400
PCI routing table version 1.0 at 0xfdf80
00:08.2 -> irq 0
00:03.0 -> irq 0
00:03.1 -> irq 0
Intel PCIC probe:
O2Micro OZ6836/OZ6860 PCI-to-CardBus at bus 0 slot 3, mem 0x68000000, 2 sockets
host opts [0]: [a 44] [b 81] [c 00] [d 83] [mhpg 18] [fifo 08] [e 0a] [no pci irq] [lat 168/176] [bus 32/34]
host opts [1]: [a 44] [b 8d] [c 50] [d 83] [mhpg 18] [fifo 08] [e 0a] [no pci irq] [lat 168/176] [bus 35/37]
ISA irqs (default) = 3,4,5,7,9,10,11,12 polling interval = 1000 ms
cs: IO port probe 0x0100-0x03ff: excluding 0x200-0x207
cs: memory probe 0xa0000000-0xa0ffffff: excluding 0xa0000000-0xa00fffff
tty02 at 0x03e8 (irq = 3) is a 16550A
Any suggestions on how to get things working without
a hard reboot of the old kernel?
/etc/sysconfig/pcmcia:
PCMCIA=yes
PCIC=i82365
CORE_OPTS=
CARDMGR_OPTS=
/etc/pcmcia/config.opts
include port 0x100-0x3ff
include memory 0xd8000-0xdffff
include memory 0xa0000000-0xa0ffffff
include memory 0x44000000-0x44001fff
include memory 0x48000000-0x48ffffff
exclude irq 4
Some things I tried:
--------------------
I get similar pattern with kernel 2.3.24 and PCMCIA
Card Services version 3.1.4. Instead of an oops it
generates a loop beep+high beep. The modules load,
but the card is detected as anonymous memory. I tried
restarting cardmgr with a few different memory ranges
in config.opts without success.
Thanks in advance,
--- Michael
|
Messages