Pregunta

¿Cuál es la mejor manera de configurar una máquina Linux para escuchar en su puerto serie las conexiones entrantes?¡He buscado mucho en Google pero no puedo encontrar la combinación correcta de comandos para hacer que hablen!

Mi objetivo principal es proporcionar una interfaz serie para ejecutar instancias de máquinas virtuales kvm/qemu.Actualmente sólo tienen una interfaz VNC (están en servidores sin cabeza, no en X).Puedo hacer que la VM cree un dispositivo serie iniciándolo con el archivo -serial:bandera, pero cómo hablar con ella es otro problema.Ambas cajas ejecutan Ubuntu 8.04.

¿Fue útil?

Solución

El CÓMO en serie de Linux Tiene mucha información detallada sobre la comunicación serial en general.El más específico Consola serial remota de Linux CÓMO es lo que realmente estás buscando si quieres poder iniciar sesión en tus sistemas virtualizados usando el puerto serie como si estuvieras en la consola.Como indicó Hein, necesitará un cable de módem nulo y ejecutar minicom en el terminal remoto.

La consola Linux se usa de dos maneras, cada una de las cuales debe configurarse por separado para uso en serie.Puedes configurar el kernel para copiar sus mensajes a través del puerto serie, lo cual en ocasiones es interesante para observar el arranque del sistema y casi indispensable si estás depurando el kernel.(Esto requiere soporte del kernel y actualización de los parámetros de arranque para que el kernel sepa que desea una salida en serie;ver Capítulo 5 del segundo procedimiento). Probablemente esté más interesado en iniciar sesión a través del puerto serie, lo que requiere ejecutar getty en el puerto serie después del inicio (al igual que su sistema ya ejecuta getty en los terminales virtuales después del inicio), que se describe en detalle en Capítulo 6 del cómo.

Otros consejos

Supongo que conecta los dos puertos serie mediante un cable de "módem nulo".

Utilice un programa como minicom para hablar con el sistema remoto; probablemente necesite configurar los parámetros de comunicación y posiblemente desactivar el control de flujo del hardware (si su cable no tiene las líneas de control de flujo conectadas).

Digamos que estás haciendo esto en /dev/tty1.

en el caparazón

chown *youruser* /dev/tty1

luego en un script Perl llamado ejemplo.pl

open PORT, "</dev/tty1" || die "Can't open port: $!";
while (defined ($_ = <PORT>))
{
 do_something($_);
}
close PORT;

Obviamente, hay más que hacer si desea que esto se inicie automáticamente y reaparezca en caso de error, etc.Pero la idea básica es leer desde el puerto serie como un archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top