2.3. SD Card Reader

The SD/MMC card controller identifies itself as follows:

$ lspci | grep Ricoh
02:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
02:01.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
02:01.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
02:01.3 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 11)

The same chip also controls the cardbus bridge and the FireWire controller.

2.3.1. Kernel Configuration

Device drivers  -->
<M> MMC/SD/SDIO card support  -->
    ...
    <M> MMC block device driver (NEW)
    [*]   Use bounce buffer for simple hosts (NEW)
    ...
    <M> Secure Digital Host Controller Interface support
          <M> SDHCI support on PCI bus
                <M> Ricoh MMC Controller Disabler  (EXPERIMENTAL)

Recompile the kernel and reboot.

2.3.2. Mounting

As soon as you plug-in a supported SD card, you should see a new block device /dev/mmcblk0 pop up in your syslog (/var/log/messages):

mmc0: new SD card at address 9ffc
mmcblk0: mmc0:9ffc SD01G 968 MiB 
mmcblk0: p1

The naming scheme is /dev/mmcblkDpN where D is the card-reader device (0 .. n) and N is the partition number (1 .. n) on that device. The command ls -l /dev/mmcblk* should give you the idea.

If hald is running and properly configured, you should see that hald already mounted the device for you.

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones