# [UNSOLVED] Laptop SD Cards reader

## jph_void

Hi, i'm close to properly have my gentoo working on my laptop (toshiba m70). Few things are still missing, especially the fact i cannot acces my SD card reader. The hardware support SD, XD Cards and Memory Sticks. 

I really don't know what should i compile into the kernel and/or emerge to get it working.

Here is briefly a lspci output:

```

# lspci

00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)

00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)

00:1c.1 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)

00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)

00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)

00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 03)

00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)

00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)

00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X700 (PCIE)

06:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

06:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)

06:04.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller

06:04.2 FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller

06:04.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller

06:04.4 Class 0805: Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Secure Digital (SD) Controller

```

When i insert a card, dmesg just output this :

```

# dmesg

tifm_7xx1: ms card detected in socket 2

```

Here is the relevant section i compiled in the kernel :

```

...

Misc devices  --->

< > Device driver for IBM RSA service processor

  │ │    < > SGI IOC4 Base IO support

  │ │    <M> TI Flash Media interface support (EXPERIMENTAL)

  │ │    <M>   TI Flash Media PCI74xx/PCI76xx host adapter support (EXPERIMENTAL)

MMC/SD Card support  --->

<*> MMC support

  │ │    [ ]   MMC debugging

  │ │    <*>   MMC block device driver

  │ │    < >   Secure Digital Host Controller Interface support  (EXPERIMENTAL)

  │ │    < >   Winbond W83L51xD SD/MMC Card Interface support

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

...

```

Do you know how could i get this working ?

----------

## widan

The tifm driver only supports the SD part of the reader AFAIK, and from your dmesg output ("ms card ...") you tried with a Memory Stick. Also for SD support you need the "TI Flash Media MMC/SD Interface support" selected too (in the MMC section).

----------

## jph_void

Thanks widan i compiled also the tifm_sd module but the dmesg output is still the same. I would like to mount the device but don"t know how.

----------

## Growlizing

After compiling in a couple of things looking relevant, i get this:

```
tifm_7xx1: sd card detected in socket 3

mmcblk0: mmc0:d247 SK512 483840KiB 

 mmcblk0: p1

mmcblk0: error 4 sending stop command

end_request: I/O error, dev mmcblk0, sector 967672

Buffer I/O error on device mmcblk0, logical block 120959

```

This is for a Acer Aspire 1692 wlmi.

lspci follows:

```

00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)

00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 04)

00:1c.1 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (rev 04)

00:1c.2 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 (rev 04)

00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 04)

00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 04)

00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 04)

00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 04)

00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 04)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4)

00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 04)

00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 04)

00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 04)

00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 04)

00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 04)

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X700 (PCIE)

06:01.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller

06:01.2 FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller

06:01.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller

06:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)

06:08.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5788 Gigabit Ethernet (rev 03)

```

Edit1:

Nevermind, it works in spite of the error-messages  :Very Happy: 

Edit2:

Only read works.  :Sad: 

----------

## bunder

```
tifm_7xx1: sd card detected in socket 3

mmcblk0: mmc0:d247 SK512 483840KiB

 mmcblk0: p1 
```

that is good, that is what you want to see.   :Smile: 

mount /dev/mmcblk0p1 with type vfat and you should be golden.

cheers

----------

## Growlizing

Still not working properly. Can't write to the card, but reading works like a charm  :Smile: 

Any tips on this?

Log-output:

```

tifm_sd: card failed to respond for a long period of time<6>tifm_7xx1: demand removing card from socket 3

mmcblk0: error 1 requesting status

end_request: I/O error, dev mmcblk0, sector 13056

mmcblk0: error 1 sending read/write command

end_request: I/O error, dev mmcblk0, sector 13064

mmcblk0: error 1 sending read/write command

```

Those last two repeat itself with increasing sector-number. These errors are only printed when i unmount the card, and the file i copied shows up, but when i mount it again, the file isn't there.

fstab-line for the card:

```

/dev/mmcblk0p1          /mnt/sdcard     vfat            noatime,noauto,rw,user 0 0

```

Kernel-version:

2.6.19-gentoo-r5

Edit:

After a bit of reading it seems like there's a problem with compiling the drivers as modules. I'll try the in-kernel way asap.

----------

## bunder

 *Growlizing wrote:*   

> Still not working properly. Can't write to the card, but reading works like a charm 
> 
> Any tips on this?
> 
> Log-output:
> ...

 

if all else fails, try a newer kernel... maybe the driver provided in 2.6.19-r5 isn't good enough.

lets us know how you make out.   :Smile: 

----------

## andyandrews35

Okay, I am not an expert (in Gentoo).  But on my dell 700m, the wireless card only works with the ipw2200 module.  And then only with 2.4 or earlier version of the ipw2200-firmware.  I can lspci and look at dmesg until I go blind, but there is no eth1 until I modprobe ipw2200 (with the right version).  Then eth1 pops right up.  So in my case, yes I am not an expert, but lspci and dmesg only prove hardware detection has occurred.  It doesn't mean you will be able to actually use the hardware for what you want.   It might be easier to modprobe different drivers to solve your problem.

----------

## Growlizing

Tried with in-kernel driver, and got a small difference (I think), but still not working. The file(s) I try to copy now shows up on the device both after the remount and during mounted. Still get the same errors when disconnecting (unmounting) though. The files also seem to have the right size, but they're unusable anyway, contains no data and can't be opened.

Will try with a new kernel today or tomorrow.

Edit:

Seems like the 2.6.19-kernel has version 0.6 and the 2.6.20 has version 0.8 of the driver. Hoping for results here  :Very Happy: 

----------

## toster

in my case I made strange thing with my FlashMedia Controller  :Smile:  (02:04.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller)

```
setpci -s 02:04.3 4c.b=02
```

I don't understand what's it mean exactly, but after it I can see in /dev/ mmcblk0 and mmcblk0p1 devices and KDE shows me nice pop up window   :Very Happy: 

----------

## wingrunr21

If you don't mind my asking, I am currently attempting to get this card reader to work.  What are the "other relevant things" that you compiled into the kernel?

----------

## Growlizing

Hehe, can't really remember. 

Edit:

This is it:

```

...

Misc devices  --->

< > Device driver for IBM RSA service processor

  │ │    < > SGI IOC4 Base IO support

  │ │    <M> TI Flash Media interface support (EXPERIMENTAL)

  │ │    <M>   TI Flash Media PCI74xx/PCI76xx host adapter support (EXPERIMENTAL)

MMC/SD Card support  --->

<M> MMC support

  │ │    [ ]   MMC debugging

  │ │    <M>   MMC block device driver

  │ │    < >   Secure Digital Host Controller Interface support  (EXPERIMENTAL)

  │ │    < >   Winbond W83L51xD SD/MMC Card Interface support

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

... 

```

Anyway, just upgraded to 2.6.22 a couple of weeks ago. Still the same problem, can read from the card but not write to it. Tried with both as modules and as in-kernel drivers.

Thanks for the great work though <3

----------

