34.3. Transmisión de datos mediante infrarrojos

IrDA (Asociación de datos por infrarrojos, del inglés Infrared Data Association) es un estándar industrial para las comunicaciones inalámbricas que utiliza infrarrojos. Muchos de los equipos portátiles actuales incorporan un emisor/receptor que permite la comunicación con otros dispositivos, tales como impresoras, módems, LAN u otros portátiles. La velocidad de transferencia oscila entre 2400 bps y 4 Mbps.

IrDA cuenta con dos modos de funcionamiento. El modo estándar SIR se comunica con el puerto infrarrojo a través de una interfaz en serie. Este modo funciona con casi todos los sistemas y cumple la mayoría de las exigencias. El modo más rápido FIR requiere un controlador especial para el chip IrDA, pero el modo FIR no admite todos los tipos de chips porque no existen controladores adecuados para todos ellos. En el BIOS del equipo hay que definir el modo IrDA que se desea usar. El BIOS también muestra qué interfaz en serie se utiliza en el modo SIR.

Hay más información disponible sobre IrDA en los procedimientos de Werner Heuser en http://tuxmobil.org/Infrared-HOWTO/Infrared-HOWTO.html. Si lo desea, también puede consultar el sitio Web del proyecto IrDA de Linux en http://irda.sourceforge.net/.

34.3.1. Software

Los módulos del núcleo necesarios se incluyen en el paquete del núcleo. El paquete irda contiene los programas de ayuda necesarios para que se pueda usar la interfaz infrarroja. Una vez instalado el paquete, podrá encontrar la documentación en /usr/share/doc/packages/irda/README.

34.3.2. Configuración

El servicio de sistema IrDA no se inicia automáticamente al arrancar el sistema, sino que debe activarse con el módulo IrDA de YaST. En este módulo sólo se puede modificar un ajuste: la interfaz en serie del dispositivo infrarrojo. La ventana de prueba está dividida en dos partes: una de ellas muestra la salida de irdadump, donde se registran todos los paquetes IrDA enviados y recibidos. En esta salida debe aparecer el nombre del equipo y los nombres de todos los dispositivos infrarrojos que haya en el radio de acción. Puede ver un ejemplo de estos mensajes en la Sección 34.3.4, “Solución de problemas”. En la parte inferior de la pantalla se muestran todos los dispositivos con los que existe una conexión IrDA.

IrDA requiere bastante energía, puesto que envía un paquete Discovery cada pocos segundos con el fin de detectar otros dispositivos periféricos. Así pues, si trabaja con batería, se recomienda arrancar IrDA sólo cuando lo vaya a utilizar. Utilice el comando rcirda start para activarlo o rcirda stop para desactivarlo. Al activar la interfaz se cargarán automáticamente todos los módulos del núcleo necesarios.

La configuración manual se lleva a cabo en el archivo /etc/sysconfig/irda, que contiene sólo la variable IRDA_PORT que determina qué interfaz se va a usar en el modo SIR.

34.3.3. Uso

Los datos se pueden enviar al archivo de dispositivo /dev/irlpt0 para su impresión. Este archivo se comporta igual que la interfaz normal con conexión /dev/lp0, con la salvedad de que los datos de impresión viajan mediante infrarrojos. A la hora de imprimir, asegúrese de que la impresora se encuentra en el área de visión de la interfaz infrarroja del equipo y de que la compatibilidad con infrarrojos está activada.

Una impresora que trabaja con la interfaz infrarroja puede configurarse mediante el módulo de impresión de YaST. Como no se detecta automáticamente, deberá realizar la configuración de forma manual haciendo clic en Otro (no detectado). En el siguiente cuadro de diálogo, seleccione Impresora IrDA. Normalmente, irlpt0 es la conexión adecuada. Hay más información disponible acerca del funcionamiento de las impresoras en Linux en el Capítulo 11, Funcionamiento de la impresora.

El archivo de dispositivo /dev/ircomm0 permite comunicarse con otros hosts, con teléfonos móviles o con otros dispositivos similares. Con la aplicación wvdial se puede acceder a Internet mediante la interfaz infrarroja usando, por ejemplo, los teléfonos móviles Siemens S25 y Nokia 6210. También es posible sincronizar datos con el dispositivo Palm Pilot, siempre y cuando los ajustes del dispositivo de la aplicación correspondiente se hayan establecido en /dev/ircomm0.

Sólo es posible comunicarse con dispositivos que sean compatibles con la impresora o con los protocolos IrCOMM. A los dispositivos compatibles con el protocolo IROBEX como, por ejemplo, 3Com Palm Pilot, se puede acceder con aplicaciones especiales como irobexpalm e irobexreceive. Para obtener más información, consulte los procedimientos relacionados con los infrarrojos en IR-HOWTO (http://tldp.org/HOWTO/Infrared-HOWTO/). Los protocolos que admite el dispositivo aparecen entre corchetes después del nombre del dispositivo en la salida de irdadump. La compatibilidad con el protocolo IrLAN aún se encuentra “en desarrollo.

34.3.4. Solución de problemas

Si los dispositivos conectados al puerto infrarrojo no responden, use el comando irdadump (como usuario Root) para comprobar si el equipo detecta la presencia del otro dispositivo. Un resultado parecido al del Ejemplo 34.1, “Salida de irdadump” aparece normalmente cuando hay una impresora Canon BJC-80 en el rango de visión del equipo:

Ejemplo 34.1. Salida de irdadump

21:41:38.435239 xid:cmd 5b62bed5 > ffffffff S=6 s=0 (14) 
21:41:38.525167 xid:cmd 5b62bed5 > ffffffff S=6 s=1 (14)
21:41:38.615159 xid:cmd 5b62bed5 > ffffffff S=6 s=2 (14)
21:41:38.705178 xid:cmd 5b62bed5 > ffffffff S=6 s=3 (14)
21:41:38.795198 xid:cmd 5b62bed5 > ffffffff S=6 s=4 (14)
21:41:38.885163 xid:cmd 5b62bed5 > ffffffff S=6 s=5 (14)
21:41:38.965133 xid:rsp 5b62bed5 < 6cac38dc S=6 s=5 BJC-80 
                        hint=8804 [Printer IrCOMM ] (23) 
21:41:38.975176 xid:cmd 5b62bed5 > ffffffff S=6 s=* earth 
                        hint=0500 [ PnP Computer ] (21)

Si no aparece nada en pantalla o el otro dispositivo no responde, deberá comprobar la configuración de la interfaz. Asegúrese de que está usando la interfaz correcta. La interfaz infrarroja se encuentra a veces en /dev/ttyS2 o en /dev/ttyS3, y puede que se use otra interrupción que no sea IRQ 3. Estos ajustes se pueden comprobar y modificar en la configuración del BIOS de casi todos los equipos portátiles.

Con una simple cámara de vídeo puede comprobar si el diodo LED se ilumina realmente; al contrario que los ojos humanos, la mayoría de las cámaras de vídeo pueden ver la luz infrarroja.