# O2 micro card reader

## paraw

I've got this card reader in my Dell Studio 17 laptop, but I haven't been able to make it work yet. Relevant output of lspci:

```
14:00.1 SD Host controller [0805]: O2 Micro, Inc. Device [1217:8120] (rev 01)

14:00.2 Mass storage controller [0180]: O2 Micro, Inc. Device [1217:8130] (rev 01)
```

The options I have selected in the kernel (2.6.34-r1 x86_64) are:

```
MMC=y

MMC_BLOCK=y

MMC_BLOCK_BOUNCE=y

MMC_SDHCI=y

MMC_SDHCI_PCI=y

```

Everything else MMC not set.

When I insert a memory card in the reader nothing happens at all: nothing in dmesg, no new devices... nothing at all. Any idea what I'm doing wrong?

----------

## USTruck

Hello,

I have Studio 17 too. I not complete settings of kernel, lot of options are under modules or not necessary, I not fully tested all hardware of.

My Kernel config

```
#

# PC-card bridges

#

CONFIG_YENTA=m

CONFIG_YENTA_O2=y

CONFIG_YENTA_RICOH=y

CONFIG_YENTA_TI=y

CONFIG_YENTA_ENE_TUNE=y

CONFIG_YENTA_TOSHIBA=y

CONFIG_HOTPLUG_PCI=y

-----------------

#

# MMC/SD/SDIO Card Drivers

#

CONFIG_MMC_BLOCK=m

CONFIG_MMC_BLOCK_BOUNCE=y

CONFIG_SDIO_UART=m

CONFIG_MMC_TEST=m

 

#

# MMC/SD/SDIO Host Controller Drivers

#

CONFIG_MMC_SDHCI=m

CONFIG_MMC_SDHCI_PCI=m

CONFIG_MMC_RICOH_MMC=y

CONFIG_MMC_SDHCI_PLTFM=m

CONFIG_MMC_WBSD=m

CONFIG_MMC_TIFM_SD=m

CONFIG_MMC_CB710=m

CONFIG_MMC_VIA_SDMMC=m

CONFIG_MEMSTICK=y

# CONFIG_MEMSTICK_DEBUG is not set

#

# MemoryStick drivers

#

# CONFIG_MEMSTICK_UNSAFE_RESUME is not set

CONFIG_MSPRO_BLOCK=m

#

# MemoryStick Host Controller Drivers

#

CONFIG_MEMSTICK_TIFM_MS=m

CONFIG_MEMSTICK_JMICRON_38X=m

# CONFIG_NEW_LEDS is not set

# CONFIG_ACCESSIBILITY is not set

# CONFIG_INFINIBAND is not set

# CONFIG_EDAC is not set

CONFIG_RTC_LIB=y

CONFIG_RTC_CLASS=y

# CONFIG_RTC_HCTOSYS is not set

# CONFIG_RTC_DEBUG is not set

```

lspci 

```
14:00.0 FireWire (IEEE 1394): O2 Micro, Inc. Device 10f7 (rev 01)

14:00.1 SD Host controller: O2 Micro, Inc. Device 8120 (rev 01)

14:00.2 Mass storage controller: O2 Micro, Inc. Device 8130 (rev 01)
```

lsmod

```
Module                  Size  Used by

rfcomm                 33680  0 

l2cap                  32076  3 rfcomm

firewire_ohci          22318  0 

firewire_core          43109  1 firewire_ohci

ohci1394               27164  0 

wl                   1934188  0 

sdhci_pci               6483  0 

sdhci                  14715  1 sdhci_pci

ieee1394               69534  1 ohci1394

```

----------

## paraw

So, after almost one full year, I'm still unable to get the card reader to work. The kernel config options are still the same, and still nothing happens when I insert a memory card in the slot.

Help...?

----------

## shiznix

 *paraw wrote:*   

> So, after almost one full year, I'm still unable to get the card reader to work. The kernel config options are still the same, and still nothing happens when I insert a memory card in the slot.
> 
> Help...?

 

The O2 Micro SD/MMC Card Reader uses the the kernel's sdhci support.

An example configuration under my 2.6.35 kernel's menuconfig 'Device Drivers > MMC/SD/SDIO card support':

```
[ ]   MMC debugging

[ ]   Assume MMC/SD cards are non-removable (DANGEROUS)

*** MMC/SD/SDIO Card Drivers ***

<*>   MMC block device driver

[*]     Use bounce buffer for simple hosts

< >   SDIO UART/GPS class support

< >   MMC host test driver

*** MMC/SD/SDIO Host Controller Drivers ***

<*>   Secure Digital Host Controller Interface support

<*>   SDHCI support on PCI bus

[ ]     Ricoh MMC Controller Disabler  (EXPERIMENTAL)

<*>   SDHCI support on the platform specific bus

< >   Winbond W83L51xD SD/MMC Card Interface support

< >   TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)

< >   MMC/SD driver for Ricoh Bay1Controllers (EXPERIMENTAL)

< >   ENE CB710 MMC/SD Interface support

< >   VIA SD/MMC Card Reader Driver
```

My device:

```
14:00.1 SD Host controller: O2 Micro, Inc. Device 8120 (rev 01) (prog-if 01)

        Subsystem: Dell Device 041b

        Flags: bus master, fast devsel, latency 0, IRQ 17

        Memory at f0e03800 (32-bit, non-prefetchable) [size=256]

        Capabilities: [a0] Power Management version 3

        Capabilities: [48] MSI: Enable- Count=1/1 Maskable+ 64bit+

        Capabilities: [80] Express Endpoint, MSI 00

        Capabilities: [100] Virtual Channel

        Capabilities: [200] Advanced Error Reporting

        Kernel driver in use: sdhci-pci
```

Inserting an 8GB SD card into the slot exposes the following output in syslog:

```
kernel: [  160.176423] mmc0: new SDHC card at address e624

kernel: [  160.176616] mmcblk0: mmc0:e624 SU08G 7.40 GiB 

kernel: [  160.176680]  mmcblk0: p1
```

----------

