compact flash stops working 2.6.3/8 -> 2.6.15.4

Peter T. Breuer ptb at inv.it.uc3m.es
Fri Mar 24 15:36:44 EST 2006


After shifting to kernel 2.6.15.4, my SD and compact flash cards are no
longer detected on my IBM TP X24. Switch back to an earlier kernel and
all works fine!

I've brought modutils (or whatever the thing that replaced it is
called nowadays), pcmcia-cs and pcmciautils as up to date as I can, and
other pcmcia cards work fine - I've tested with a plain serial modem.

Syslog says:

Mar 24 21:23:41 betty kernel: pccard: PCMCIA card inserted into slot 1
Mar 24 21:23:41 betty cardmgr[2283]: socket 1: Anonymous Memory
Mar 24 21:23:41 betty cardmgr[2283]: executing: 'modprobe memory_cs'
Mar 24 21:23:41 betty cardmgr[2283]: + FATAL: Module memory_cs not found.
Mar 24 21:23:41 betty cardmgr[2283]: modprobe exited with status 1
Mar 24 21:23:41 betty cardmgr[2283]: module /lib/modules/2.6.15.4/pcmcia/memory_cs.o not available
Mar 24 21:23:41 betty cardmgr[2283]: bind 'memory_cs' to socket 1 failed: Invali
d argument


Well, fine - there's no memory_cs (or memory-cs) module around for
earlier 2.6 kernels either, and that doesn't seem to have stopped it!

% sudo cardctl info
PRODID_1=""
PRODID_2=""
PRODID_3=""
PRODID_4=""
MANFID=0000,0000
FUNCID=255
PRODID_1=""
PRODID_2=""
PRODID_3=""
PRODID_4=""
MANFID=0000,0000
FUNCID=255
%

WTH?

I have loaded a few extra modules just to see if anything happens:

ide_cs                  9344  0 
pcmciamtd              11288  0 
mtdcore                 6340  1 pcmciamtd
chipreg                 3328  1 pcmciamtd

but nothing. No difference.

pcmcia                 33168  7 ide_cs,pcmciamtd,orinoco_cs

Why does pcmcia/config contain this entry if memory_cs is no longer
around?

  device "memory_cs" needs_mtd
    class "memory" module "memory_cs"

And I am nearly sure that my straight complact flash socket on the side
of the machine was handled by hotplug before? It used to load the
compact flash card as /dev/hde on /mnt/ide ... oh, that's the ide.opts
file's doing in /etc/pcmcia:


# ATA/IDE drive adapter configuration
#
# The address format is "scheme,socket,serial_no[,part]".
#
# For multi-partition devices, first return list of partitions in
# $PARTS.  Then, we'll get called for each partition.
#
case "$ADDRESS" in
*,*,*,1)
    #INFO="Sample IDE setup"
    # get cablework,1,X0414 20030207083419,1
    logger -p kern.info -t pcmcia/ide "$ADDRESS"
    DO_FSTAB="y" ; DO_FSCK="n" ; DO_MOUNT="y"
    FSTYPE="msdos"
    OPTS="users"
    MOUNTPT="/mnt/ide"
    ;;
*,*,*)
    PARTS="1"
    # Card eject policy options
    FSTYPE="msdos"
    NO_CHECK=n
    NO_FUSER=n
    ;;
esac


That worked fine before! Here's the complete log of such a mount:

Mar 23 13:51:10 betty kernel: cs: memory probe 0xa0000000-0xa0ffffff: clean.
Mar 23 13:51:10 betty cardmgr[1125]: socket 0: ATA/IDE Fixed Disk
Mar 23 13:51:10 betty cardmgr[1125]: executing: 'modprobe ide-cs'
Mar 23 13:51:10 betty kernel: hde: Memory Card Adapter, CFA DISK drive
Mar 23 13:51:10 betty kernel: ide2 at 0x100-0x107,0x10e on irq 3
Mar 23 13:51:10 betty kernel: hde: max request size: 128KiB
Mar 23 13:51:10 betty kernel: hde: 250880 sectors (128 MB) w/1KiB Cache, CHS=980
/8/32
Mar 23 13:51:10 betty kernel:  /dev/ide/host2/bus0/target0/lun0: p1
Mar 23 13:51:10 betty kernel: Module ide_cs cannot be unloaded due to unsafe usa
ge in include/linux/module.h:489
Mar 23 13:51:10 betty kernel: ide-cs: hde: Vcc = 3.3, Vpp = 0.0
Mar 23 13:51:10 betty cardmgr[1125]: executing: './ide start hde'
Mar 23 13:51:10 betty pcmcia/ide: wirelesshome,0,000000000000,1
Mar 23 13:51:11 betty kernel:  /dev/ide/host2/bus0/target0/lun0: p1
Mar 23 13:51:11 betty cardmgr[1125]: + /dev/hde1 on /mnt/ide type msdos (rw,noex
ec,nosuid,nodev)



So what is going on? Any clues gratefully accepted!

Peter









More information about the linux-pcmcia mailing list