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.

Accès à des périphériques série depuis des machines virtuelles

Serial to Ethernet Connector est un logiciel permettant d’accéder facilement à des périphériques série depuis une machine virtuelle.
Période d'essai de 14 jours gratuits
La licence est disponible à partir de $259.95
Disponible pour

Création d’un accès à distance à des périphériques série dans un environnement virtuel

Vous pouvez être amené à devoir utiliser un périphérique ancien connecté à un port série et uniquement compatible avec une ancienne version d’un système d’exploitation. Au lieu d’installer directement ce système d’exploitation sur un ordinateur, vous pouvez émuler ses fonctionnalités à l’aide d’une machine virtuelle. Serial to Ethernet Connector permet de rediriger le port série d’un ordinateur physique vers une machine virtuelle. La machine virtuelle détecte le périphérique ancien comme s’il était connecté à un port série physique et reçoit les données transmises via l’interface COM de l’ordinateur local.
Un ordinateur portable en émule un autre avec un périphérique série connecté

Environnements virtuels compatibles

La redirection de ports série avec Serial to Ethernet Connector est disponible pour les environnements virtuels Hyper-V, VMware, VirtualBox et XenDesktop.
Exemples de logiciels de virtualisation populaires

Comment se connecter à des ports série depuis une machine virtuelle

1
Installez Serial to Ethernet Connector sur l’ordinateur avec le port série physique et sur la machine virtuelle qui accédera au périphérique.
Utilisez les boutons sur la page de téléchargement pour choisir votre système d’exploitation
2
Créez une connexion au serveur TSP à l’aide de Telnet sur l’ordinateur local.
Démarrez une connexion serveur sur l’ordinateur physique
3
Créez une connexion au serveur TSP à l’aide de Telnet sur l’ordinateur local. Sur la machine virtuelle, ouvrez l’onglet “Connexions distantes" et trouvez le serveur créé sur l’ordinateur physique. Cliquez sur “Connexion” et attribuez un nom au port virtuel. Cliquez sur “Créer” pour ajouter le port virtuel.
Créez une connexion client sur la machine virtuelle
4
Vous pouvez à présent communiquer avec le périphérique connecté au port physique via le port virtuel de la machine virtuelle en profitant des mêmes fonctionnalités que si vous y étiez physiquement connecté.
Vous pouvez maintenant vérifier l’état de la connexion

Avis de nos clients

4.9 note globale, basé sur 372 utilisateurs revue
Utilisé par plus de 150 entreprises dans le monde entier

Questions fréquemment posées

Oui — c’est un scénario de premier ordre, pris en charge sur Hyper-V, VMware, VirtualBox et XenDesktop. L’élément clé à comprendre est le suivant : SEC n’intercepte pas l’UART émulé de l’hyperviseur. Vous installez SEC sur l’hôte en tant que connexion serveur, vous installez à nouveau SEC à l’intérieur de l’invité, et l’invité se connecte en tant que client via le réseau virtuel. L’invité voit alors un port COM virtuel qui se comporte comme un port local, tandis que le périphérique physique reste sur l’hôte.

Comme cela fonctionne via la carte réseau virtuelle de l’invité, il en découle deux choses. Le système d’exploitation invité doit être suffisamment récent pour exécuter la version actuelle de SEC (Windows 7 SP1 / Server 2008 R2 SP1 ou plus récent, ou un Linux pris en charge), et l’invité doit disposer d’une route réseau fonctionnelle vers l’hôte. Si votre port physique se trouve sur la même machine et qu’une seule VM locale en a besoin, le propre passthrough COM intégré de l’hyperviseur peut être plus simple et gratuit — SEC prend tout son sens lorsque le périphérique se trouve sur une autre machine, que plusieurs VM en ont besoin, ou que vous utilisez une pile VDI/courtier qui n’expose aucun port COM hôte.

Réponse de Nikolai Svarachevsky · Développeur principal
Oui, avec la même règle qui régit tout partage multi-client : utilisez une connexion de serveur Raw sur l’hôte, qui accepte plusieurs VM clientes, et chaque VM reçoit une copie de la sortie du périphérique. En mode Telnet (RFC 2217), la connexion est de pair à pair — une VM à la fois — car le contrôle de port à distance ne peut pas être partagé entre clients.

Le compromis est donc le suivant : Raw (plusieurs VM, mais pas de négociation à distance du débit/des signaux — configurez le port sur l’hôte) contre Telnet (une VM, contrôle complet du port). Et la mise en garde concernant l’écriture s’applique ici aussi : plusieurs VM peuvent lire en toute sécurité un même périphérique, mais si plusieurs VM envoient des commandes à un seul périphérique à commandes/réponses, leurs octets s’entrelaceront sur l’unique port physique. Dans ce cas, désignez une VM de contrôle unique ou sérialisez les commandes au niveau de l’application.

Réponse de Nikolai Svarachevsky · Développeur principal
Oui — il s’agit effectivement d’un null-modem en réseau entre deux invités, et c’est une utilisation propre de SEC. Créez un port COM virtuel dans chaque VM et connectez-les via SEC (un côté comme serveur, l’autre comme client, puisque les deux types de connexion sont interchangeables). Chaque programme ouvre son port COM virtuel local comme si un câble série reliait les deux machines, et SEC transporte les octets à travers le réseau virtuel intermédiaire. Aucun matériel série physique n’est impliqué.

C’est une manière courante de relier deux applications qui ne savent communiquer que via un port COM alors qu’elles résident désormais dans des VM distinctes. Les recommandations habituelles s’appliquent : pour une poignée de main stricte de type requête/réponse entre elles, conservez une liaison simple à deux parties (pair à pair) plutôt que d’essayer de répartir un port partagé entre plusieurs points de terminaison, et si l’un des programmes dépend d’une synchronisation très précise des lignes de signal, testez-le — le saut réseau entre invités n’est pas un fil à latence nulle.

Réponse de Nikolai Svarachevsky · Développeur principal
La connexion se rétablit plutôt que de reprendre instantanément, et sa rapidité dépend en grande partie de vous : SEC dispose d’un intervalle de reconnexion configurable qui détermine à quelle fréquence il réessaie après une liaison interrompue. Lorsqu’une VM est mise en pause ou enregistrée, le système invité se fige avec un socket TCP ouvert ; lors de la reprise, ce socket est périmé, donc SEC le ferme et se reconnecte à la tentative suivante. Définissez un intervalle court et la récupération sera rapide — généralement en quelques secondes après le rétablissement du réseau dans le système invité — tandis que pendant cette brève période, l’application qui utilise le port COM virtuel peut voir le port se déconnecter ou générer une erreur avant son retour.

Deux remarques pratiques. SEC a historiquement été sensible à la mise en veille/reprise et au démarrage rapide de Windows, considérez donc la reprise du système invité comme un événement de reconnexion et assurez-vous que votre application tolère une brève interruption du port. Et toutes les données qu’un appareil diffusant en continu a émises pendant que la VM était en pause ne sont pas mises en mémoire tampon pour être livrées plus tard — elles sont perdues — car SEC transmet en direct, il ne stocke pas et ne rejoue pas.

Réponse de Bohdan Miniv · Ingénierie QA
En plus de la licence unique standard, SEC propose une licence unique dédiée pour machine virtuelle. Elle existe parce que le scénario VM implique des points de terminaison SEC exécutés à l’intérieur d’instances invitées, et la licence VM couvre ce modèle d’utilisation plutôt qu’une seule installation physique. Si vous déployez SEC dans des machines virtuelles, c’est le type de licence sur lequel dimensionner votre achat.

Comme les conditions de licence et la couverture exacte peuvent changer et dépendent du nombre de points de terminaison VM que vous exécutez, confirmez les détails actuels sur la page des tarifs ou auprès de l’équipe commerciale avant d’acheter à grande échelle — ainsi, vous serez associé à la licence adaptée à votre déploiement au lieu de découvrir plus tard une incompatibilité.

Réponse de Bohdan Miniv · Ingénierie QA
C’est le comportement attendu, pas un bug. Lorsque l’option Create as virtual port est cochée, les paramètres par défaut du port sont grisés volontairement : pour un port virtuel, les paramètres (débit en bauds, parité, bits de données/d’arrêt) sont définis par l’application qui ouvre le port, et non fixés dans SEC. L’application demande le mode qu’elle souhaite lors de la connexion, et le port virtuel l’adopte.

C’est le bon modèle pour un port virtuel, car les paramètres d’un véritable périphérique série n’ont d’importance qu’à l’extrémité physique. Si vous créez un pont vers un port réel et souhaitez fixer ses paramètres, configurez-les du côté du port réel ; le côté virtuel suit l’application. Si vous pensiez pouvoir définir manuellement le débit du port virtuel indépendamment de l’application, ce n’est tout simplement pas ainsi que fonctionnent les ports virtuels — et l’imposer n’aiderait pas, puisque c’est le mode demandé par l’application qui régit réellement la session.

Réponse de Nikolai Svarachevsky · Développeur principal
Oui. SEC s’exécute comme un service Windows, ce qui signifie que toutes vos connexions sont automatiquement rétablies au démarrage du système — avant qu’un utilisateur ne se connecte. C’est important pour les machines sans surveillance et les serveurs qui doivent avoir leurs ports partagés disponibles dès que la machine démarre, sans que quelqu’un ait à se connecter.

Cela signifie également que vous n’avez pas besoin de laisser l’interface graphique ouverte. Une fois que tout est configuré, vous pouvez fermer l’interface et le service maintient chaque connexion active en arrière-plan. L’interface graphique n’est qu’un panneau de contrôle pour le service, pas une condition nécessaire pour que les connexions restent actives.

Réponse de Nikolai Svarachevsky · Développeur principal
Serial to Ethernet Connector
Utiliser un port COM sur une machine virtuelle
Période d'essai de 14 jours gratuits
La licence est disponible à partir de $259.95
Disponible pour