Al instalar Debian wheezy sobre un lenovo e530, el lector de tarjetas SD no funciona. No tiene /dev/mmc* asociado y al introducir una SD, no deja rastro en dmesg.
El problema está en el módulo de Realtek de SD. No hemos encontrado el paquete directamente para descarga en debian, por lo que hemos tenido que compilarlo en nuestro sistema.
Revisión del hardware:
lspci -vnn | grep -A5 RTS5229
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader [10ec:5229] (rev 01)
Subsystem: Lenovo Device [17aa:5000]
Flags: bus master, fast devsel, latency 0, IRQ 11
Memory at f2e00000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Descarga y compilación de los módulos del kernel para el lector de tarjetas SD. En el caso de haber errores de compilación, ver más abajo cómo instalar las cabeceras.
make
make install
depmod
modprobe rts5229
A partir de aquí, al meter una tarjeta SD, debería reconocerse.
Por último, hay que poner los módulos en el arranque del kernel:
Activación de los módulos de kernel de mmc:
cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
loop
mmc_block
mmc_core
rts5229
Para más información, ver el blog de vincent
Instalación de cabeceras de linux para compilación:
Nos aseguramos de tener linux-kernel-headers instalados:
dpkg -l | grep linux-header
ii linux-headers-3.2.0-4-amd64 3.2.46-1 amd64 Header files for Linux 3.2.0-4-amd64
ii linux-headers-3.2.0-4-common 3.2.46-1 amd64 Common header files for Linux 3.2.0-4
ii linux-headers-3.2.0-4-common-rt 3.2.46-1 amd64 Common header files for Linux 3.2.0-4-rt
ii linux-headers-3.2.0-4-rt-amd64 3.2.46-1 amd64 Header files for Linux 3.2.0-4-rt-amd64
ii linux-headers-amd64 3.2+46 amd64 Header files for Linux amd64 configuration (meta-package)
ii linux-headers-rt-amd64 3.2+46 amd64 Header files for Linux rt-amd64 configuration (meta-package)
Enlace de las cabeceras a /lib/modules/…/build:
ln -s /usr/src/linux-headers-3.2.0-4-amd64 /lib/modules/3.2.0-4-amd64/build