Cookie
Electronic Team, Inc. uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

Acceso a Dispositivos Serie desde Máquinas Virtuales

Serial to Ethernet Connector es un software que facilita el acceso a dispositivos de puerto serie desde una MV.
14 días de prueba gratuita
Precio de licencia a partir de $259.95
Disponible para

Establecer el acceso remoto a dispositivos serie en un entorno virtual

Puede darse el caso de que tenga que utilizar un dispositivo de puerto serie heredado que solo es compatible con un sistema operativo (SO) obsoleto. En lugar de instalar ese SO directamente en el hardware, puede emular su funcionalidad con una máquina virtual. Serial to Ethernet Connector permite redirigir el puerto serie físico del host a la máquina virtual. La máquina virtual reconoce el dispositivo heredado como si estuviera conectado a un puerto serie local, ya que recibe datos de la interfaz COM física de la máquina host.
Un portátil simula a otro portátil, con un dispositivo serie conectado

Entornos virtuales compatibles

Con Serial to Ethernet Connector, la redirección del puerto serie está disponible para entornos virtuales Hyper-V, VMware, VirtualBox y XenDesktop.
Ejemplos de software de virtualización populares

Cómo conectarse a puertos serie desde una MV

1
Instale Serial to Ethernet Connector en el host con el puerto serie físico y en la máquina virtual que accederá al dispositivo.
Use los botones de la página de descargas para seleccionar su sistema operativo
2
Establezca una conexión con el servidor TSP mediante Telnet en el host.
Inicie una conexión de servidor en el ordenador físico
3
Establezca una conexión con el servidor TSP utilizando Telnet en el host. En la máquina virtual, abra la pestaña "Conexiones remotas" y localice el servidor creado en la máquina física. Haga clic en "Conectar" y asigne un nombre al puerto virtual. Haga clic en "Crear" para establecer el puerto virtual.
Cree una conexión cliente en la máquina virtual
4
Ahora puede comunicarse con el dispositivo conectado al puerto físico a través del puerto virtual de la MV con el mismo nivel de funcionalidad que una conexión física directa.
Ahora puede comprobar el estado de la conexión

Opinión de los clientes

4.9 clasificación general, basado en 372 usuarios comentario
Utilizado con éxito por más de 150 empresas de todo el mundo

Preguntas frecuentes

Sí — es un escenario de primera clase, compatible con Hyper-V, VMware, VirtualBox y XenDesktop. Lo clave que hay que entender es cómo: SEC no se engancha al UART emulado del hipervisor. Instala SEC en el host como una conexión de servidor, instala SEC de nuevo dentro del guest, y el guest se conecta como cliente a través de la red virtual. El guest entonces ve un puerto COM virtual que se comporta como uno local, mientras que el dispositivo físico permanece en el host.

Como funciona a través de la NIC virtual del guest, se derivan dos cosas. El sistema operativo del guest debe ser lo bastante nuevo para ejecutar SEC actual (Windows 7 SP1 / Server 2008 R2 SP1 o posterior, o un Linux compatible), y el guest necesita una ruta de red funcional hacia el host. Si tu puerto físico está en la misma máquina y solo una VM local lo necesita, el propio passthrough COM integrado del hipervisor puede ser más simple y gratuito — SEC demuestra su valor cuando el dispositivo está en una máquina diferente, varias VM lo necesitan, o estás en una pila VDI/broker que no expone en absoluto un puerto COM del host.

Respondido por Nikolai Svarachevsky · Desarrollador principal
Sí, con la misma regla que rige cualquier uso compartido entre varios clientes: use una conexión de servidor Raw en el host, que acepta varias VM cliente, y cada VM recibe una copia de la salida del dispositivo. En el modo Telnet (RFC 2217) la conexión es punto a punto — una VM a la vez — porque el control remoto del puerto no se puede compartir entre clientes.

Así que la compensación es Raw (muchas VM, pero sin negociación remota de velocidad/señales — configure el puerto en el host) frente a Telnet (una VM, control total del puerto). Y la advertencia sobre escritura también se aplica aquí: varias VM pueden leer de forma segura un dispositivo, pero si varias VM envían comandos a un único dispositivo de comando/respuesta, sus bytes se intercalarán en el único puerto físico. Para eso, designe una VM controladora o serialice los comandos a nivel de la aplicación.

Respondido por Nikolai Svarachevsky · Desarrollador principal
Sí — esto es, en efecto, un null-modem en red entre dos máquinas virtuales invitadas, y es un uso limpio de SEC. Cree un puerto COM virtual en cada VM y conéctelos a través de SEC (un lado como servidor y el otro como cliente, ya que los dos tipos de conexión son intercambiables). Cada programa abre su puerto COM virtual local como si hubiera un cable serie entre las dos máquinas, y SEC transporta los bytes a través de la red virtual intermedia. No interviene en absoluto ningún hardware serie físico.

Esta es una forma común de vincular dos aplicaciones que solo saben comunicarse a través de un puerto COM cuando ahora residen en máquinas virtuales separadas. Se aplica la orientación habitual: para un protocolo estricto de solicitud/respuesta entre ellas, manténgalo como un enlace simple de dos partes (peer-to-peer) en lugar de intentar distribuir un puerto compartido a varios extremos, y si alguno de los programas depende de una temporización ajustada de las líneas de señal, pruébelo — el salto de red entre las máquinas invitadas no es un cable de latencia cero.

Respondido por Nikolai Svarachevsky · Desarrollador principal
La conexión se restablece en lugar de reanudarse instantáneamente, y la rapidez depende en gran medida de usted: SEC tiene un intervalo de reconexión configurable que establece con qué frecuencia vuelve a intentar una conexión caída. Cuando una VM se pausa o se guarda, el sistema invitado se congela con un socket TCP abierto; al reanudarse, ese socket queda obsoleto, por lo que SEC lo cierra y se vuelve a conectar en el siguiente reintento. Si establece un intervalo corto, la recuperación será rápida — normalmente en cuestión de segundos después de que la red vuelva a estar activa en el sistema invitado —, aunque durante esa breve ventana la aplicación que mantiene el puerto COM virtual puede ver que el puerto se desconecta o genera un error antes de volver.

Dos notas prácticas. Históricamente, SEC ha sido sensible a la suspensión/reanudación y al Inicio rápido de Windows, así que trate la reanudación del sistema invitado como un evento de reconexión y asegúrese de que su aplicación tolere una breve interrupción del puerto. Y cualquier dato que un dispositivo de transmisión continua haya emitido mientras la VM estaba en pausa no se almacena en búfer para entregarse después — se pierde — porque SEC reenvía en vivo, no almacena ni reproduce.

Respondido por Bohdan Miniv · Ingeniería de QA
Junto con la licencia individual estándar, SEC ofrece una Licencia Individual para Máquina Virtual. Existe porque el escenario de VM implica endpoints de SEC que se ejecutan dentro de instancias invitadas, y la licencia de VM cubre ese modelo de uso en lugar de una única instalación física. Si va a implementar SEC en máquinas virtuales, este es el tipo de licencia con el que debe dimensionar su compra.

Debido a que los términos de la licencia y la cobertura exacta pueden cambiar y dependen de cuántos endpoints de VM esté ejecutando, confirme los detalles actuales en la página de precios o con el equipo de ventas antes de comprar a gran escala; de ese modo, se le asignará la licencia correcta para su implementación en lugar de descubrir una incompatibilidad más adelante.

Respondido por Bohdan Miniv · Ingeniería de QA
Ese es el comportamiento esperado, no un error. Cuando la opción Create as virtual port está marcada, la configuración predeterminada del puerto aparece en gris a propósito: para un puerto virtual, los parámetros (baud rate, paridad, bits de datos/parada) los define la aplicación que abre el puerto, no quedan fijos en SEC. La aplicación solicita el modo que quiere al conectarse, y el puerto virtual lo adopta.

Este es el modelo correcto para un puerto virtual porque la configuración de un dispositivo serie real solo importa en el extremo físico. Si está haciendo un puente hacia un puerto real y quiere fijar sus parámetros, configúrelos en el lado del puerto real; el lado virtual sigue a la aplicación. Si esperaba establecer de forma fija la velocidad del puerto virtual independientemente de la aplicación, simplemente no es así como funcionan los puertos virtuales, y forzarlo no ayudaría, ya que el modo solicitado por la aplicación es lo que realmente gobierna la sesión.

Respondido por Nikolai Svarachevsky · Desarrollador principal
Sí. SEC se ejecuta como un servicio de Windows, lo que significa que todas tus conexiones se restablecen automáticamente al iniciar el sistema, antes de que cualquier usuario inicie sesión. Eso es importante para máquinas desatendidas y servidores que necesitan que sus puertos compartidos estén disponibles en el momento en que el equipo se inicia, sin que nadie tenga que iniciar sesión.

También significa que no tienes que mantener la GUI abierta. Una vez que todo está configurado, puedes cerrar la interfaz y el servicio mantiene cada conexión en ejecución en segundo plano. La GUI es solo un panel de control para el servicio, no un requisito para que las conexiones permanezcan activas.

Respondido por Nikolai Svarachevsky · Desarrollador principal
Serial to Ethernet Connector
Trabajar con Puerto COM en Máquina Virtual
14 días de prueba gratuita
Precio de licencia a partir de $259.95
Disponible para