AR7554 - MMC card not moutable


#1

Hi,

I use the (automotive) AR7554 on the AR7 EvalBoard and have inserted a 4GB MMC card. While booting there are several mmc0 output messages, here is the list from the dmesg with grep for mmc:

I partitioned the MMC card using fdisk /dev/mmcblk0 and created filesystem using mkfs.minix on it.

I’m not able to mount the partition mmcblk0p1 to any mount point:

Where is my fault?
There is no switch to enable/disable the MMC card adapter on the EvalBoard and as you see I can access it via fdisk and mkfs.minix it should be mountable.

Thanks in advance,
Martin…

root@swi-mdm9x15:~# fwupdate query
Firmware Version: SWI9X15A_06.03.17.00 r23798 CNSHZ-AR-BUILD 2014/08/08 12:53:51
Bootloader Version: SWI9X15A_06.03.17.00 r23798 CNSHZ-AR-BUILD 2014/08/08 12:53:51
Linux Version: 3.4.36-yocto-standard #1 PREEMPT Fri Aug 8 07:16:46 EDT 2014


#2

Hiya,

Are the minix file system drivers built into the kernel? Or are they available as modules for your kernel?

Have you tried using the vfat file system on your MMC card instead of minix?

ciao, Dave


#3

Hi,

as far as I know it’s only possible to format the partition created with fdisk by a mkfs (make filesystem) command and there is only mkfs.minix available. There is nothing else, no mkfs.vfat…

root@swi-mdm9x15:~# ls -la /lib/modules/3.4.36-yocto-standard/kernel/
drwxr-xr-x    1 root     root          4096 Aug  8  2014 .
drwxr-xr-x    1 root     root          4096 Aug 11  2014 ..
drwxr-xr-x    1 root     root          4096 Aug  8  2014 net
root@swi-mdm9x15:~# ls -la /lib/modules/3.4.36-yocto-standard/kernel/net/
drwxr-xr-x    1 root     root          4096 Aug  8  2014 .
drwxr-xr-x    1 root     root          4096 Aug  8  2014 ..
drwxr-xr-x    1 root     root          4096 Aug 11  2014 802
drwxr-xr-x    1 root     root          4096 Aug 11  2014 bridge
drwxr-xr-x    1 root     root          4096 Aug  8  2014 ipv4
drwxr-xr-x    1 root     root          4096 Aug 11  2014 llc
drwxr-xr-x    1 root     root          4096 Aug 11  2014 netfilter

As far as I can see, the fs (filesystem) drivers are already builtin:

cat /lib/modules/3.4.36-yocto-standard/modules.builtin
kernel/arch/arm/mach-msm/lpass-8960.ko
kernel/arch/arm/mach-msm/rpm_stats.ko
kernel/arch/arm/mach-msm/rpm_log.ko
kernel/arch/arm/mach-msm/sierra_i2c.ko
kernel/arch/arm/mach-msm/sierra_spi.ko
kernel/kernel/configs.ko
kernel/fs/mbcache.ko
kernel/fs/btrfs/btrfs.ko
kernel/fs/ext2/ext2.ko
kernel/fs/ext3/ext3.ko
kernel/fs/ext4/ext4.ko
kernel/fs/fat/fat.ko
kernel/fs/fat/vfat.ko
kernel/fs/jbd/jbd.ko
kernel/fs/jbd2/jbd2.ko
kernel/fs/lockd/lockd.ko
kernel/fs/nfs/nfs.ko
kernel/fs/nls/nls_base.ko
kernel/fs/squashfs/squashfs.ko
kernel/fs/unionfs/unionfs.ko
kernel/fs/yaffs2/yaffs.ko
kernel/crypto/crypto.ko
kernel/crypto/crypto_wq.ko
kernel/crypto/crypto_algapi.ko
kernel/crypto/aead.ko
kernel/crypto/crypto_blkcipher.ko
kernel/crypto/chainiv.ko
kernel/crypto/eseqiv.ko
kernel/crypto/crypto_hash.ko
kernel/crypto/pcompress.ko
kernel/crypto/cryptomgr.ko
kernel/crypto/hmac.ko
kernel/crypto/md5.ko
kernel/crypto/sha1_generic.ko
kernel/crypto/cbc.ko
kernel/crypto/des_generic.ko
kernel/crypto/crc32c.ko
kernel/crypto/authenc.ko
kernel/crypto/authencesn.ko
kernel/crypto/rng.ko
kernel/crypto/krng.ko
kernel/block/blk-cgroup.ko
kernel/block/deadline-iosched.ko
kernel/block/cfq-iosched.ko
kernel/drivers/base/firmware_class.ko
kernel/drivers/base/regmap/regmap-i2c.ko
kernel/drivers/base/regmap/regmap-spi.ko
kernel/drivers/block/brd.ko
kernel/drivers/char/diag/diagchar.ko
kernel/drivers/char/hw_random/rng-core.ko
kernel/drivers/char/hw_random/atmel-rng.ko
kernel/drivers/char/hw_random/msm_rng.ko
kernel/drivers/cpufreq/cpufreq_stats.ko
kernel/drivers/cpufreq/cpufreq_performance.ko
kernel/drivers/cpufreq/cpufreq_powersave.ko
kernel/drivers/cpufreq/cpufreq_userspace.ko
kernel/drivers/cpufreq/cpufreq_ondemand.ko
kernel/drivers/cpufreq/cpufreq_conservative.ko
kernel/drivers/cpufreq/freq_table.ko
kernel/drivers/gpio/pm8xxx-gpio.ko
kernel/drivers/gpio/pm8xxx-mpp.ko
kernel/drivers/gpio/sierra_gpio_wake_n.ko
kernel/drivers/gpu/ion/ion.ko
kernel/drivers/gpu/ion/ion_heap.ko
kernel/drivers/gpu/ion/ion_system_heap.ko
kernel/drivers/gpu/ion/ion_carveout_heap.ko
kernel/drivers/gpu/ion/ion_iommu_heap.ko
kernel/drivers/gpu/ion/ion_cp_heap.ko
kernel/drivers/hid/hid.ko
kernel/drivers/hid/usbhid/usbhid.ko
kernel/drivers/hwmon/hwmon.ko
kernel/drivers/hwmon/pm8xxx-adc.ko
kernel/drivers/hwmon/pm8xxx-adc-scale.ko
kernel/drivers/i2c/i2c-core.ko
kernel/drivers/i2c/i2c-dev.ko
kernel/drivers/i2c/busses/i2c-qup.ko
kernel/drivers/input/input-core.ko
kernel/drivers/input/mousedev.ko
kernel/drivers/input/evdev.ko
kernel/drivers/input/keyboard/atkbd.ko
kernel/drivers/input/misc/pmic8xxx-pwrkey.ko
kernel/drivers/input/mouse/psmouse.ko
kernel/drivers/input/serio/serio.ko
kernel/drivers/input/serio/serport.ko
kernel/drivers/input/serio/libps2.ko
kernel/drivers/leds/led-class.ko
kernel/drivers/leds/leds-pm8xxx.ko
kernel/drivers/mfd/mfd-core.ko
kernel/drivers/mfd/wcd9xxx-core.ko
kernel/drivers/mfd/wcd9xxx-irq.ko
kernel/drivers/mfd/wcd9xxx-slimslave.ko
kernel/drivers/mfd/pm8018-core.ko
kernel/drivers/mfd/pm8xxx-debug.ko
kernel/drivers/mfd/pm8xxx-pwm.ko
kernel/drivers/mfd/pm8xxx-misc.ko
kernel/drivers/mmc/card/mmc_block.ko
kernel/drivers/mmc/core/mmc_core.ko
kernel/drivers/mmc/host/msm_sdcc.ko
kernel/drivers/mtd/mtd.ko
kernel/drivers/mtd/mtdchar.ko
kernel/drivers/mtd/mtd_blkdevs.ko
kernel/drivers/mtd/mtdblock.ko
kernel/drivers/mtd/chips/chipreg.ko
kernel/drivers/mtd/devices/msm_nand.ko
kernel/drivers/mtd/nand/nand_ids.ko
kernel/drivers/net/mii.ko
kernel/drivers/net/netconsole.ko
kernel/drivers/net/usb/kaweth.ko
kernel/drivers/net/usb/pegasus.ko
kernel/drivers/net/usb/asix.ko
kernel/drivers/net/usb/cdc_ether.ko
kernel/drivers/net/usb/dm9601.ko
kernel/drivers/net/usb/smsc75xx.ko
kernel/drivers/net/usb/smsc95xx.ko
kernel/drivers/net/usb/net1080.ko
kernel/drivers/net/usb/cdc_subset.ko
kernel/drivers/net/usb/zaurus.ko
kernel/drivers/net/usb/mcs7830.ko
kernel/drivers/net/usb/usbnet.ko
kernel/drivers/net/usb/int51x1.ko
kernel/drivers/net/usb/cdc_ncm.ko
kernel/drivers/power/power_supply.ko
kernel/drivers/regulator/pm8xxx-regulator.ko
kernel/drivers/regulator/msm-gpio-regulator.ko
kernel/drivers/rtc/rtc-pm8xxx.ko
kernel/drivers/scsi/scsi_mod.ko
kernel/drivers/scsi/scsi_tgt.ko
kernel/drivers/scsi/sd_mod.ko
kernel/drivers/scsi/sg.ko
kernel/drivers/scsi/ch.ko
kernel/drivers/slimbus/slim-msm-ctrl.ko
kernel/drivers/spi/spidev.ko
kernel/drivers/spi/spi_qsd.ko
kernel/drivers/thermal/thermal_sys.ko
kernel/drivers/thermal/msm8960_tsens.ko
kernel/drivers/thermal/pm8xxx-tm.ko
kernel/drivers/tty/serial/serial_core.ko
kernel/drivers/tty/serial/msm_serial_hs_lite.ko
kernel/drivers/tty/serial/kgdboc.ko
kernel/drivers/usb/usb-common.ko
kernel/drivers/usb/class/cdc-acm.ko
kernel/drivers/usb/core/usbcore.ko
kernel/drivers/usb/gadget/udc-core.ko
kernel/drivers/usb/gadget/ci13xxx_msm.ko
kernel/drivers/usb/host/ehci-hcd.ko
kernel/drivers/usb/otg/msm_otg.ko
kernel/drivers/usb/serial/usbserial.ko
kernel/drivers/usb/serial/option.ko
kernel/drivers/usb/serial/qcserial.ko
kernel/drivers/usb/serial/sierra.ko
kernel/drivers/usb/serial/usb_wwan.ko
kernel/drivers/usb/serial/GobiSerial.ko
kernel/drivers/usb/storage/usb-storage.ko
kernel/drivers/usb/storage/ums-alauda.ko
kernel/drivers/usb/storage/ums-cypress.ko
kernel/drivers/usb/storage/ums-datafab.ko
kernel/drivers/usb/storage/ums-freecom.ko
kernel/drivers/usb/storage/ums-isd200.ko
kernel/drivers/usb/storage/ums-jumpshot.ko
kernel/drivers/usb/storage/ums-karma.ko
kernel/drivers/usb/storage/ums-onetouch.ko
kernel/drivers/usb/storage/ums-sddr09.ko
kernel/drivers/usb/storage/ums-sddr55.ko
kernel/drivers/usb/storage/ums-usbat.ko
kernel/sound/soundcore.ko
kernel/sound/core/snd.ko
kernel/sound/core/snd-hwdep.ko
kernel/sound/core/snd-timer.ko
kernel/sound/core/snd-pcm.ko
kernel/sound/core/snd-page-alloc.ko
kernel/sound/core/snd-rawmidi.ko
kernel/sound/soc/snd-soc-core.ko
kernel/sound/soc/codecs/snd-soc-wcd9304.ko
kernel/sound/soc/codecs/snd-soc-wcd9310.ko
kernel/sound/soc/codecs/snd-soc-msm-stub.ko
kernel/sound/soc/msm/snd-soc-qdsp6.ko
kernel/sound/soc/msm/snd-soc-hostless-pcm.ko
kernel/sound/soc/msm/snd-soc-mdm9615.ko
kernel/sound/usb/snd-usb-audio.ko
kernel/sound/usb/snd-usbmidi-lib.ko
kernel/net/dns_resolver/dns_resolver.ko
kernel/net/ipv4/xfrm4_mode_beet.ko
kernel/net/ipv4/inet_lro.ko
kernel/net/ipv4/tunnel4.ko
kernel/net/ipv4/xfrm4_mode_transport.ko
kernel/net/ipv4/xfrm4_mode_tunnel.ko
kernel/net/ipv4/inet_diag.ko
kernel/net/ipv4/tcp_diag.ko
kernel/net/ipv4/tcp_cubic.ko
kernel/net/ipv6/ipv6.ko
kernel/net/ipv6/ah6.ko
kernel/net/ipv6/esp6.ko
kernel/net/ipv6/xfrm6_mode_transport.ko
kernel/net/ipv6/xfrm6_mode_tunnel.ko
kernel/net/ipv6/xfrm6_mode_beet.ko
kernel/net/ipv6/sit.ko
kernel/net/ipv6/inet6_hashtables.ko
kernel/net/packet/af_packet.ko
kernel/net/sched/sch_htb.ko
kernel/net/sched/sch_prio.ko
kernel/net/sched/cls_fw.ko
kernel/net/sched/cls_basic.ko
kernel/net/sched/cls_cgroup.ko
kernel/net/sunrpc/sunrpc.ko
kernel/net/sunrpc/auth_gss/auth_rpcgss.ko
kernel/net/unix/unix.ko
kernel/lib/bitrev.ko
kernel/lib/crc-ccitt.ko
kernel/lib/crc16.ko
kernel/lib/crc32.ko
kernel/lib/libcrc32c.ko
kernel/lib/lzo/lzo_compress.ko
kernel/lib/lzo/lzo_decompress.ko
kernel/lib/zlib_deflate/zlib_deflate.ko
kernel/lib/zlib_inflate/zlib_inflate.ko

It looks a bit confusing to me, there is a mkfs.minix but no filesystem for minix.
There are filesystems in the kernel (ext2, ext3, ext4, vfat, btrfs, …) but there is no mkfs support.
If there is kernel builtin fs support for ext4, how to format the partition without corresponding mkfs?

How to format and mount a MMC card on a AR7, which filesystem to use and how to mount it?

Br,
Martin…


#4

It looks like vfat won’t work because ‘codepage cp437 not found’. However this will be fixed in the next release of Yocto.

I was able to mount my MMC card by formatting them as EXT filesystem.
e.g

  1. On host machine, format MMC card using mkfs.ext2
  2. Transfer mmc card to device again and try ‘mount /dev/mmcblk0p1 /media/card/’ again

Enoch


#5

Hi esun,

yes you’re right…that works. It’s a bit tricky and confusing, because offering a mkfs.minix without support for minix filesystem. On the other hand no mkfs (make filesystem) for ext2, ext3, ext4, btrfs, vfat or whatever, but support for the filesystem within the kernel.

Okay…something you need to know. I guess it’s because of the the early stadium of the EvalBoard AR7, it’s still under development and more in beta state.

Thanks a lot for your answer.
Br,
Martin…