usbipd-winをインストールすれば、WSL2上でUSBデバイスが認識できて、デバイスによっては動くらしい。
なので、WSL2上でUSBオーディオデバイスを使って再生もできるかなーと期待したものの、駄目だった記録です。
USBデバイスの認識まではできた。
追記
USBオーディオデバイスを直接扱えませんが、WSL2上のUbuntuで簡単に音声再生/録音する方法がありました。
環境
Windows 11 バージョン22H2 (OSビルド 22621.1105)
WSL2で、Ubuntu 20.04インストール済み
前提条件の確認
手順はMS公式の手順のとおり。
まずは前提条件を満たしているか確認
$ sudo wslsys Release Install Date: 0x636e7a47 Branch: ni_release Build: 22621 Full Build: 22621.1.amd64fre.ni_release.220506-1250 Uptime: 0d 5h 21m Linux Release: Ubuntu 20.04.5 LTS Linux Kernel: Linux 5.15.79.1-microsoft-standard-WSL2 Packages Count: 2400
OK, OK
usbipd-winのインストール
MS公式の手順に書いてあるとおり。
最新のusbipd-win(2.4.1)をインストール
順調、順調
USB/IP クライアントをインストール
usbipdのwikiによると、バージョン2.0.0以降は手順が変わったらしい。
Ubuntu20.04の方法:
$ sudo apt install linux-tools-virtual hwdata $ sudo update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20
USBデバイス一覧表示とアタッチ
次のコマンドをPowerShellの管理者モードで実行。
Linux側にもusbipdがイントールされるので勘違いしたけど、デバイス一覧とアタッチはWindows側で実行。
> usbipd wsl list BUSID VID:PID DEVICE STATE 2-2 0d8c:0014 USB Audio Device, USB 入力デバイス Not attached 省略 > usbipd wsl attach --busid 2-2 usbipd: info: Using default WSL distribution 'Ubuntu-20.04'; specify the '--distribution' option to select a different one. > usbipd wsl list BUSID VID:PID DEVICE STATE 2-2 0d8c:0014 USB Audio Device, USB 入力デバイス Attached - Ubuntu-20.04 省略
Ubuntu側で認識しているか確認
$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 0d8c:0014 C-Media Electronics, Inc. Audio Adapter (Unitek Y-247A) Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ここまで認識したら、あとは楽勝じゃないかなと思ったが、、、
再生しようとしたけど駄目だった
$ sudo aplay -l aplay: device_list:276: no soundcards found...
がっかり。
WSLのGitHubで該当するissueがあったので無理っぽい。
PulseAudioサーバー/クライアントを使うかどうするか。。。