Instalación lector PSCS usb ( DNIe ) en Raspberry

Necesitamos compilar libusb. Para ello, nos situamos en nuestro directorio home y nos bajamos las fuentes para libusb

#cd
#wget http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.9/libusb-1.0.9.tar.bz2

Descomprimimos el fichero tar.bz2

#tar xjvf libusb-1.0.9.tar.bz2

Compilamos e instalamos libusb

#cd libusb-1.0.9
#./configure
#make
#sudo make install

Continuamos con la instalación de paquetes necesarios para el funcionamiento del lector.-

#apt-get install opensc pcscd libccid pcsc-tools

Editamos el fichero de configuracion opensc.conf para dejarlo de esta forma.-

#nano /etc/opensc/opensc.conf

Quitamos # o descomentamos en las lineas que se muestran y borramos la linea provider_library = /lib/libpcsclite.so.1. El archivo debe quedar del siguiente modo:

# CT-API module configuration.        reader_driver ctapi {
module /usr/local/towitoko/lib/libtowitoko.so {
CT-API ports:
0..3            COM1..4
4               Printer
5               Modem
6..7            LPT1..2
ports = 0;
}
}

# The following section shows definitions for PC/SC readers.
reader_driver pcsc {
Limit command and response sizes.
Default: n/a
max_send_size = 255;
max_recv_size = 256;

Connect to reader in exclusive mode?
Default: false
connect_exclusive = true;

What to do when disconnecting from a card (SCardDisconnect)
Valid values: leave, reset, unpower.
Default: reset
disconnect_action = unpower;

What to do at the end of a transaction (SCardEndTransaction)
Valid values: leave, reset, unpower.
Default: leave
transaction_end_action = reset;

What to do when reconnection to a card (SCardReconnect)
Valid values: leave, reset, unpower.
Note that this affects only the internal reconnect (after a SCARD_W_RESET_CARD).
A forced reset via sc_reset() always does a full powerup.
Default: leave
reconnect_action = reset;

Enable pinpad if detected (PC/SC v2.0.2 Part 10)
Default: true
enable_pinpad = false;

Use specific pcsc provider.
Default: libpcsclite.so.1

}

Una vez echo esto, tecleamos

#/etc/init.d/pcscd restart

A continuacion, conectamos nuestro lector d.n.i. al usb de nuestra RasPi y tecleamos lsusb para comprobar que funciona:

#lsusb

A continuacion introducimos la tarjeta en el lector d.n.i., en mi caso con el chip hacia arriba, y en la consola terminal ponemos:

#pcsc_scan

De esta manera comprobamos que el lector lee bien la tarjeta, para ello sera [b]necesario crear el [reader] en el archivo oscam.server[/b] del siguiente modo.-

Ejemplo Nagra Card

[reader]
label                         = Tarjeta
protocol                    = pcsc
device                       = 0
showcls                      = 0
detect                        = cd
cacheex                      = 1
cacheex_maxhop         = 2
cacheex_ecm_filter      = 181X
cacheex_drop_csp        = 1
caid                             = 181X
boxkey                         = XXXXXXXXXXXXXXXX # Pon aqui tu boxkey
rsakey                          = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Pon aqui tu RSA
fix07                            = 0
readtiers                       = 0
ecmwhitelist                  = 181X:89,8E;181X@XX4XX1:89,8E

En caso que la tarjeta no nos aperezca reconocida con algun nombre es debido a que su atr no esta añadido en la lista: /usr/share/pcsc/smartcard_list.txt

Podriamos añadir el atr relacionado con una plataforma que ya no aparezca o tambien podemos descargarnos la lista actualizada de: http://ludovic.rousseau.free.fr/soft…tcard_list.txt

Ahora arrancamos Oscam y ya tendremos nuestro lector funcionando.