Setting up Linux kernel 2.4.28 for reading linear flash PCMCIA cards

Matthew Hudson hexsane at gmail.com
Mon Mar 28 01:39:06 EST 2005


*This is being posted to newtontalk at newtontalk.net and
linux-mtd at lists.infradead.org*

Edit /usr/src/linux/.config to look like the following:

#
# Memory Technology Devices (MTD)
#
CONFIG_MTD=y
CONFIG_MTD_DEBUG=y
CONFIG_MTD_DEBUG_VERBOSE=3
CONFIG_MTD_PARTITIONS=m
CONFIG_MTD_CONCAT=m
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_CMDLINE_PARTS is not set
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=m
# CONFIG_MTD_BLOCK_RO is not set
CONFIG_FTL=m
# CONFIG_NFTL is not set

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=y
CONFIG_MTD_RAM=m
CONFIG_MTD_ROM=m
CONFIG_MTD_ABSENT=m
# CONFIG_MTD_OBSOLETE_CHIPS is not set
# CONFIG_MTD_AMDSTD is not set
# CONFIG_MTD_SHARP is not set
# CONFIG_MTD_JEDEC is not set

#
# Mapping drivers for chip access
#
# CONFIG_MTD_PHYSMAP is not set
# CONFIG_MTD_PNC2000 is not set
# CONFIG_MTD_SC520CDP is not set
# CONFIG_MTD_NETSC520 is not set
# CONFIG_MTD_SBC_GXX is not set
# CONFIG_MTD_ELAN_104NC is not set
# CONFIG_MTD_DILNETPC is not set
# CONFIG_MTD_MIXMEM is not set
# CONFIG_MTD_OCTAGON is not set
# CONFIG_MTD_VMAX is not set
# CONFIG_MTD_SCx200_DOCFLASH is not set
# CONFIG_MTD_L440GX is not set
# CONFIG_MTD_AMD76XROM is not set
# CONFIG_MTD_ICH2ROM is not set
# CONFIG_MTD_NETtel is not set
# CONFIG_MTD_SCB2_FLASH is not set
CONFIG_MTD_PCI=y
CONFIG_MTD_PCMCIA=y

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLKMTD is not set
# CONFIG_MTD_DOC1000 is not set
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOCPROBE is not set

#
# NAND Flash Device Drivers
#
# CONFIG_MTD_NAND is not set

I've been using this all day today and have had only one problem
(below). In newer kernels (2.6.x) calls to older kernel module hooks
have been deprecated so I haven't been able to get anything to work on
them.

If you have problems - I can't help you. I've tried the linux-mtd list
and they seem to not care that the drivers are broken. Maybe you can
fair a little better than I did: http://www.linux-mtd.infradead.org

If you try to use different sized devices (2MB, 4MB and 16MB in my
case) insert the smallest first. I've had Linux lock solid (!!!) once
when I inserted the 16MB card and then went to a smaller card. After 
rebooting and inserting the 2MB card I was able to insert any card
without a problem.

I hope this helps.

-Matt




More information about the linux-mtd mailing list