WP7104 SD Card


#1

Hiya,

After seeing this post, I decided to have a look at using the SD card on my WP7104 and dev board.

I booted the device and inserted a SD card. There didn’t seem to be any events at the tail of dmesg, although I did find a number of mmc0 error messages earlier in dmesg that indicated the mmc module was present but couldn’t find a card in the socket.

After rebooting the WP71 with the card in the socket, no error messages! Using dmesg | grep mmc (output dmesg and search through output for lines containing mmc) gives:

mmc0: mci-version: 18
mmc0: bam physical base=0x12182000
mmc0: bam virtual base=0xd0094000
mmc0: BAM device registered. bam_handle=0xce95ae00
mmc0: Qualcomm MSM SDCC-BAM at 0x0000000012182000 irq 130
mmc0: Qualcomm MSM SDCC-DML at 0x0000000012180800
mmc0: No card detect facilities available
mmc0: Qualcomm MSM SDCC-core at 0x0000000012180000 irq 136,0 dma -1 dmacrcri -1
mmc0: 8 bit data mode disabled
mmc0: 4 bit data mode enabled
mmc0: polling status mode disabled
mmc0: MMC clock 400000 -> 48000000 Hz, PCLK 0 Hz
mmc0: Slot eject status = 0
mmc0: Power save feature enable = 1
mmc0: SPS-BAM data transfer mode available

However, there doesn’t appear to be a device node ‘mmcblk’, ‘mmc’ or even ‘sda’ which is where I would expect the card contents to be available at. But the mmc block device IS present in /proc/devices - which is where the kernel enumerates all the devices it knows about. There is also some info available in /sys/class/mmc_host.

But the kernel does not seem to be exposing the actual devices to the rest of the system. I even tried making the block device nodes in /dev (mmcblk0[179,0] and mmcblk0p1 [179,1]) manually using mknod but still couldn’t mount the device.

Any thoughts about where the kernel is exposing the MMC/SD cards and what devices (major and minor numbers) are required to mount the card?

Thanks, Dave


#2

Hello Dave,

There could be various scenarios for not being able to access the SD. I would like to ask you more details about your setup, to pinpoint the exact cause of this:

  • what devkit are you using?
    If you are using the red one…
  • is the SDIO/CARD switch on your board set to ON?
  • what formatting your SD card has?

Also, as far as I see, mmc doesn’t have plug-and-play, so you might also need to reboot the board once so that the SD card can be accessed. All you would have to do then is mount the device.
Inserting the SD card, rebooting board, and mounting the device works fine on my side. (red devkit, sd switch on, card has 2 ext2 partitions).

Please let me know how this works on your side.

Regards,
Anca Mihalache