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.

Accesso ai dispositivi seriali dalle macchine virtuali

Serial to Ethernet Connector è un programma di utilità che facilita senza problemi l’accesso ai dispositivi aventi porta seriale, da una macchina virtuale.
14-giorni disponibili di prova gratuita
Il prezzo della licenza parte da $259.95
Disponibile per

Stabilisci un accesso remoto ai dispositivi seriale su un ambiente virtuale

Potresti trovarti ad affrontare una situazione richiedente l’uso di un dispositivo di porta seriale vecchia, compatibile solo con un sistema operativo (SO) obsoleto. Invece di installare questo sistema direttamente sull'hardware, ne emuli la funzionalità con una macchina virtuale. Serial to Ethernet Connector consente il reindirizzamento della porta seriale fisica della macchina ospitante, alla macchina virtuale. Questa riconosce il vecchio dispositivo come se fosse connesso a una porta seriale locale, mentre riceve dati dall'interfaccia COM fisica della macchina ospitante.
Un portatile simula un altro portatile, con un dispositivo seriale connesso

Ambienti virtuali supportati

Il reindirizzamento della porta seriale è disponibile per ambienti virtuali Hyper-V, VMware, VirtualBox e XenDesktop con Serial to Ethernet Connector.
Esempi di programmi conosciuti per la virtualizzazione

Come connettere le porte seriali da una macchina virtuale

1
Installa Serial to Ethernet Connector sulla macchina ospitante avente la porta seriale fisica e la macchina virtuale che avrà accesso al dispositivo.
Usa i pulsanti sulla pagina di scaricamento per selezionare il tuo sistema operativo
2
Imposta una connessione server TSP usando Telnet sull’host.
Avvia una connessione server sul computer fisico
3
Imposta una connessione al server TSP tramite Telnet sull'host. Sulla MV, apri la scheda “Connessioni remote” ed individua il server creato sulla macchina fisica. Premi su “Connetti” e seleziona un nome per la porta virtuale. Premi su "Crea" per stabilire la porta virtuale.
Crea una connessione cliente nella macchina virtuale
4
Ora puoi comunicare con il dispositivo collegato alla porta fisica tramite la porta virtuale della macchina virtuale, con lo stesso livello di funzionalità di una connessione fisica diretta.
Puoi controllare adesso lo stato della connessione

Cosa dicono i clienti

4.9 punteggio complessivo, basato su 372 utenti recensioni
Usato da più di 150+ imprese mondiali di successo

Domande frequenti

Sì — è uno scenario di prima classe, supportato su Hyper-V, VMware, VirtualBox e XenDesktop. La cosa fondamentale da capire è come: SEC non si aggancia alla UART emulata dell'hypervisor. Si installa SEC sull'host come connessione server, si installa di nuovo SEC all'interno del guest, e il guest si connette come client tramite la rete virtuale. Il guest vede quindi una porta COM virtuale che si comporta come una locale, mentre il dispositivo fisico rimane sull'host.

Poiché funziona tramite la NIC virtuale del guest, ne conseguono due cose. Il sistema operativo guest deve essere abbastanza recente da eseguire l'attuale SEC (Windows 7 SP1 / Server 2008 R2 SP1 o versioni successive, oppure una distribuzione Linux supportata), e il guest deve avere una route di rete funzionante verso l'host. Se la porta fisica si trova sulla stessa macchina e ne ha bisogno una sola VM locale, il passthrough COM integrato dell'hypervisor può essere più semplice e gratuito — SEC dà il meglio di sé quando il dispositivo si trova su una macchina diversa, quando ne hanno bisogno più VM, o quando si utilizza uno stack VDI/broker che non espone affatto una porta COM dell'host.

Risposta di Nikolai Svarachevsky · Lead Developer
Sì, con la stessa regola che governa qualsiasi condivisione multi-client: usa una connessione server Raw sull'host, che accetta più VM client, e ogni VM riceve una copia dell'output del dispositivo. In modalità Telnet (RFC 2217) la connessione è peer-to-peer — una VM alla volta — perché il controllo remoto della porta non può essere condiviso tra client.

Quindi il compromesso è Raw (molte VM, ma nessuna negoziazione remota di baud/segnali — imposta la porta sull'host) rispetto a Telnet (una VM, controllo completo della porta). E anche qui vale l'avvertenza sulla scrittura: più VM possono leggere in sicurezza da un dispositivo, ma se più VM inviano comandi a un singolo dispositivo a comandi/risposte, i loro byte si intercaleranno sull'unica porta fisica. Per questo, designa una VM di controllo oppure serializza i comandi a livello di applicazione.

Risposta di Nikolai Svarachevsky · Lead Developer
Sì — questo è di fatto un null-modem di rete tra due guest, ed è un uso pulito di SEC. Crea una porta COM virtuale in ciascuna VM e collegale tramite SEC (un lato come server, l'altro come client, poiché i due tipi di connessione sono intercambiabili). Ogni programma apre la propria porta COM virtuale locale come se un cavo seriale passasse tra le due macchine, e SEC trasporta i byte attraverso la rete virtuale intermedia. Non è coinvolto alcun hardware seriale fisico.

Questo è un modo comune per collegare due applicazioni che sanno comunicare solo tramite una porta COM quando ora si trovano in VM separate. Si applicano le consuete indicazioni: per un rigoroso handshake richiesta/risposta tra loro, mantieni un semplice collegamento a due parti (peer-to-peer) invece di cercare di distribuire una porta condivisa a più endpoint e, se uno dei due programmi dipende da una temporizzazione stretta delle linee di segnale, mettilo alla prova — il salto di rete tra i guest non è un collegamento a latenza zero.

Risposta di Nikolai Svarachevsky · Lead Developer
La connessione viene ristabilita anziché riprendere istantaneamente, e la velocità dipende in gran parte da te: SEC ha un intervallo di riconnessione configurabile che determina con quale frequenza ritenta una connessione interrotta. Quando una VM viene messa in pausa o salvata, il guest si blocca con un socket TCP aperto; alla ripresa quel socket è obsoleto, quindi SEC lo chiude e si riconnette al tentativo successivo. Imposta un intervallo breve e il ripristino sarà rapido — in genere entro pochi secondi dal ritorno della connettività di rete nel guest — mentre durante quella breve finestra l'applicazione che mantiene la porta COM virtuale potrebbe vedere la porta disconnettersi o andare in errore prima che torni disponibile.

Due note pratiche. Storicamente SEC è stato sensibile a sospensione/ripresa e a Windows Fast Startup, quindi considera la ripresa del guest come un evento di riconnessione e assicurati che la tua applicazione tolleri una breve interruzione della porta. Inoltre, tutti i dati emessi da un dispositivo a flusso continuo mentre la VM era in pausa non vengono memorizzati per una consegna successiva — sono persi — perché SEC inoltra in tempo reale, non archivia e riproduce.

Risposta di Bohdan Miniv · QA Engineering
Oltre alla licenza singola standard, SEC offre una Licenza Singola dedicata per Macchina Virtuale. Esiste perché lo scenario VM prevede endpoint SEC in esecuzione all'interno di istanze guest, e la licenza VM copre quel modello di utilizzo anziché una singola installazione fisica. Se stai distribuendo SEC in macchine virtuali, questo è il tipo di licenza in base al quale dimensionare il tuo acquisto.

Poiché i termini di licenza e la copertura esatta possono cambiare e dipendono da quanti endpoint VM stai eseguendo, conferma i dettagli attuali nella pagina dei prezzi o con il team commerciale prima di acquistare su larga scala — in questo modo avrai la licenza giusta per la tua distribuzione invece di scoprire in seguito un'incompatibilità.

Risposta di Bohdan Miniv · QA Engineering
Questo è il comportamento previsto, non un bug. Quando l'opzione Create as virtual port è selezionata, le impostazioni predefinite della porta vengono disattivate apposta: per una porta virtuale, i parametri (baud rate, parità, bit di dati/stop) sono definiti dall'applicazione che apre la porta, non fissati in SEC. L'applicazione richiede la modalità desiderata quando si connette, e la porta virtuale la adotta.

Questo è il modello corretto per una porta virtuale perché le impostazioni di un vero dispositivo seriale contano solo all'estremità fisica. Se stai creando un bridge verso una porta reale e vuoi fissarne i parametri, configurali sul lato della porta reale; il lato virtuale segue l'applicazione. Se ti aspettavi di impostare in modo permanente la velocità della porta virtuale indipendentemente dall'app, semplicemente non è così che funzionano le porte virtuali — e forzarlo non aiuterebbe, poiché è la modalità richiesta dall'app a governare effettivamente la sessione.

Risposta di Nikolai Svarachevsky · Lead Developer
Sì. SEC viene eseguito come servizio Windows, il che significa che tutte le tue connessioni vengono ristabilite automaticamente all'avvio del sistema, prima ancora che qualsiasi utente effettui l'accesso. Questo è importante per macchine non presidiate e server che devono avere le loro porte condivise disponibili nel momento stesso in cui il sistema si avvia, senza che qualcuno debba accedere.

Significa anche che non devi tenere aperta la GUI. Una volta configurato tutto, puoi chiudere l'interfaccia e il servizio continuerà a mantenere ogni connessione attiva in background. La GUI è solo un pannello di controllo per il servizio, non un requisito perché le connessioni restino attive.

Risposta di Nikolai Svarachevsky · Lead Developer
Serial to Ethernet Connector
Lavora con la porta COM sulla macchina virtuale
14-giorni disponibili di prova gratuita
Il prezzo della licenza parte da $259.95
Disponibile per