やりたいこと
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 非対応となっているのだが、なぜか正常にパススルー出来ている。
コメント