sábado, 15 de diciembre de 2007

Puerto serie por USB en NSLU2(unslug 6.8)

Al NSLU2 se le puede poner un puerto serie soldando directemente un adaptador de señal (Maxim 3232) y un conector, o bien usando un adaptador USB a serie. La solución del adaptador es más cómoda, menos peligrosa y la que yo uso.

Requisistos:
- NSLU2 con unslug 6.8 (con otras versiones probablemente sea igual)
- adaptador USB a serie soportado por Linux (casi todos)


Pasos a seguir:

Entramos por telnet o SSH al NSLU2

Conectamos el adaptador USB

Ejecutamos el comando dmesg para ver que tipo de adaptador ha detectado el sistema operativo
En mi caso aparece la siguiente línea:
usb.c: USB device 2 (vend/prod 0x67b/0x2303) is not claimed by any active driver.
Podemos instalar y cargar todos los módulos para adaptadores usb a serie o bien averiguar que dispositivo tenemos a partir de los codigos de fabricante y producto. En mi caso el adaptador lleva un chip Prolific PL2303

Instalamos los modulos usbserial y el correspondiente al adaptador USB.
ipkg install kernel-module-usbserial
ipkg install kernel-module-pl2303

Hay varios modulos para adaptadores USB-serie (kernel-module-pl2303, kernel-module-belkin-sa, kernel-module-ftdi-sio o kernel-module-keyspan)

Ejecutamos depmod para que actualice la lista de modulos

Comprobamos el nombre de los modulos
ls /lib/modules/`uname -r`/kernel/drivers/usb/serial

Cargamos los modulos para ver si está todo correcto
insmod usbserial
insmod pl2303

Y volvemos a ejecutar dmesg para comprobar que los modulos corresponden con el hardware
En mi caso encuentro la línea
usbserial.c: PL-2303 converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
por lo que el nuevo puerto serie será /dev/ttyUSB0

Ahora vamos a hacer que se carguen los modulos del adaptador en el inicio del sistema

Creamos el fichero /opt/etc/init.d/S79usbserial con el siguiente contenido
#!/bin/sh
insmod usbserial
insmod pl2303

Modificamos los permisos del fichero para hacerlo ejecutable
chmod 755 /opt/etc/init.d/S79usbserial


A partir de este momento ya tendremos puerto serie cada vez que arranque el sistema.

No hay comentarios: