simple cheapo CF card adaptor and Linux

As I’m about to go (almost) entirely digital, I’m looking for ways of reading CF cards on my Linux-based ThinkPad. I was in Henry’s clearance store yesterday, and they had PCMCIA CF card readers for $10. I’ve found that it works well, though it took me a while to get it going. Here’s what I did:

You will need to install Card Services for Linux, if you haven’t already. After that’s done, you can check which cards are installed with cardctl ident:

Socket 0:
  product info: "Wireless Network CardBus PC Card", "Global", "", ""
  manfid: 0x0097, 0x8402
Socket 1:
  product info: "LEXAR ATA FLASH CARD     ", "STORM  ", "ST BM"
  manfid: 0x4e01, 0x0200
  function: 4 (fixed disk)

Ignore the Socket 0 output — it’s my wireless network card. The adaptor in socket 1 does contain a Lexar CF card; you’ll get a different message if yours is a different manufacturer.

If you don’t get this, it’s likely that (somehow) your system isn’t preloading the ide-cs module; check the /etc/pcmcia/config file, and read the various pcmcia-cs manual pages.

If you check the output of the kernel messages (with dmesg, or your tool of choice), you should see:

hde: LEXAR ATA FLASH, CFA DISK drive

You’ll want to make a mount point for this disk, so mkdir -m777 /mnt/flash. Then you can edit /etc/fstab, and add:

/dev/hde1 /mnt/flash auto noauto,user,rw 0 0

From now on, you can access your camera’s CF card from /mnt/flash. No messing around with USB required!