VirtualBox le permite emular puertos serie (COM) dentro de una máquina virtual, lo que hace posible ejecutar aplicaciones heredadas, conectar dispositivos serie físicos o establecer comunicación entre sistemas virtuales. Al configurar correctamente los puertos COM de VirtualBox, puede redirigir los datos serie a la máquina anfitriona, compartir hardware real o crear conexiones virtuales mediante tuberías y sockets de red.
Este artículo explica cómo funcionan los puertos serie de VirtualBox, las opciones de configuración disponibles y formas prácticas de conectar y administrar puertos COM en un entorno virtual.
Emulación y gestión de puertos serie en VirtualBox
Los puertos serie virtuales creados en VirtualBox son reconocidos por el sistema operativo como un dispositivo UART compatible con 16550A estándar de forma predeterminada. El comando VBoxManage modifyvm permite que el puerto replique otros tipos de dispositivos UART. Los puertos serie virtuales admiten la recepción y transmisión de datos para la comunicación bidireccional. La conectividad con la máquina host se personaliza utilizando las capacidades de su sistema operativo.
Los usuarios configuran los puertos serie virtuales con la pestaña Configuración de VirtualBox o utilizando el comando VBoxManage. Se pueden configurar hasta cuatro puertos serie virtuales para cada máquina virtual. Los números de puerto se asignan durante la configuración y normalmente replican valores estándar como COM1, COM2, etc. Los nombres definidos por el usuario también son una opción al establecer puertos serie virtuales.
Opciones de modo de puerto y técnicas de comunicación en VirtualBox
Hay varias opciones disponibles al seleccionar el modo de puerto, lo que afecta a la conexión del puerto virtual. Sus opciones son:
- Desconectado – El SO invitado reconoce el dispositivo, pero lo trata como si no estuviera conectado al puerto.
- Dispositivo del host – Esta opción vincula el puerto serie virtual al puerto serie físico del equipo host. Las rutas reflejan el formato del SO host. Por ejemplo, /dev/ttyS0 se usa para Linux y COM1 para sistemas Windows.
- Tubería del host – Esta opción crea una tubería con nombre en sistemas Windows o emplea un socket de dominio local en Mac, Linux u Oracle Solaris. Esta es la configuración preferida para crear conexiones de tubería desde el software al SO host.
- Archivo sin procesar – Este modo guarda la salida del puerto serie virtual en un archivo donde puede usarse para recopilar datos de diagnóstico del sistema operativo invitado.
- Socket TCP – El uso de este modo establece el paso a través del puerto serie de VirtualBox y permite que los datos serie se reenvíen a través de redes TCP/IP. Las VM pueden actuar como servidor o como cliente.
Cuando se crean varios puertos serie virtuales, no debe implementarse el uso compartido de interrupciones si los puertos utilizan el mismo nivel de interrupción, para evitar conflictos de comunicación.
Los usuarios pueden establecer comunicación entre máquinas virtuales con una conexión null-modem. Una de las VM se configura como una tubería o un socket que la segunda VM utiliza para conectarse a la primera máquina.
El modo de socket TCP admite la creación de conexiones externas al puerto serie de una máquina invitada a través de TCP. VirtualBox admite tanto el modo de servidor TCP, al que se puede acceder con herramientas como telnet, como el modo de cliente TCP, adecuado para cables null-modem virtuales.
El conocimiento de los puertos serie de VirtualBox proporciona a los desarrolladores y programadores de sistemas una herramienta valiosa para ampliar la funcionalidad de sus VM. Los puertos pueden usarse para compartir dispositivos, depurar el kernel o establecer puentes de red sin requerir interfaces serie físicas.
Detalles técnicos del puerto serie de VirtualBox
VirtualBox admite hasta cuatro puertos serie virtuales por máquina virtual. Cada puerto emula una interfaz COM estándar de PC y requiere parámetros de hardware específicos para garantizar la compatibilidad con software y sistemas operativos heredados.
Configuración predeterminada del puerto COM en VirtualBox
Al configurar un puerto serie manualmente, debe especificar la dirección base de E/S y el número de IRQ. VirtualBox sigue la disposición tradicional de los puertos serie de PC:
| Puerto COM | Dirección base de E/S | IRQ |
| COM1 | 0x3F8 | 4 |
| COM2 | 0x2F8 | 3 |
| COM3 | 0x3E8 | 4 |
| COM4 | 0x2E8 | 3 |
El uso de estos valores predeterminados ayuda a evitar conflictos y garantiza que los sistemas operativos invitados detecten correctamente el dispositivo serie.
Configuración de puertos serie mediante VBoxManage
Además de la interfaz gráfica de VirtualBox, los puertos serie se pueden configurar usando la herramienta de línea de comandos VBoxManage. Este enfoque es útil para la automatización, los scripts o los entornos sin interfaz gráfica.
VirtualBox proporciona opciones de comandos como:
--uart– define el número de puerto serie y los parámetros de hardware--uartmode– especifica cómo se conecta el puerto (dispositivo del host, tubería, socket, archivo, etc.)--uarttype– establece el tipo de emulación UART
La configuración desde la línea de comandos permite a los usuarios avanzados controlar con precisión el comportamiento del puerto serie sin depender de la interfaz gráfica.
Passthrough de puerto serie de VirtualBox con conector de serie a Ethernet
Para simplificar el passthrough del puerto serie de VirtualBox y habilitar el acceso a dispositivos serie físicos, puedes usar Serial to Ethernet Connector. Este software permite que una máquina virtual de VirtualBox se conecte a dispositivos serie conectados a un host Windows local o remoto mediante la creación de puertos serie virtuales dentro de la VM.
Al utilizar Serial to Ethernet Connector, las máquinas virtuales obtienen control total sobre los periféricos serie conectados a la red, como si estuvieran conectados directamente. Este enfoque añade flexibilidad a la gestión de dispositivos serie, lo que permite reasignar fácilmente el hardware entre sesiones virtuales sin reconfigurar la máquina virtual.
Configuración de puertos COM en VirtualBox
Los siguientes pasos muestran cómo establecer y compartir puertos serie virtuales con sus máquinas virtuales.
1. Descargue e instale Serial to Ethernet Connector en el equipo que compartirá un puerto serie físico.
2. Inicie el programa y abra la pestaña de conexión del servidor.
3. Proporcione el nombre del puerto COM de la máquina anfitriona y el puerto TCP que supervisará la comunicación.
4. Seleccione Crear conexión de servidor.
5. Conecte el puerto serie a la máquina virtual en la pestaña Conexión de cliente en el sistema operativo invitado que accederá al puerto físico compartido.
6. Proporcione el nombre del puerto TCP definido durante la creación del servidor y la dirección IP del equipo host.
7. Seleccione un nombre para el puerto serie de la máquina virtual.
8. Seleccione Crear conexión de cliente.
Tutorial en video
COM Port Redirector le permite acceder a puertos serie en entornos de máquinas virtuales. Después de establecer una conexión de cliente, COM Port Redirector (también conocido como Serial to Ethernet Connector) proporciona a la VM invitada el mismo nivel de funcionalidad al usar dispositivos conectados que con una conexión física directa.