El puerto serie

 

Un puerto serie es una interfaz de comunicaciones de datos digitales en serie, es decir, que envía la información en formato digital bit a bit. Aunque esta denominación  aplica a distintos puertos de comunicaciones (USB, Firewire,…) la denominación “Puerto Serie” se ha mantenido para identificar generalmente el puerto RS-232 que utiliza cableado de 3 a 25 hilos y suele presentarse con conectores tipo DB-25 o DE-9.

 

En el caso de los lectores de tarjetas inteligentes por puerto RS-232 se utilizan conectores de tipo DE-9 cuando son externos o una conexión interna del ordenador cuando son dispositivos internos.

Prerrequisitos de los lectores de tarjetas inteligentes Serie

 

Antes de iniciar cualquier instalación de un lector de tarjetas inteligentes (y antes de conectarlo al sistema) es necesario instalar el subsistema de soporte de lectores de tarjetas inteligentes de GNU/Linux y OpenSolaris: PC/SC.

 

Este subsistema, en una instalación típica de GNU/Linux u OpenSolaris se compone únicamente de tres paquetes instalables, libpcsclite1, pcscd y pcsc-tools.

 

Un ejemplo de instalación de estos paquetes mediante la utilidad aptitude de GNU/Linux sería la siguiente:

$ sudo aptitude install libpcsclite1
$ sudo aptitude install pcscd
$ sudo aptitude install pcsc-tools

 

Tras instalar PC/SC, podemos proceder a la instalación de los propios controladores del lector de tarjetas. Al contrario de lo que ocurre con los lectores USB, los lectores de tarjetas inteligentes serie no siguen un estándar que permita identificar un método de instalación común para todos ellos. En este caso es necesario consultar la página Web del fabricante para obtener los controladores e instrucciones específicas para su instalación.

 

Como ejemplo, se explica brevemente el procedimiento para la instalación del lector serie LTC31 de la marca C3PO.

Una vez instalado PC/SC nos dirigimos a la Web del fabricante y descargamos los drivers correspondientes al lector de tarjetas LTC31. Estos drivers sólo se encuentran disponibles para sistemas GNU/Linux, luego su instalación en sistemas OpenSolaris queda descartada.

El archivo con los drivers es, en este caso, un archivo comprimido que contiene el código fuente de los controladores del lector. Deberemos descomprimir y compilar estos controladores (previa instalación de varios paquetes no indicados por el fabricante) para obtener un fichero libltc31x.so. Seguidamente se deberá identificar el puerto serie del lector y configurarlo para que utilice este driver recién compilado. Adicionalmente, el fabricante informa de que es necesario parchear el núcleo del sistema, para lo que deberemos escribirle explícitamente solicitándole el parche (no disponible para todas las versiones del núcleo Linux).

Resolución de problemas comunes

 

¿Cómo puedo comprobar si mi lector de tarjetas inteligentes está correctamente instalado?

 

Es posible comprobar la correcta instalación del lector de tarjeta inteligente mediante la utilidad pcsc_scan del paquete pcsc-tools. El procedimiento a realizar es:

$ pcsc_scan


La salida típica en consola debe ser muy similar a la siguiente (en este caso teniendo una tarjeta inteligente compatible ISO 7816-4 insertada en el lector):

PC/SC device scanner
V 1.4.9 (c) 2001-2006, Ludovic Rousseau 
Compiled with PC/SC lite version: 1.4.2
Scanning present readers
0: cherry ST1044U 00 00 Wed Oct 1 15:58:46 2008 Reader 0: cherry ST1044U 00 00 Card state: Card inserted, ATR: 3B 79 94 00 00 59 01 01 0E 01 00 01 02 A9

 

En la salida del comando (de la cual se han omitido las líneas finales) se interpretan dos aspectos importantes:

 

Mi lector no se instala correctamente en OpenSolaris ¿Hay alguna instrucción adicional para este sistema operativo?

 

Sí. El controlador PC/SC que se distribuye ya instalado en OpenSolaris comúnmente presenta problemas. Es recomendable en estos casos instalar el controlador PC/SC de Sun Microsystems para Solaris. Podemos descargar este controlador desde la página Web:

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=PCSC-Lite-1.1-SP-G-F@CDS-CDS_SMI

Para realizar la descarga es necesario registrarse previamente en la Web de Sun Microsystems.

 

Mi lector de tarjetas inteligentes requiere conexión interna (no posee un conector DE-9 estándar) ¿Cómo lo conecto?

 

Siga las instrucciones del fabricante de su lector de tarjetas y del fabricante de su ordenador personal.