Access to a xd memory card

Brian Norris computersforpeace at gmail.com
Fri Oct 28 13:35:22 EDT 2011


Hi,

I don't know much about xD, but I can try and point you in the right
general direction, since you're so insistent.

On Fri, Oct 28, 2011 at 1:25 AM, Robert Orzanna <orschiro at googlemail.com> wrote:
> Here is what mtdinfo gives me.
>
> [/home/robert]$ mtdinfo
> Count of MTD devices:           1
> Present MTD devices:            mtd0
> Sysfs interface supported:      yes
>
> [/home/robert]$ sudo mount /dev/mtd0 /mnt
> mount: /dev/mtd0 is not a block device

You rarely will mount /dev/mtd0 directly, as Memory Technology Devices
are much different beasts than block devices. You could use a NAND
filesystem like JFFS2 or, in the case of xD, you probably want one of
the xD/SmartMedia Flash Translation Layers (FTLs) - see below. You can
also read a little bit about using SSFDC with DOS-FAT on top (common
for multimedia, which may be what you're looking for?) under
"Filesystems supporting NAND" at:
http://www.linux-mtd.infradead.org/doc/nand.html

> Considering the block device problem, may this be solved by specifing
> a file system for the card?

Yes and no. You can read linux-mtd documentation on how to use JFFS2
or YAFFS, perhaps, but this would not be compatible with most consumer
devices that use xD.

> If so, what file system does a xD card use?

I believe FAT with a software FTL (note my inexperience)

> Sorry for almost spamming you with my issue but I really would like to
> get behind it why it is working under Ubuntu but not under Archlinux.

Ubuntu must have some different kernel configuration options. I see
that my Ubuntu has CONFIG_SSFDC set as a module. If you read the
kernel config menus (make menuconfig) you'd find MTD stuff under
"Device Drivers > Memory Technology Device (MTD) support". You'll find
the "NAND SSFDC (SmartMedia) read-only" Flash Translation Layer as
well as the experimental "SmartMedia/xD new translation layer" there.
You can also read a little bit of info under the description for the
"Ricoh xD card reader" under "Device Drivers > Memory Technology
Devices > NAND support".

In the end, I'm guessing you will use SSFDC with a "modprobe ssfdc",
then see what new block device shows up (again, I'm guessing a bit
here...)

>> Should not mtd-utils be the solution then?

mtd-utils is not used for mounting. Among other things, it can erase,
read, and write the bare flash memory (/dev/mtd0), although that is
probably not what you want. These tools would often be destructive to
your original xD data, although you could use them to write a new
filesystem to your flash (e.g., JFFS2, YAFFS).

Brian



More information about the linux-mtd mailing list