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.

Relacionados:

Descarga y creación de ISO CD/DVD arrancable de OpenBSD
Si alguna vez necesitas descargarte una ISO con el Sistema Operativo OpenBSD, te darás cuenta de que...
PLIP – Conectar 2 sistemas GNU/Linux mediante el puerto paralelo
El primer paso para poder conectar dos ordenadores por el puerto paralelo es fabricarse un cable LapLink...
Por fin Adobe Photoshop CS3 en GNU/Linux con Wine
Esta es una razón más para abandonar definitivamente el lado oscuro de Windows. Para los reacios a...
Mi centro de operaciones
Despues de ver el centro de operaciones de Flapy, LostInJapan, Quicoto, Ale/Pepino, Neki e Ikusuki me...
Grab this Widget
Aerogenerador Horizontal »

Esta entrada tiene 2 comentarios.

  1. Anda! Además de japoniano veo que eres pingüinófilo y bsdero (demasiados neologismos con pocos segundos de vida).

    Aunque el tema de recompilar el kernel siempre me ha dado un poco de… “pánico”…

  2. enekochan
    19/05/2008 10:59

    Lo de BSD fue una pruebilla que hice de instalarlo a ver como era y todo eso. Lo sigo teniendo pero no lo enciendo nunca. Al final solo tengo el Windows y el Debian arrancados.

    Recompilar el kernel es una aventura ;) nunca sabes que modulo te va a dejar de funcionar xD