Envío y recepción de ficheros por IR en Linux.

Para transferir y recibir ficheros con el dispositivo IR se puede utilizar un terminal, mediante el comando ircp.

1 Para transmitir un fichero "ircp 'nombre fichero' ":

ircp andatuz.jpg

respuesta obtenida:


Connecting...done
Sending andatuz.jpg...done

Disconnecting...done

2 Para recibir un fichero "ircp -r 'ruta archivo' ":

ircp -r /home/sergio/Imágenes/ 
 
Waiting for incoming connection
Incoming connection
Receiving andatuz.jpg...done
Disconnecting


Si nos parece tedioso enviar/recibir ficheros por el terminal, tenemos una aplicación gráfica "ircp-tray".

3 Instalar el siguiente paquete:

sudo aptitude install ircp-tray

4 Para probar su funcionamiento, podemos lanzar la aplicación desde el propio terminal ircp-tray o bien Aplicaciones -> Accesorios -> ircp Tray
Una vez lanzada la aplicación, se añadirá en el panel superior.

Mientras no se detecta ningún dispositivo remoto, el icono de Ircp tray será de color gris , al detectar un dispositivo cambiará a rojo.

Dispositivo remoto desaparecido
Dispositivo remoto encontrado
Para enviar un archivo, hacer click en el icono y seleccionar el archivo a enviar.
Mientras se va transfiriendo el archivo, podemos ver su estado.

Enviando archivo a Palm Tx
En el dispositivo remoto también podemos comprobar su estado.


Una vez finalizado el envío correctamente, se muestra un mensaje advirtiéndonos del resultado.


5 La recepción de archivos es idéntica al envío, seleccionar carpeta para guardar el archivo y se inicia la recepción.


Recibiendo archivo desde IR remoto
6 Ircp Tray, permite obtener información del dispositivo remoto.

Instalar y configurar un dispositivo de infrarrojos en Linux.

Este tutorial o manual esta basado en el dispositivo CIR4u de conceptronic, con chip STIR4210 de Sigmatel.
Sigmatel fue adquirida por freescale en el año 2008 y como puede parecer lógico, la página web no se encuentra operativa.
Gracias a Internet Archive, es posible encontrar información del chip, driver, firmware para Linux y notas de aplicación.
Puedes consultar la información en este enlace:
http://web.archive.org/web/20050206010419/http://www.sigmatel.com/products/technical_docs.htm
o bien descargarla desde el blog.

Información técnica (Datasheet)

Esquema adaptador USB-IR

Firmware stir4210-4220-4116 (Linux)

Instalación.

1 Abrir un terminal, Aplicaciones -> Accesorios -> Terminal o bien Alt+F2 y ejecutar "gnome-terminal" sin comillas.

2 Instalar los siguientes paquetes:

sudo aptitude install irda-utils openobex-apps

3 Copiar en el directorio /lib/firmware los dos parches (42101001.sb, 42101002.sb) que se encuentran dentro del archivo "stir4210_4220_4116_patch_files.tar.gz"

Desde la carpeta actual.

tar zxvf stir4210_4220_4116_patch_files.tar.gz
sudo cp *.sb /lib/firmware


3 Crear el fichero /etc/modprobe.d/blacklist-usbserial.

sudo gedit /etc/modprobe.d/blacklist-usbserial

4 Añadir este contenido.

#If these modules are loaded stir421x driver won't work.
blacklist ir_usb
blacklist usbserial

guardar y cerrar el archivo.

Configuración.

5 Abrir el fichero de configuración /etc/default/irda-utils

sudo gedit /etc/default/irda-utils

Configurar tal y como aparece aquí.

    ENABLE="true"
    AUTOMATIC="false"
    DISCOVERY="true"
    DEVICE="irda0"
    DONGLE="none"
    SETSERIAL=""

guardar y cerrar el archivo.

Ahora es necesario reiniciar el sistema con el dispositivo conectado, o bien conectarlo una vez reiniciado.
Si optamos por conectar el dispositivo después de reiniciar, es necesario iniciar el servicio de irda.

sudo /etc/init.d/irda-utils restart

Verificación.

6 Para verificar que el dispositivo es reconocido y funciona correctamente, enviar los siguientes comandos:

dmesg

respuesta obtenida:


[  349.299342] IRDA-USB found at address 5, Vendor: 66f, Product: 4210
[  349.300002] irda_usb_parse_endpoints(), And our endpoints are : in=02, out=01 (512), int=00
[  349.310429] irda_usb_init_qos(), dongle says speed=0x17F, size=0x20, window=0x8, bofs=0x80, turn=0x4
[  349.311660] IrDA: Registered device irda0
[  349.311665] usb 1-1: firmware: requesting 42101002.sb
[  349.323706] stir421x_patch_device(): Received firmware 42101002.sb (1687 bytes)
[  349.343998] irda_usb_init_qos(), dongle says speed=0x17F, size=0x20, window=0x8, bofs=0x80, turn=0x4
[  349.344052] usbcore: registered new interface driver irda-usb
[  349.344059] USB IrDA support registered

ifconfig irda0

respuesta obtenida:
irda0     Link encap:IrLAP  direcciónHW 00:00:00:00
          NOARP  MTU:2048  Métrica:1
          Paquetes RX:0 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:0 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:8
          Bytes RX:0 (0.0 B)  TX bytes:0 (0.0 B)

sudo irdadump

respuesta obtenida:
20:21:57.966408 xid:cmd e52c5b89 > ffffffff S=6 s=0 (14)
20:21:58.053362 xid:cmd e52c5b89 > ffffffff S=6 s=1 (14)
20:21:58.131360 xid:rsp e52c5b89 < 51473487 S=6 s=1 TuxPalm hint=8220 [ PDA/Palmtop IrOBEX ] (25)
20:21:58.141901 xid:cmd e52c5b89 > ffffffff S=6 s=2 (14)
20:21:58.229340 xid:cmd e52c5b89 > ffffffff S=6 s=3 (14)
20:21:58.318339 xid:cmd e52c5b89 > ffffffff S=6 s=4 (14)
20:21:58.406361 xid:cmd e52c5b89 > ffffffff S=6 s=5 (14)
20:21:58.493326 xid:cmd e52c5b89 > ffffffff S=6 s=* laptop hint=0400 [ Computer ] (22)
20:22:00.966316 xid:cmd e52c5b89 > ffffffff S=6 s=0 (14)
20:22:01.053312 xid:cmd e52c5b89 > ffffffff S=6 s=1 (14)
20:22:01.141305 xid:cmd e52c5b89 > ffffffff S=6 s=2 (14)
20:22:01.229332 xid:cmd e52c5b89 > ffffffff S=6 s=3 (14)
20:22:01.307243 xid:rsp e52c5b89 < 51473487 S=6 s=3 TuxPalm hint=8220 [ PDA/Palmtop IrOBEX ] (25)
20:22:01.317332 xid:cmd e52c5b89 > ffffffff S=6 s=4 (14)
20:22:01.405295 xid:cmd e52c5b89 > ffffffff S=6 s=5 (14)
20:22:01.493324 xid:cmd e52c5b89 > ffffffff S=6 s=* laptop hint=0400 [ Computer ] (22)
20:22:03.965332 xid:cmd e52c5b89 > ffffffff S=6 s=0 (14)
20:22:04.054140 xid:cmd e52c5b89 > ffffffff S=6 s=1 (14)
20:22:04.141362 xid:cmd e52c5b89 > ffffffff S=6 s=2 (14)
xid:rsp e52c5b89 < 51473487 S=6 s=2 TuxPalm hint=8220 [ PDA/Palmtop IrOBEX ] (25)
20:22:04.229350 xid:cmd e52c5b89 > ffffffff S=6 s=3 (14)
20:22:04.318286 xid:cmd e52c5b89 > ffffffff S=6 s=4 (14)
20:22:04.406349 xid:cmd e52c5b89 > ffffffff S=6 s=5 (14)
20:22:04.494330 xid:cmd e52c5b89 > ffffffff S=6 s=* laptop hint=0400 [ Computer ] (22)
^C
24 packets received by filter


Para detener el comando irdadump, es necesario pulsar ctrl-c.

Nota:  Si disponemos de un dispositivo de infrarrojos, podemos colocarlo delante para comprobar la comunicación entre ambos (Ver texto en negrita).

Dialang. Capturas de pantalla

Hace unos días quería poner unas captura de pantalla de Dialang funcionando en Linux, en mi caso sobre Guadalinex.

Dialang, iniciándose.

Pero mi sorpresa fue que no funcionaba, parecía como si el servidor estuviera caído.
Después de reintentar varias veces sin éxito, comprobé la página oficial Dialang por si habían nuevas versiones, pero no se encuentra operativa. De forma temporal han habilitado una web en Lancaster University, allí fue donde encontré como verificar el servidor de test.
Para verificar la conexión con el servidor, abriremos un terminal y realizamos un Ping al servidor, la respuesta fue clara el servidor no esta accesible.


sergio@laptop:~/Descargas/Dialang$ ping 148.88.38.11
connect: Network is unreachable
sergio@laptop:~/Descargas/Dialang$


Si el servidor estuviera operativo, la respuesta obtenida seria similar a esta:

sergio@laptop:~/Descargas/Dialang$ ping 148.88.38.11
PING 148.88.38.11 (148.88.38.11) 56(84) bytes of data.
64 bytes from 148.88.38.11: icmp_seq=1 ttl=46 time=84.8 ms
64 bytes from 148.88.38.11: icmp_seq=2 ttl=46 time=85.4 ms
64 bytes from 148.88.38.11: icmp_seq=3 ttl=46 time=83.8 ms
64 bytes from 148.88.38.11: icmp_seq=4 ttl=46 time=84.5 ms
^C
--- 148.88.38.11 ping statistics ---
5 packets transmitted, 4 received, 20% packet loss, time 4002ms
rtt min/avg/max/mdev = 83.823/84.641/85.415/0.571 ms
sergio@laptop:~/Descargas/Dialang$


Cuando la conexión con el servidor se establece correctamente, esta es la primera pantalla que aparece.

Seleccionamos la opción "Instrucciones en español" y automáticamente aparece la pantalla de bienvenida a Dialang.


Si pasamos a la siguiente pantalla, podemos elegir el tipo de prueba a realizar y sobre que idioma realizar la prueba.


Las pruebas disponibles son:
  1. Comprensión oral
  2. Expresión escrita
  3. Comprensión escrita
  4. Gramática
  5. Vocabulario
La ultima versión de la aplicación es Dialang 0.93.1

Nota: Para ejecutar Dialang sobre Linux, puedes consultar esta entrada.