🖥️
WSL2のUbuntuにUSB接続したHackRF Oneを認識させる
先日、HackRF OneというSDRのガジェットを買いました。秋月電子さんで4万ほど。高い...と思ってしまうのは価値をまだ理解できていないからなのか。
購入したガジェットをWSL2のUbuntuから操作しようと思ったところ、デバイスが認識されていませんでした。今回の記事では usbipd-winというツールを使ってWSL2上のUbuntuからHackRF Oneを認識させる方法をまとめます。といってもMicrosoftのこちらの記事のとおり進めるだけなのですが。
HackRF Oneのツール
HackRF Oneはドキュメントが豊富なのがありがたいです。
コマンドラインのツールがあるそうでWSL2のUbuntuに早速インストールしました。
sudo apt-get install hackrf
ガジェットをUSBに挿して早速触ってみようと思ったのですが、見つからないというエラーになりました。SDRSharpでラジオ受信はできたのでWindows 11ではデバイスを認識できているはず(USB-COMポートエミュレーションが動いてるはず)。
$ hackrf_info
hackrf_info version: 2023.01.1
libhackrf version: 2023.01.1 (0.8)
No HackRF boards found.
usbipd-winのusbipdコマンドでUSBデバイスを共有
WSL2からUSBってみえてるのだろうか?と思ったら、どうもみえておらず、これが問題だったようです。usbipd-winというツールをインストールしてusbipdのコマンドで確認すると、WindowsでHackRF Oneは認識しているもののSTATEがNot sharedになっていました。
PS C:\WINDOWS\system32> usbipd list
Connected:
BUSID VID:PID DEVICE STATE
2-2 1d50:6089 HackRF One Not shared
2-6 045e:0990 Surface Camera Front, Surface IR Camera Front Not shared
2-10 8087:0026 インテル(R) ワイヤレス Bluetooth(R) Not shared
bindしてattachします。
PS C:\WINDOWS\system32> usbipd bind --busid 2-2
PS C:\WINDOWS\system32> usbipd list
Connected:
BUSID VID:PID DEVICE STATE
2-2 1d50:6089 HackRF One Shared
2-6 045e:0990 Surface Camera Front, Surface IR Camera Front Not shared
2-10 8087:0026 インテル(R) ワイヤレス Bluetooth(R) Not shared
Persisted:
GUID DEVICE
PS C:\WINDOWS\system32> usbipd attach --wsl --busid 2-2
usbipd: info: Using WSL distribution 'Ubuntu-24.04' to attach; the device will be available in all WSL 2 distributions.
usbipd: info: Loading vhci_hcd module.
usbipd: info: Detected networking mode 'nat'.
usbipd: info: Using IP address 172.28.64.1 to reach the host.
Ubuntuに戻って再びhackrf_infoを試すと、ガジェットを認識できました。
$ hackrf_info
hackrf_info version: 2023.01.1
libhackrf version: 2023.01.1 (0.8)
Found HackRF
Index: 0
Serial number: 000000000000000078d063dc2a683267
Board ID Number: 2 (HackRF One)
Firmware Version: 2024.02.1 (API:1.08)
Part ID Number: 0xa000cb3c 0x006a475c
Hardware Revision: unknown
Hardware appears to have been manufactured by Great Scott Gadgets.
Hardware supported by installed firmware:
HackRF One
Discussion