USB a Serial
Al escribir la entrada anterior decía que estaban desapareciendo los puertos seriales, ya tanto de los portátiles como de los ordenadores de sobremesa, y esto me hizo recordar que tenía por ahí un dispositivo de esos que uno compra aunque no los necesite en ese momento, pero sobre los que tiene la intuición de que en alguna ocasión pueden serle útiles. Me refiero en este caso a un convertidor USB a Puerto Serial (RS232C).
Obviamente viene acompañado solo con un controlador para Windows. ¿ Servirá para Ubuntu ? Puede, pensé, ya que estos dispositivos, económicos y de marca relativamente desconocida, suelen estar basados en algún ‘chip’ de uso común a muchos de su clase, y buscando en Google, me aparece alguna información al respecto. Probemos…
Instalación
Al conectarlo, abriendo el Visor de sucesos del sistema del menú Sistema=>Administración, y viendo las últimas entradas de /var/log/syslog, nos aparece:
usb 1-2: new full speed USB device using ohci_hcd and address 5
usb 1-2: configuration #1 chosen from 1 choice
ftdi_sio 1-2:1.0: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT8U232AM
usb 1-2: FTDI USB Serial Device converter now attached tottyUSB0
Bien, lo detecta y lo monta correctamente como dispositivo /dev/ttyUSB0, reconociendo el ‘chip’ en que esta basado: Un FTDI FT8U232AM, cuya página del fabricante es esta, y donde ofrece una completa información sobre él. Esto, aunque a nosotros como usuarios no nos sea de mucha utilidad, facilita el soporte futuro, ya que quien mantenga el driver contará con la información necesaria para hacerlo.
Probando
Lo podemos probar con un modem externo. Aquí deberemos instalar algún programa de terminal como minicom, desde el Gestor de paquetes Synaptic, ya que el procedimiento simple descrito para los modems no funciona. ¿ Porque ? Pues -creo- que por esta frase que encontramos en la Web del fabricante:
Features include data transfer rates of up to 3M…
El dispositivo, probablemente, se auto-configura por omisión a una velocidad muy superior a la que puede “digerir” el modem 115.200 baudios como máximo, en la mayoría de los casos.
![[configuración de minicon]](/images/minicom-conf.jpg)
Minicom es un emulador de terminal basado en texto muy completo.
- Una vez instalado, abrimos un terminal y desde él invocamos a minicom
- Pulsando
Ctrl+Ay despuésZaccedemos al menú general - Elegimos, pulsando
O, la opción cOnfigure minicom y ahora, del nuevo menú, elegimos Serial Port Setup - Pulsando
Anos dejará modificar el campo Serial device, donde escribimos /dev/ttyUSB0 yEnter - Pulsando
Escvolvemos al menú anterior y salvamos la configuración con Save setup as dfl, otra vezEscy salimos conQ; (’Quit’)
Ahora ya, una vez configurado minicom, lo volvemos a iniciar desde el mismo terminal y nos deberá mostrar una pantalla como esta, tras un breve mensaje ‘Initializing modem’:
![[minicom pantalla de inicio]](/images/minicom_ok.jpg)
En principio, no es necesario más, ya que responde ‘Ok’ a los comandos ‘AT’ de inicialización del modem, y por lo tanto, minicom se comunica con él correctamente.
Diagnóstico y Problemas
Podemos inquerir información sobre el dispositivo haciendo:
cat /proc/bus/usb/devices
Que nos devuelve esta sección acerca de él:
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0b39 ProdID=0421 Rev= 2.00
S: Manufacturer=Generic
S: Product=USB to Serial Converter
S: SerialNumber=OCB6U9TA
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
Esta salida, quien tenga interés o necesidad, la puede interpretar con la ayuda de este documento
Velocidad
Si no lográramos conectar con el modem desde minicom podríamos intentar bajarle la velocidad de comunicación. Para ello accedemos al menú Serial port Setup como se indicó, y pulsando E accedemos a Comm Parameters. Pudiendo ajustarla a 57600 o 38400, por ejemplo.
![[Home]](/wp-content/themes/OATech265/images/home.png)
![[Home]](/wp-content/themes/OATech265/images/feed.png)



































