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.

仮想マシンからのシリアルデバイスへのアクセス

Serial to Ethernet Connectorは、VMからシリアルポートデバイスへのシームレスなアクセスを容易にする、ソフトウェアユーティリティです。
14日間の無料トライアルをご利用いただけます
ライセンス価格の開始は:$259.95
以下でご利用いただけます:

仮想環境でのシリアルデバイスへのリモートアクセスを確立

時代遅れのオペレーティングシステム(OS)としか互換性のない、レガシーシリアルポートデバイスを使用しなければならない状況に直面することがあります。そのような場合、そのOSをハードウェアに直接インストールするのではなく、仮想マシンでその機能をエミュレートできます。当社のSerial to Ethernet Connectorでは、ホストの物理シリアルポートをVMにリダイレクトできます。VMは、ホストマシンの物理COMインターフェースからデータを受信すると、レガシーデバイスがローカルシリアルポートに接続されているかのように認識します。
ラップトップが、シリアルデバイスを接続した別のラップトップをシミュレートします

対応仮想環境

シリアルポートのリダイレクトは、当社のSerial to Ethernet Connectorをご利用いただくと、Hyper-V、VMware、VirtualBox、XenDesktopの仮想環境において可能です。
一般的な仮想化ソフトウェアの例

VMからシリアルポートに接続する方法

1
物理的なシリアルポートを持つホストと、デバイスにアクセスするVMに当社のSerial to Ethernet Connectorをインストールします。
ダウンロードページのボタンでOSを選択
2
ホスト上でTelnetを使用してTSPサーバー接続をセットアップします。
物理コンピューターでサーバー接続を開始
3
ホスト上でTelnetを使用してTSPサーバー接続をセットアップします。VM上で 「Remote connections(リモート接続)」タブを開き、物理マシン上に作成されたサーバーを見つけます。「Connect(接続)」をクリックし、仮想ポートの名前を選択します。「Create(作成)」をクリックして、仮想ポートを確立します。
仮想マシンにクライアント接続を作成
4
これで、VMの仮想ポートを介して、物理ポートに接続されたデバイスと、物理的な直接接続と同レベルの機能で通信できるようになりました。
接続のステータスをチェックできるようになりました

お客様のお声

4.9 総合順位, 以下に基づく: 372 ユーザー レビュー
世界中の150社以上の企業様にご使用いただいております

よくある質問

はい — これは主要なシナリオの1つであり、Hyper-V、VMware、VirtualBox、XenDesktop でサポートされています。理解すべき重要な点は、その仕組みです。SEC はハイパーバイザーのエミュレートされた UART をフックしません。ホストにサーバー接続として SEC をインストールし、ゲスト内部にも再度 SEC をインストールすると、ゲストは仮想ネットワーク経由でクライアントとして接続します。するとゲストにはローカルの COM ポートのように動作する仮想 COM ポートが見え、物理デバイスはホスト側に残ります。

ゲストの仮想 NIC 経由で動作するため、2つのことが導かれます。ゲスト OS は現在の SEC を実行できるだけ十分に新しい必要があります(Windows 7 SP1 / Server 2008 R2 SP1 以降、またはサポートされている Linux)。また、ゲストからホストへの有効なネットワーク経路が必要です。物理ポートが同じマシン上にあり、1つのローカル VM だけがそれを必要とする場合は、ハイパーバイザー自身の組み込み COM パススルーのほうがより簡単で無料かもしれません — SEC が真価を発揮するのは、デバイスが別のマシン上にある場合、複数の VM がそれを必要とする場合、またはホスト COM ポートをまったく公開しない VDI/ブローカースタック上にいる場合です。

回答者:Nikolai Svarachevsky · リード開発者
はい、複数クライアント共有に適用されるのと同じルールです。ホスト上で複数のクライアントVMを受け入れるRawサーバー接続を使用し、各VMはデバイスの出力のコピーを受け取ります。Telnet (RFC 2217)モードでは、接続はピアツーピア、つまり一度に1つのVMのみです。これは、リモートポート制御をクライアント間で共有できないためです。

したがって、トレードオフは、Raw(複数のVMに対応するが、リモートのボーレート/信号ネゴシエーションは不可 — ポートはホスト側で設定)と、Telnet(1つのVMのみ、完全なポート制御)の対比になります。また、書き込みに関する注意もここに当てはまります。複数のVMが1つのデバイスを安全に読み取ることはできますが、複数のVMが単一のコマンド/レスポンス型デバイスにコマンドを送信すると、それらのバイト列は1つの物理ポート上で混在します。そのため、1つの制御用VMを指定するか、アプリケーションレベルでコマンドを直列化してください。

回答者:Nikolai Svarachevsky · リード開発者
はい — これは実質的に、2つのゲスト間を結ぶネットワーク化されたヌルモデムであり、SEC のクリーンな使用例です。各 VM に仮想 COM ポートを作成し、それらを SEC 経由で接続します(接続タイプは相互に入れ替え可能なので、一方をサーバー、もう一方をクライアントとして設定します)。各プログラムは、あたかも2台のマシンの間にシリアルケーブルが接続されているかのように、それぞれのローカル仮想 COM ポートを開き、SEC がその間の仮想ネットワークを通じてバイトを転送します。物理的なシリアルハードウェアは一切関与しません。

これは、COM ポート経由でしか通信できない2つのアプリケーションが、現在は別々の VM 上で動作している場合に、それらを接続する一般的な方法です。通常の指針として、両者の間で厳密なリクエスト/レスポンスのハンドシェイクが必要な場合は、共有ポートを複数のエンドポイントに分岐しようとするのではなく、シンプルな2者間(ピアツーピア)接続にしてください。また、どちらかのプログラムが信号線の厳密なタイミングに依存している場合は、必ずテストしてください — ゲスト間のネットワークホップはゼロレイテンシの配線ではありません。

回答者:Nikolai Svarachevsky · リード開発者
接続は即座に再開されるのではなく再確立されます。また、その速さは主に設定次第です。SEC には設定可能な再接続間隔があり、切断されたリンクへの再試行頻度を決められます。VM が一時停止または保存されると、ゲストは開いた TCP ソケットを保持したまま停止します。再開時にはそのソケットは無効になっているため、SEC はそれを切断し、次の再試行時に再接続します。短い間隔に設定すれば復旧は速くなり、通常はゲスト内でネットワークが復帰してから数秒以内です。ただし、その短い間は仮想 COM ポートを保持しているアプリケーションで、ポートが戻る前に切断やエラーが見える場合があります。

実用上の注意点が 2 つあります。SEC は従来、一時停止/再開や Windows Fast Startup の影響を受けやすいため、ゲストの再開は再接続イベントとして扱い、アプリケーションが短時間のポート中断を許容できるようにしてください。また、VM の一時停止中に継続的にストリーミングしているデバイスが出力したデータは、後で配信するためにバッファされません。つまり失われます。SEC はライブ転送を行うのであって、保存して再生するわけではありません。

回答者:Bohdan Miniv · QA エンジニアリング
標準のシングルライセンスに加えて、SEC では専用の仮想マシン向けシングルライセンスも提供しています。これは、VM のシナリオでは SEC のエンドポイントがゲストインスタンス内で実行されるためであり、VM ライセンスは単一の物理インストールではなく、その利用形態を対象としています。SEC を仮想マシンに導入する場合は、このライセンス種別を基準に購入規模を見積もってください。

ライセンス条件や正確な適用範囲は変更される可能性があり、また実行している VM エンドポイントの数によっても異なるため、大規模に購入する前に、価格ページまたは営業チームに現在の詳細を確認してください。そうすることで、後になって不一致に気づくのではなく、導入環境に適したライセンスを選択できます。

回答者:Bohdan Miniv · QA エンジニアリング
それは予想される動作であり、不具合ではありません。Create as virtual port オプションがチェックされている場合、ポートのデフォルト設定がグレーアウトされるのは意図的なものです。仮想ポートでは、パラメータ(ボーレート、パリティ、データ/ストップビット)は SEC で固定されるのではなく、そのポートを開くアプリケーションによって定義されます。アプリケーションは接続時に必要なモードを要求し、仮想ポートはそれを採用します。

これは仮想ポートにとって正しいモデルです。なぜなら、実際のシリアルデバイスの設定が意味を持つのは物理的な終端側だけだからです。実ポートにブリッジしていてそのパラメータを固定したい場合は、実ポート側で設定してください。仮想側はアプリケーションに従います。アプリとは独立して仮想ポートの速度を固定設定できると期待していたとしても、それは単に仮想ポートの仕組みではありません。さらに、それを強制しても役には立ちません。実際にセッションを支配するのは、アプリが要求したモードだからです。

回答者:Nikolai Svarachevsky · リード開発者
はい。SEC は Windows サービスとして実行されるため、すべての接続はシステム起動時に自動的に再確立されます。つまり、ユーザーがログインする前に再接続されます。これは、無人運用のマシンや、起動した瞬間から共有ポートを利用可能にしておく必要があるサーバーにとって重要です。誰かがサインインする必要はありません。

また、GUI を開いたままにしておく必要もありません。いったんすべてを設定すれば、インターフェースを閉じても、サービスがバックグラウンドですべての接続を維持し続けます。GUI はサービスのためのコントロールパネルにすぎず、接続を維持するための必須要件ではありません。

回答者:Nikolai Svarachevsky · リード開発者
Serial to Ethernet Connector
仮想マシンでのCOMポートの操作
14日間の無料トライアルをご利用いただけます
ライセンス価格の開始は:$259.95
以下でご利用いただけます: