Adaptación puerto serial

En general en la wiki de OpenWRT se describe todo lo de comunicación serial: http://wiki.openwrt.org/OpenWrtDocs/Customizing/Hardware/Serial_Console, en general el WRT54GL, soporta dos puertos seriales, el hecho es que la salida del WRT54GL es ttl a 3.3v y para convertirlo a RS232 se debe utilizar un MAX 3232 el cual permite hacer este paso si en algún momento no funciona o no se puede conseguiro el MAX3232 se debe realizar con un MAX232 que funciona a 5v y realizando algunas adaptaciones.

Montaje con el MAX232

Lista de Materiales

la siguiente lista de materiales es la que se necesita para cablear el circuito anterior

Componente

Cantidad

Max232

1

Condensador 1latex($\mu F$)

4

Condensador 10latex($\mu F$)

1

Diodo 1N4148

4

Resistencia 330latex($\Omega $)

4

Conector DB9 Hembra

2

Cable

--

Diagrama del Circuto

serialMax232.jpg

Procedimiento

El anterior diagrama muestra como se debe cablear el circuito para convertir señales TTl a RS232, además se han colocado algunos diodos para proteger el WRT54GL de la salida de 5V del MAX232. Algunos puntos para tener en cuenta:

  1. La alimentación de 5V para el Max 232 se puede tomar del Condensador CK23 con un multímetro se puede visualizar de que lugar del condensador los puede tomar.
  2. Se puede conectar un cable desde el Condensador CK23 hasta los pines 7 y 8 del puerto serial de esta forma se pone en estos pines 5V

  3. Se debe tener en cuenta que existen dos puertos seriales en el WRT54GL /dev/tts/0 y /dev/tts/1 cada uno tiene su propio tx y rx al igual que la velocidad a la que funcionan.

CK23.jpg Condensador CK23 para tomar 5V para alimentar el MAX232

Montaje con el MAX3232

Lista de Materiales

la siguiente lista de materiales es la que se necesita para cablear el circuito anterior

Componente

Cantidad

Max3232

1

Condensador 1latex($\mu F$)

4

Condensador 10latex($\mu F$)

1

Conector DB9 Hembra

2

Cable

--

Diagrama del Circuto

serialMax3232.jpg

Referencia para la el montaje

El conector para el serial dentro del WRT54GL se puede visualizar de la siguiente manera los pines 2, 4, 6, 8 y 10 pertenecen a /dev/tts/0 y los pines 1,3,5,7,9 a /dev/tts/1

ConectorSerial.jpg

ConectorSerial1.jpg

Cable Serial

El cable serial fuera do los pines 2, 3 y 5 que con Tx, Rx y GND se debe cablear el pin 4 con el 6 y el 7 con el 8 de esta manera habilitará el envío y recepción de datos db9_loopback.jpg

Consola Interna /dev/tts/0

El WRT54GL utiliza el tts0 como una consola interna con esto se puede probar si el serial funciona adecuadamente, instale picocom o algún otro programa para revisar conexiones via serial como minicom o realterm. El puerto /dev/tts/0 funciona a la velocidad de 115200bps, con 8 bits de datos, sin bit de paridad y un bit de parada, esta configuración también es donominada 8N1.

Instale Picocom

apt-get install picocom

Abra picocom con la velocidad de 115200bps y el dispositivo serial asociado es /dev/ttyACM0 esto se debe a que se utiliza un convertidor serial usb pero comúnmente se ve en /dev/ttyS0

picocom -b 115200 -p n -d 8 /dev/ttyACM0

seguido de ello conecte el WRT54Gl al DB9 del /dev/tts/0 y luego seguido de ello conecte la corriente al WRT54GL usted debería ver algo parecido a lo siguiente:

CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Tue Jun 20 16:22:41 CST 2006 (root@localhost.localdomain)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena
Initializing Devices.

No DPN
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.37.0
CPU type 0x29008: 200MHz
Total memory: 16384 KBytes

Total memory used by CFE:  0x80300000 - 0x803A39C0 (670144)
Initialized Data:          0x803398D0 - 0x8033BFE0 (10000)
BSS Area:                  0x8033BFE0 - 0x8033D9C0 (6624)
Local Heap:                0x8033D9C0 - 0x803A19C0 (409600)
Stack Area:                0x803A19C0 - 0x803A39C0 (8192)
Text (code) segment:       0x80300000 - 0x803398D0 (235728)
Boot area (physical):      0x003A4000 - 0x003E4000
Relocation Factor:         I:00000000 - D:00000000

Boot version: v3.7
The boot is CFE

mac_init(): Find mac [00:1C:10:3C:7B:96] in location 0
Nothing...

eou_key_init(): Find key pair in location 0
The eou device id is same
The eou public key is same
The eou private key is same
Device eth0:  hwaddr 00-1C-10-3C-7B-96, ipaddr 192.168.1.1, mask 255.255.255.0
        gateway not set, nameserver not set
Loader:raw Filesys:raw Dev:flash0.os File: Options:(null)
Loading: .. 3732 bytes read
Entry at 0x80001000
Closing network.
Starting program at 0x80001000
CPU revision is: 00029008
Primary instruction cache 16kB, physically tagged, 2-way, linesize 16 bytes.
Primary data cache 8kB, 2-way, linesize 16 bytes.
Linux version 2.4.34 (nbd@ds10) (gcc version 3.4.6 (OpenWrt-2.0)) #3 Sun Sep 30 20:33:21 CEST 2007

....
....
....

En el final de esta información aparecerá Please press Enter to activate this console. esto hará que usted pueda tener una consola via serial la cual podrá ejecutar comandos y tener toda conexión al WRT54GL

Desactivando la Consola Virtual

Para desactivar la consola por el puerto Serial modifique el archivo /etc/inittab y comente la linea que comienza como tts/0

::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K stop
#tts/0::askfirst:/bin/ash --login
ttyS0::askfirst:/bin/ash --login
tty1::askfirst:/bin/ash --login

Referencias

Especificación para el MAX 232

Especificación sobre el DB9

Otra información

OpTrWiki: WRT54GL/PuertoSerial (last edited 2009-03-03 22:34:25 by localhost)