GnuRadioでHackRF Oneを使おうと思ったらSourceとしてうまく使えなかったので、SoapyHackRFをインストールする手順のメモです。
検証環境
- macos Sonoma(14.0)
- Homebrew
インストール
GNURadio
brew install gnuradio
brew install soapyrtlsdr
GNURadio実行方法
gnuradio-companion
hackrf
brew install hackrf
hackrf_info
コマンドで認識されているか確認します。
$ hackrf_info
hackrf_info version: 2023.01.1
libhackrf version: 2023.01.1 (0.8)
Found HackRF
Index: 0
Serial number: 000000000000000026a468dc********
Board ID Number: 2 (HackRF One)
Firmware Version: 2023.01.1 (API:1.07)
.....
SoapyHackRF
SoapySDRのモジュールのインストールパスを調査します。
SoapySDRUtil --info
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Lib Version: v0.8.1-release
API Version: v0.8.0
ABI Version: v0.8
Install root: /opt/homebrew
Search path: /opt/homebrew/lib/SoapySDR/modules0.8
Module found: /opt/homebrew/lib/SoapySDR/modules0.8/librtlsdrSupport.so (0.3.3)
....
....
という事で /opt/homebrew
以下にインストールされているのを確認。これをCMAKE_INSTALL_PREFIXとして設定します。
※Module Foundに出てこないと実行してもRuntimeError: SoapySDR::Device::make() no matc
と出て失敗します。
git clone https://github.com/pothosware/SoapyHackRF.git
cd SoapyHackRF
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/homebrew/
make
sudo make install
...
Install the project...
-- Install configuration: "Release"
-- Installing: /opt/homebrew/lib/SoapySDR/modules0.8/libHackRFSupport.so
再度SoapySDRUtil --info
で確認して Moduleとして認識されているのを確認して完了。