USB3.0カードをパススルーして ESXi ゲストからマウス・キーボード・スピーカーを使えるようにする

USB 3.0 カードの増設

前回 ESXi 環境で遊びたい - IT難しい に記載の通り,ゲスト VMGPU をパススルーしてモニタ出力させたはいいものの,マウスやキーボードが接続できないため操作ができていなかった.そこで PCIe USB3.0 カードを増設してパススルーさせることで、USB マウスやキーボードを使えるようにしようという試み.

機器選定

(失敗) OWL-PCEXU3E4LS

オウルテックの USB3.0x4 増設ポート OWL-PCEU3E4LS をまずは購入.

オウルテック USB3.0増設ボード 外部USB3.0×4ポート増設 PCI Express インターフェースボード ロープロファイルブラケット付き OWL-PCEXU3E4LS

取り付けてパススルー設定してゲスト Windows からマウスやキーボードを使用してみたが,

  • 縦方向に並んだポート形状が PCIe スロットと干渉してしまい,USBケーブルを差し込めない (無理やり差し込むしかない)
    ⇒ Low Profile 対応のためと思われる.
  • マウス操作が不安定
    ⇒ 時々カーソルが止まる.しばらく後に思い出したかのように動き出し,また止まる.
  • ESXi 自体がハングアップする場合がある

という事象に見舞われたため,諦めて取り外した.

(成功) USB3.0RA-P4-PCIE

続いて 玄人志向の USB3.0x4 インターフェースカード USB3.0RA-P4-PCIE を購入.  

玄人志向 USB3.0RA-P4-PCIE [玄人志向インターフェースカード USB3.0 TypeA 外部4ポート]

取り付けてパススルー設定してゲスト Windows からマウスやキーボードを使用してみたところ,問題なく運用できている.この記事もそのマウスとキーボードで書いている.一安心.これで VM Windows をメイン使いできる.

取付と設定

USB3.0RA-P4-PCIE は外部電源を必要とする仕様だが,G5 5000 は SATA 電源ケーブルが3本しかなく,内2本は別の SSD 接続で既に使用済み.残る1本もこれから増設する SSD のために確保しておきたい.

どうしようか考えた結果,分岐用のアダプタを使うことにした.

ESXi ホストの shutdown

いつもは Web コンソールから落としていたが,CLI から行ってみたいと思い立った.TeraTermSSH 接続する.Use keyboard-interactive to log in を選択してパスワード認証.

下記コマンドにて メンテナンスモード移行 → シャットダウンを実施.

esxcli system maintenanceMode set --enable=true
esxcli system shutdown poweroff --reason=maintenance

USB 3.0 カード取付

PCI スロットに取り付ける.SATA 電源を2分岐ケーブルで分岐させたうちの片方を接続.

もう片方には 4pin → SATA 変換ケーブルを差しておく.また別の機会に SSD を接続したい.

ESXi 上でパススルー設定

ESXi を再度立ち上げ,USB 3.0 カードが認識されていることを確認. Renesas Technology Corp. uPD720201 USB 3.0 Host Controller.という名前で認識されていた.

toggle passthrough でパススルーを有効にしてから再起動.

メンテナンスモードを出る.

esxcli system maintenanceMode set --enable=false

VM Windows にデバイス追加

Win10 VM 設定から PCIバイスを追加.1~4 が RTX 2070 SUPER,5 はオンボード NIC,6 が USB 3.0 カード.

PCI device 1  <class> VGA compatible controller - 0000:01:00.0
PCI device 2  <class> Audio device - 0000:01:00.1
PCI device 3  <class> USB controller - 0000:01:00.2
PCI device 4  <class> Serial bus controller - 0000:01:00.3
PCI device 5  <class> Ethernet controller - 0000:03:00.0
PCI device 6  <class> uPD720201 USB 3.0 Host Controller - 0000:04:00.0

この状態で起動させたところ,USB 接続マウスやキーボードも使えるようになった.

懸念点

この uPD720201 と全く同一モデルではないものの,前バージョン?の uPD720200 では何かと不具合が見られる様子.

「Windows10 USB3.0拡張ボードでハマる。。。」みーくん5963のブログ | みなさんお元気ですかぁ~ - みんカラ

マウスやキーボードは取り急ぎ問題ないものの,外付け HDD や USB メモリとのデータ転送時は少し注意しておくべきかもしれない.

バイスパススルー状況

USB 3.0 カード追加でデバイスパススルー状況は以下のようになった.

Address Description Passthrough メモ
0000:01:00.3 nVidia Corporation Serial bus controller Active VMGPU
0000:01:00.2 nVidia Corporation USB controller Active VMGPU
0000:01:00.1 nVidia Corporation Audio device Active VMGPU
0000:01:00.0 nVidia Corporation VGA compatible controller Active VMGPU
0000:03:00.0 Realtek Semiconductor Co., Ltd. Ethernet controller Active VM 用 LANポート
0000:04:00.0 Renesas Technology Corp. uPD720201 USB 3.0 Host Controller Active VM 用 USB ポート
0000:05:00.1 Intel Corporation 82575EB Gigabit Network Connection Disabled ※未使用
0000:05:00.0 Intel Corporation 82575EB Gigabit Network Connection Disabled ESXi 管理アクセス用

USB サウンドカードの追加

ESXi 環境で遊びたい - IT難しい にて音声出力ができないと書いたが,スピーカ付きのモニタと HDMI 接続すればモニタから鳴らせることに気づいた.ただこれだと音楽を流しつつモニタを切る,といった運用ができないので,サウンドカードも別途 USB 接続することにした.

Amazon | Bengoo サウンドカード 外付け USB オーディオ 変換アダプタ 3.5mm ミニ ジャック ヘッドホン・マイク端子

手持ちのマイクやスピーカーを接続して問題なく使えることを確認した.