I have a USB card reader, an Olympus MAUSB-10. It provides direct flash access to SmartMedia or xD cards, using the Linux alauda driver. This is different from a typical card reader which just exposes it as a standard USB mass storage device.

There's drivers in the Linux kernel that will do the FTL thing and expose this as a standard block device, but I want direct flash access. I was wondering if it's possible to use the various utilities of mtd-tools to read, write, and erase directly to it.

So the device is recognized by lsusb, and drivers aluada and nand_ecc are loaded. But cat /proc/mtd isn't revealing another MTD device available, and I don't see any additional devices in /dev. How do I create a new mtd device and connect it to the alauda driver?

2 Answers 2


If we look at the source code of driver in the Linux kernel (drivers/mtd/nand/alauda.c), we see that the mtd device should be called "alauda".

For example, in cmx270_nand.c mtd name is cmx270-0. In kernel log information about it, looks like:

Creating 1 MTD partitions on "NAND 512MiB 3,3V 8-bit":
0x00000000-0x20000000 : "cmx270-0"

Check dmesg (grep alauda, MTD), and if your xD card successfully recognized, finally for accessing MTD device you may try create /dev/mtdblockX and /dev/mtdX with mknod.

  • Thank you for your reply. The xD card is successfully recognized (showed up as /dev/sde). mknod /dev/mtd0 c 90 0 doesn't do anything, mtdinfo gives me error 19 (no such device). /proc/mtd doesn't reveal any MTD devices. An lsmod | grep alauda reveals that mtd and mtdchar are both loaded. Any ideas?
    – LawrenceC
    Dec 25, 2012 at 18:13
  1. remove (rmmod) the ums-alauda driver
  2. after plugging in the device, check if module alauda's probe print is seen via dmesg
  3. if device /dev/mtd0 not seen, rmmod alauda, and insmod it again
    • there shouldnt be a need to mknod. (try with the 'lid' shut).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.