Si tienes un ordenador sin monitor ni teclado, seguramente trabajes con el mediante SSH o Telnet. Pero ¿y si por algún motivo se cae la red y no puedes acceder a el? Para casos de emergencia como este se puede conectar mediante un terminal por el puerto serie.
Hardware necesario:
Lo primero es tener un cable serie null modem. Existen básicamente 2 tipos: con control de flujo por software y con control de flujo por hardware
Null Modem de 3 hilos con control de flujo por software (XON/XOFF):
GND ----- GND
RX ----- TX
TX ----- RX
Null Modem de 7 hilos con control de flujo por hardware (RTS/CTS):
GND ----- GND
RX ----- TX
TX ----- RX
RTS ----- CTS
CTS ----- RTS
DSR ----- DTR
DTR ----- DSR
Patillaje de los conectores DB9 y DB25:
Señal Patilla en DB9 Patilla en DB25
--------------------------------------------------------------
GND:..................patilla 5................patilla 7
RX:...................patilla 2................patilla 3
TX:...................patilla 3................patilla 2
RTS:..................patilla 7................patilla 4
CTS:..................patilla 8................patilla 5
DSR:..................patilla 6................patilla 6
DTR:..................patilla 4................patilla 20
Cable DB9-DB9:
5 (GND) -----------------------------------------5 (GND)
3 (TX) ------------------------------------------2 (RX)
2 (RX) ------------------------------------------3 (TX)
8 (CTS) -----------------------------------------7 (RTS)
7 (RTS) -----------------------------------------8 (CTS)
6 (DSR) -----------------------------------------4 (DTR)
4 (DTR)------------------------------------------6 (DSR)
CHASIS-------------------(malla)-----------------CHASIS
Cable DB25-DB25:
7 (GND) -----------------------------------------7 (GND)
2 (TX) ------------------------------------------3 (RX)
3 (RX) ------------------------------------------2 (TX)
5 (CTS) -----------------------------------------4 (RTS)
4 (RTS) -----------------------------------------5 (CTS)
6 (DSR) -----------------------------------------20 (DTR)
20 (DTR)-----------------------------------------6 (DSR)
CHASIS-------------------(malla)-----------------CHASIS
Cable DB9-DB25 o DB25-DB9:
Conector DB9 Conector DB25
7 (GND) -----------------------------------------7 (GND)
3 (TX) ------------------------------------------3 (RX)
2 (RX) ------------------------------------------2 (TX)
8 (CTS) -----------------------------------------4 (RTS)
7 (RTS) -----------------------------------------5 (CTS)
6 (DSR) -----------------------------------------20 (DTR)
2 (DTR)------------------------------------------6 (DSR)
CHASIS-------------------(malla)-----------------CHASIS
Como configurar un sistema GNU/Linux:
Se debe tener habilitado el terminal por el puerto serie en el kernel. Para ello tal vez haga falta recompilar el kernel activando dicha opción dentro del apartado “Character Devices”.
Se debe configurar el fichero /etc/inittab
para que establezca la conexion entre un terminal y el puerto serie. Tan solo hay que añadir una linea para configurar cada puerto serie que queramos usar (siendo la ttyS0 el COM1, ttyS1 el COM2, etc.).
Para el cable de 3 hilos (control de flujo por software):
T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
Para el cable de 7 hilos (control de flujo por hardware):
T0:23:respawn:/sbin/getty -hL ttyS0 9600 vt100
Explicación de los campos:
1º- Identificador: Es el nombre del proceso para el terminal.
2º- Runlevels sobre los que se ejecutará el terminal.
3º- Hace que el proceso getty se auto-restaure si por algun motivo muere.
4º- Ejecutable del terminal y sus parámetros.
-h -> Activa el control de flujo por hardware (RTS/CTS).
-L -> Habilita el uso del terminal en puertos serie que no activan la
señal de detección de portadora.
ttyS0 -> Indica el puerto serie a usar (0 para COM1, 1 para COM2, etc.).
9600 -> Velocidad de trabajo en baudios (se recomienda no subir de 9600).
vt100 -> Estandar utilizado para las secuencias de escape.
Una vez hecho esto hay que añadir la siguiente opción al arranque del kernel:
En LILO:
image=.....
append="console=ttyS0,9600n8"
Y volver a ejecutar lilo:
# /sbin/lilo
En GRUB:
kernel /vmlinuz-2.6.20.5 root=/dev/hda6 ro console=ttyS0,9600n8
Como configurar un sistema OpenBSD:
Buscar la línea del archivo /etc/ttys
:
tty00 "/usr/libexec/getty std.9600" unknown off
Y sustituirla por:
tty00 "/usr/libexec/getty std.9600" vt100 on secure
Esto permite al usuario obtener el control de la máquina después de haber alcanzado el modo multiusuario, es decir, el login.
Para redirigir el proceso de arranque completo al puerto serie basta con crear o editar el archivo /etc/boot.conf
para que incluya la línea:
set tty com0
Terminal Cliente:
Una vez configurado el sistema y reiniciado, se puede conectar al ordenador desde otro con el programa minicom
o gtkterm
en GNU/Linux, o con el hyperterminal
en Windows.