As long as it sees the card at all, it will create a device node which you can dd from.
Right now, I think it's not even seeing the card -- at least on XP and OS X. I haven't had the chance to try it under linux, yet, but I'm expecting it to be the same behaviour. I tested a good card, and it created a device node under /dev (sda1, I think), but wouldn't create anything for the bad card.
Now that I've tested under Linux, to be more precise, when I plug in the card reader, it creates 4 device nodes,
/dev/sd[b-e] (it's a multi-card reader). When I insert a good card, an additional device node,
/dev/sdc1, is created. Inserting the bad card does nothing. The little blinky transfer light on the card reader doesn't even flash, the way it does for the good card.
Attempting to open the
/dev/sdc device directly (in python,
os.open("/dev/sdc", os.O_RDONLY)) spits back a
"No medium found: '/dev/sdc'" error when the bad card is inserted, but is successful when the good card is inserted.
Nothing shows up in
/var/log/messages when I insert the bad card. Inserting a good card generates the following:
Apr 10 14:55:17 congo kernel: SCSI device sdc: 64000 512-byte hdwr sectors (33 MB)
Apr 10 14:55:17 congo kernel: sdc: Write Protect is off
Apr 10 14:55:17 congo kernel: sdc: assuming drive cache: write through
Apr 10 14:55:17 congo kernel: SCSI device sdc: 64000 512-byte hdwr sectors (33 MB)
Apr 10 14:55:17 congo kernel: sdc: Write Protect is off
Apr 10 14:55:17 congo kernel: sdc: assuming drive cache: write through
Apr 10 14:55:17 congo kernel: sdc: sdc1
At this point, unless anyone else has a suggestion, this card is definitely broken beyond my capabilities to repair.