lunes, febrero 05, 2007

[HowTo] Cómo Instalar el Lector de Tarjetas de Memoria de Laptops HP en Ubuntu Edgy/Dapper

Tengo una laptop HP NX6120 con Ubuntu Edgy, el hardware fue totalmente reconocido desde el arranque de la instalación y autoinstalado, a excepción del "lector de tarjetas" de memoria.

Googleando un poco encontré la solución pero como me pareció que los howto que seguí para mi propósito no eran lo suficientemente claros, ni estaban en español, me dicidí a escribir este mini howto.

Disculpen que no cito las fuentes pero no las recuerdo bien porque la instalación la realice hace unos meses.



Lo primero es mirar si tu y yo estamos hablando del mismo lector de tarjetas. En consola ejecutamos el siguiente comando:
lspci | grep 'Texas Instruments PCIxx21'

La salida deberá mostrar algo como esto: (prestar atención al número marcado en rojo)
0000:02:06.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
0000:02:06.1 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
0000:02:06.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller

La linea que nos interesa a nosotros es la siguiente:
0000:02:06.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller

Ahora si tienes la misma placa que yo vamos a crear un script para que funcione nuestro lector de tarjetas:
sudo gedit /etc/init.d/sdhci

En el editor de texto (Gedit) pegar el siguiente código y cambiar los valores que marque con rojo por el número que nos tiró la salida del comando lspci | grep 'Texas Instruments PCIxx21' en el primer paso:
#!/bin/sh

# Get lsb functions
. /lib/lsb/init-functions

case "$1" in

start)
log_begin_msg "Configuring card reader"

modprobe fakephp || return 1
setpci -s 02:06.3 86.b=90
setpci -s 02:06.3 4c.b=02 # FlashMedia SD disable
setpci -s 02:06.3 04.b=06 # SDHCI Mem+ BusMaster+
setpci -s 02:06.3 88.b=01 # SDHCI DMA enable
modprobe sdhci || return 1

log_end_msg $?
;;

stop)
log_begin_msg "Shutting down card reader"

modprobe -r sdhci
lsmod | grep -q sdhci && return 1
setpci -s 02:06.3 88.b=00 # SDHCI DMA disable
setpci -s 02:06.3 04.b=07 # SDHCI Mem- BusMaster-
setpci -s 02:06.3 4c.b=00 # FlashMedia SD enable
setpci -s 02:06.3 86.b=d0
modprobe -r fakephp

log_end_msg $?
;;


*)
log_success_msg "Usage: /etc/init.d/sdhci start|stop"
exit 1
;;
esac

exit 0

Salimos del editor guardando los cambios.

damos permiso de ejecución...
sudo chmod 755 /etc/init.d/sdhci

Para probar que todo funcione ejecutamos...
sudo /etc/init.d/sdhci start

Listo, si todo salio bien ya tenemos que tener funcionando nuestro lector de tarjetas.

Para que se inicie el script al arranque del sistema nos movemos a la carpeta /etc/init.d/ y ejecutamos lo siguiente:
sudo update-rc.d sdhci start 20 2 .

Ahora si... ¡listo el pollo! Espero que les sirva.

28 comentarios:

Jota dijo...

hola me podrias explicar como montar mi lector de tarjetas en mi hp nx6320 gracias

Dr. Fest dijo...

hola jota... lo primero que tendrías que averiguar sería que lector de memorias tienes... busca en google el modelo de tu laptop y trata de averiguarlo a ver si puedo ayudarte

Saludos

Dani dijo...

Hola, estaba intentando hacer funcionar mi lector de tarjetas y me he encontrado con tu howto, que por cierto...me ha parecido muy bien explicado.
A lo que ibamos, mi portatil es un Packard Bell, pero el lector de tarjetas que trae creo que es el mismo, porque cuando hago lo de "lscpi" me sale lo siguiente:
00:10.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
00:10.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller

Y a partir de ahi, al intentar ejecutar el script (por cierto, hacia falta darle permisos de ejecucion), me da error :
* Configuring card reader setpci: Warning: No devices selected for `86.b=90'.
setpci: Warning: No devices selected for `4c.b=02'.
setpci: Warning: No devices selected for `04.b=06'.
setpci: Warning: No devices selected for `88.b=01'.

A ver si puedes ayudarme, que es una de las pocas cosas que me falta hacer funcionar del portatil este, y asi puedo casi casi borrar el winxp.

Muchas gracias

Dr. Fest dijo...

Hola Dani... que distro usas? que modedelo exacto de laptop tenes?

Dani dijo...

Vaya, que rapidez de respuesta,jejeje

La distro que uso es Ubuntu Edgy, la 6.10, con todas las actualizaciones que me han ido saliendo con el gestor. (Lo digo porque creo que actualizó tambien el kernel)
El ordenador es un Packard Bell W3450, que viene con lector de tarjetas integrado,WLAN,pantalla de 17'' y tambien con infrarrojos (que por cierto tampoco he podido configurar con el Lirc).
Si necesitas algun dato mas...

Gracias por adelantado

Dr. Fest dijo...

ok... creo que ya tengo la solución... estoy modificando el howto ahora... en 5 mins te lo subo... espero que te sirva
Abrazo de Gol!

Dani dijo...

Vale, muchas gracias, a ver si asi puedo sacar las fotos de la tarjeta de la camara sin tener que pasar por windows, que eso de reiniciar cada vez...
Ya me avisas cuando lo hayas cambiado y lo pruebo.

Gracias, y un saludo desde Valencia

Dani dijo...

Si!!! Ya funciona!!!
Muchisimas gracias, ha sido coser y cantar.
Ya tengo casi todo configurado.
Por cierto,¿No sabras como configurar el receptor inalambrico, no? es que el portatil venia con un mando de estos que caben en la ranura de la tarjeta CardBus, y el receptor no tengo ni idea de como configurarlo.

Bueno, un saludo y gracias por todo

Dr. Fest dijo...

Buenisimo!!!No sabes cuanto me alegro haberte ayudado a que elimines Windows de tu maquina! jaja...

Parece que estuvieramos chateando : )

Dime que placa compraste (todos los datos que tenegas). Siempre tienes que tratar de averiguar que chip tiene dentro...

Espero verte seguido por mi blog!

Dani dijo...

El receptor va integrado en el frontal del portatil, por eso no se muy bien como averiguar el modelo ni la marca.
Al intentar configurar el Lirc, me pedia el puerto COM y alguna cosa mas...y siempre me he quedado ahi. Si hay algun comando que pueda poner para averiguarlo...

Bueno, si tienes un rato y te aburres... jejeje

Un saludo

Dr. Fest dijo...

lo que tienes en un receptor infrarojo... noo???
la verdad es que mi laptop tiene uno y nunca me he puesto a tratar de configurarlo... voy a intentarlo en estos días y si funciona escrivo un howto, así que estate atento.

Dani dijo...

Muchas gracias, estare atento. De hecho ya he agregado tu blog a mi Liferea, asi que cuando lo hagas... ahi estare para leerlo.

Lo dicho, muchas gracias, y a seguir asi, que este blog es muy interesante.

Un saludo desde Valencia (España) ;)

Anónimo dijo...

Hola, como puedo hacer para instalar una:

03:09.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832
03:09.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
03:09.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)
03:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
03:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)

Dr. Fest dijo...

ahi me estas mostrando varios perifericos... cual es el que deseas instalar?

carlos dijo...

hola. tengo el mismo problema que dani. esto me da:

laptop:~$ lspci | grep ENE
08:01.0 CardBus bridge: ENE Technology Inc CB-712/4 Cardbus Controller (rev 10)
08:01.1 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller (rev 01)
08:01.2 Generic system peripheral [0805]: ENE Technology Inc ENE PCI Secure Digital Card Reader Controller (rev 01)
08:01.3 FLASH memory: ENE Technology Inc FLASH memory: ENE Technology Inc: (rev 01)
08:01.4 FLASH memory: ENE Technology Inc Unknown device 0551 (rev 01)
en una laptop con ubuntu 7.04 amd64
marca acer 5050.

me podrias ayudar. tengo dias con esto. y la verdad que ya quite windows de esta maquina y no quiero regresar al el.

Dr. Fest dijo...

con que distro linux estas?

carlos dijo...

tengo una laptop acer con ubuntu 7.04

carlos dijo...

tengo una laptop acer con ubuntu 7.04 amd64

Dr. Fest dijo...

Carlos... me he pasado buen rato en Google para tratar de ayudarte pero no encuentro nada... ten en cuenta que si es muy nuevo el dispositivo va a tardar unos meses en salir algún driver para linux... yo para mi laptop tuve que esperar medio año (y por eso escribí este HowTo)

Saludos y suerte en tu busqueda... si encuentras algo y tienes duda para hacer la instalación, no dudes en cunsultarme.

carlos dijo...

bien. muchas gracias si encuentro algo te aviso

Anónimo dijo...

Hola, soy el anonimo del lector de tarjetas, lo que quiero instalar es como dije, el lector de tarjetas ricoh, te habia posteado lo que me aparece del dispositivo.
Mi laptop es un compaq presario v3117la, con ubuntu 6.10.

Dr. Fest dijo...

A ver... prueba con esto y avisame si te funciona así escribo un pequeño howto para ayudar a gente que tenga tu mismo problema...

1ro. Hace un backup de /etc/modules
sudo cp /etc/modules /etc/modules.backup

2do. edita modules
sudo gedit /etc/modules

3ro. agregá esto al finas del archivo que estas editando
tifm_sd

4to. cerrá guardando los cambios

5to. reinicia el sistema

6to. cruza los dedos y probá el lector de tarjetas.

Mucha suerte!!

Dr. Fest dijo...

el comentario anterior es para "anonimo"... podrias haber puesto tu nombre! :-)

carlos dijo...

hola. nuevamente yo. respecto a mi anterior problema aun no encuentro nada. ahora quiero ver si aqui me puden ayuadar con la acelracion de mi ubuntu.

el problema es el siguiente. tengo una computadora acer 5050 con amd64 y una maldita ati (radeon xpress 1100) bueno el caso es que en gnome si me da aceleracion y cuando instalo xgl me lo quita y beryl no funciona biem ( el cubo no da) actualmete estoy usando ubuntu 7.04 y esto es lo que me da con fglrxinfo (en genome)

display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon Xpress Series
OpenGL version string: 2.0.6400 (8.35.5)

no se si esta bien pedir ayuda aqui, soy nuevo en esto pero estoy muy interesado en quedarme con linux

Dr. Fest dijo...

carlos... a ver si te ayuda esto:
http://www.elblogdemaverick.com/?p=137

noaltlc.org dijo...

TI y Ricoh comparten el mismo problema... ¿Sabes cómo sería para una 03:01.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22) -me parece que es esa-?

Completo:
03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832 (rev 05)
03:01.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
03:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 12)
03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)

Dr. Fest dijo...

la verdad que no reniego con lectoras de memorias hace mucho.

Saludos

--- UN TECHO PARA MI PAÍS --- dijo...

Hola como estan? les explico, estoy usando ubuntu 9.10, en una hp pavillion zx5000.
el tema es que no me reconoce la wifi, y el dichoso boton de wireless no funciona.
el otro problema es que el lector de memorias integrado tampoco funciona.

dejo el enlace a la pagina de detalles de la laptop, para ver si se puede solucionar.

http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&cc=us&prodNameId=385152&prodTypeId=321957&prodSeriesId=369807&swLang=35&taskId=135&swEnvOID=1093

les mando un saludo!