Accedir a un sistema connectant per un port serie
Última actualització: Desembre de 2015
Si tenim un servidor al que normalment no tenim connectat pantalla, pot ser molt útil poder accedir-lo via port serie. Per a activar aquesta opció només hem d'afegir una línia com aquesta a l'arxiu /etc/inittab:
# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
T0:2345:respawn:/sbin/getty -L ttyS0 38400 vt100
# també podem posar vt102, en alguns llocs he llegit que la emulació de terminal és millor
Ara, quan s'inicii el servidor i quan acabi el procés d'arranc podrem accedir al servidor des d'un altre ordinador si ens connectem amb un cable null-modem i amb un programa com putty, especificant que es connectem pel port serie i especificant la velocitat de 38400 bauds.
Ens pot passar que el servidor tingui un problema i no completi el procés d'arranc (per exemple no s'ha trobat un disc que es necessari muntar segons especifica /etc/fstab). En aquest cas no ens podríem arribar a connectar ja que no s'ha completat el procés d'arranc. Abans d'anar a buscar un monitor podrem provar de connectar un teclat PS/2 a cegues i pitjar Ctrl + D. Aquesta combinació de tecles en Debian permet completar el procés d'arranc encara amb problemes. A partir d'aquí un cop connectats a l'equip comprovem quin ha estat el problema per tal de solucionar-lo (el primer és fer un dmesg).
Connectar amb putty
Última actualització: octubre de 2019
Per a connectar des de putty (o algun altre terminal virtual que pugui connectar per port serie), ens farà falta conèixer el nom del port al que tenim connectat el dispositiu a controlar.
Farem servir aquest script:
#!/bin/bash
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
(
syspath="${sysdevpath%/dev}"
devname="$(udevadm info -q name -p $syspath)"
[[ "$devname" == "bus/"* ]]
eval "$(udevadm info -q property --export -p $syspath)"
[[ -z "$ID_SERIAL" ]]
echo "/dev/$devname - $ID_SERIAL"
)
done
per a obtenir els noms. Com a resultat obtindrem, alguna cosa semblant a:
/dev/ttyUSB0 - Prolific_Technology_Inc._USB-Serial_Controller_D
/dev/dri/controlD65 - DisplayLink_TOSHIBA_Video_Dock_0110-000000
/dev/fb1 - DisplayLink_TOSHIBA_Video_Dock_0110-000000
/dev/snd/controlC1 - 0d8c_USB_Sound_Device
/dev/snd/pcmC1D0c - 0d8c_USB_Sound_Device
/dev/snd/pcmC1D0p - 0d8c_USB_Sound_Device
/dev/input/event7 - 0d8c_USB_Sound_Device
/dev/hidraw4 - 0d8c_USB_Sound_Device
/dev/input/event8 - PixArt_USB_Optical_Mouse
/dev/input/mouse1 - PixArt_USB_Optical_Mouse
/dev/hidraw5 - PixArt_USB_Optical_Mouse
...
Amb aquest resultat podrem configurar putty per a efectuar la connexió amb aquests paràmetres, per exemple:
* Connection type: Serial
* Serial line: /dev/ttyUSB0
* Speed: 38400