Talk:MultiMediaCard

From ArmadeusWiki
Jump to: navigation, search

Troubleshots

Note : If the special files /dev/mmcblk0, /dev/mmcblk0p1 /dev/mmcblk0p2 ... /dev/mmcblk0p7 are NOT present on your filesystem, create them by hand :

 # mknod /dev/mmcblk0 b 179 0
 # mknod /dev/mmcblk0p1 b 179 1
 # mknod /dev/mmcblk0p2 b 179 2
 ...
 # mknod /dev/mmcblk0p7 b 179 7

(It happened to me after upgrading an APF9328+DevLight from version 2.3 to 3.1)


Installation (now obsolete because MMC driver is statically built in default Armadeus kernel)

When you build your kernel image, then modify its configuration:

[armadeus]$ make linux26-menuconfig

in Device Drivers->MMC/SD Card support->iMX Support In FileSystems, don't forget to add support for the filesystem you want to use on the MMC and if you activate FAT/VFAT, don't forget to activate Native Language Support (NLS) otherwise you'll get errors like:

Unable to load NLS charset cp437
FAT: codepage cp437 not found

Save your configuration and then rebuild your kernel image:

[armadeus]$ make linux26

now you should have following drivers in your kernel source tree:

drivers/mmc/

Copy mmc_core.ko, imxmmc.ko & mmc_block.ko to your target root filessytem in /lib/modules/ or reflash the generated rootfs.

If not already existing then create the MMC block devices:

# mknod /dev/mmcblk0 b 254 0
# mknod /dev/mmcblk0p1 b 254 1

If not already existing then create the mount point (/mnt/mmc):

# mkdir -p /mnt/mmc

The MMC driver is now included inside the Linux kernel (no more a module) but if you want to use it as a module you will have to:

# modprobe imxmmc
# modprobe mmc_block