martes, 25 de enero de 2011

Lector de tarjetas DNIe CoolBox CR600

Los que tengáis este lector de tarjetas tan completo debéis haberos dado cuenta que en ubuntu 10.10 el tema del lector de dnie no funciona ni para atrás...

Después de bichear mil y una páginas encontré una solución para este lector de tarjetas pero para opensuse 11.3.... ¡casi! pero yo tengo ubuntu...(leedlo está muy bien explicado y muy completo)

lo primero: instalar los paquetes necesarios para que funcione un lector de smartcard (el dni electrónico es una smart card) y tal. Seguid los pasos de este tutorial.

Y veréis que al escribir en el terminal la orden:

opensc-tool -l

te devuelve algo como:

[opensc-tool] reader-pcsc.c:882:pcsc_detect_readers: SCardListReaders failed: 0x8010002e
[opensc-tool] reader-pcsc.c:1001:pcsc_detect_readers: returning with: No readers found
No smart card readers found.

vaya, que el sistema no se cosca de la existencia del lector de dnie....

La pista para resolverlo:
https://bugzilla.redhat.com/show_bug.cgi?id=649655

En este reporte indica que un lector de smart cards que tiene el mismo chip de Realtek RTS5161 (el lector COOLBOX CR600) es identificado erróneamente como un controlador de mandos a distancia de equipos Media Center. Parece que este chip se ha usado anteriormente en equipos Multimedia para interpretar los comandos de los mandos a distancia. Por lo tanto linux carga el módulo de control de mandos a distancia en vez de asociarlo al servicio pcscd de linux. Por lo visto es frecuente que la causa de un fallo de inicialización hardware en linux sea debido a que se identifica erróneamente la función del hardware y se carga un controlador incorrecto que impide que el servicio correcto tome control del hardware. La solución provisional hasta que los gurus de la distribución correspondiente lo solucionen es vetar o impedir la carga del módulo que se ha cargado incorrectamente en el arranque del sistema. En el caso de ubuntu el módulo que se ha cargado incorrectamente es el mceusb.
Para ver que módulo cargó incorrectamente en Opensuse (y en ubuntu también) ejecutar en la terminal:
dmesg | grep usb
Esto muestra todas las lineas de mensaje de carga de módulos usb.
Después hay que localizar la línea de carga del módulo mceusb.
En el caso de Ubuntu es el módulo mceusb, Para impedir la carga en el arranque lo más fácil es editar como administrador el fichero correspondiente de “blacklist” de la distribución. Para Ubuntu es /etc/modprobe.d/blacklist.conf . Al final del fichero añadimos:

blacklist mceusb

Guardamos cerramos el archivo y Reiniciamos el sistema.

¡¡Y volvemos a tener operativo el lector de dni!!

1 comentario:

Néstor dijo...

Buenas, yo uso Gentoo, que es parecido a Ubuntu en cualquier caso sólo que compilado desde las fuentes, y no consigo ver qué módulo carga el kernel cuando se conecta el dispositivo, pero me ocurre lo mismo que a ti. ¿Alguna idea? Gracias.