VMware ESXiにUSBスピーカーをつなげて音を鳴らす

やりたいこと

VMware ESXi 6.7上で動いているWindowsの仮想マシンにUSBスピーカーをつなげて音を鳴らしたい。

目的

目覚まし時計として使うため。

方法

PCI Express接続のUSB3.0増設ボード(USBボード)を音声を出力させたい仮想マシンにパススルーさせ、そのUSBボードにUSBスピーカーをつなげる。

使用機材

  • Owltech USB3.0増設ボード OWL-PCEXU3E4
    Amazonで一番売れているらしかったのと、動作実績も多くて十分枯れているようだったので。
  • ELECOM USB接続スピーカー MS-P08USBBK
    近所の電気屋で適当に買ったもの。

取り付け

USBボードは普通にPCI Expressスロットに挿せば良いのだが、SATA電源が必要というのがちょっと面倒。

スリムタイプのメーカー製PCとかでSATA電源が余っていなかったら使えない。

取り付けるとこんな感じ。4ポート増設される。

設定手順

まずは取り付けたUSBボードを、仮想マシンにパススルーできるように設定する。

[ホスト] → [管理] → [ハードウェア] → [PCIデバイス] で、
“Renesas Technology Corp. uPD720201 USB 3.0 Host Controller”
を選択して[パススルーの切り替え]を行う。

ESXiホストの再起動が必要なので注意。

次に、仮想マシンの設定でPCIデバイスを追加する。

設定画面で、[その他のデバイスの追加] → [PCIデバイス] とし、パススルーさせたいUSBボードを選択する。

また、PCIデバイスをパススルーさせる場合メモリ設定の変更も必要。

設定画面の[メモリ]で、[全てのゲスト メモリを予約(すべてロック)]にチェックを入れる。

これで、仮想マシンを立ち上げればUSBボードが仮想マシンから認識できるようになる。 今回はWindows Server 2012 R2の仮想マシンにつなげたのだが、別途ドライバのインストールなどは不要だった。

後は、USBスピーカーを増設したUSBカードにつなげれば、仮想マシンに直接USBスピーカーが認識されて音声出力が可能となる。

余談

もっと単純な方法は無いのか

ESXiは仮想ハードウェアとしてUSBデバイスを直接接続することも可能なのだが、 実際にUSBスピーカーで試してみるとうまく動作しない。

VMwareのナレッジに以下の記載があるとおり、USB接続のオーディオデバイスはパススルーをサポートしていないようだ。

次に示す USB デバイスはパススルーには使用できません。

起動可能な HID インターフェイスがあるマウスやキーボードなどの USB デバイス。

アイソクロナス データ転送を使用するリアル タイム ビデオ カメラとオーディオ デバイスなどの USB デバイス。

ESXi ホストがインストールされた USB デバイス。

ESX または ESXi ホストから仮想マシンへのパススルーのサポート対象 USB デバイス モデル (1021345)
https://kb.vmware.com/s/article/1021345?lang=ja

ESXiホストの環境

ESXiホストがVT-d に対応していないと、PCIデバイスのパススルーは不可能。私の環境はIntel H87チップセット + Core i7-4770で、パススルー可能だった。

H87チップセットは、Intelの製品仕様ページでは VT-d 非対応となっているのだが、なぜか正常にパススルー出来ている。

コメント

タイトルとURLをコピーしました