HackRF oneのファームウェア更新方法(ubuntu編)

Radio

先日購入した高性能SDR HackRFのファームウェアの更新方法を記載します。

ファームウェア関連のバージョン確認と書込みは、hackrfのツールが必要でWindowsとUbuntuで実施できます。今回は、前回の記事でも記載したWindows10上に構築したVMwareのUbuntu18.04上で行ってみました。

Windowsでファームバージョンアップをする場合はこちらの記事を参照してください。

ファームウェアのバージョン確認

最初にHackRFのUSBをPCに差し込み、VMwareの設定はubuntu側に接続します。

VMware経由だとUSBの速度が制限されますが、ファーム更新程度の通信容量なら速度がでなくても失敗することはありませんでした。

次にHackRFの関連ツールをインストールします。

falcon@ubuntu:~$ sudo apt install hackrf

VMwareのレジュームしてから時間が経過していると、ロックファイルが解除できずインストール自体が拒否されるので、その時はubuntuを再起動してください。

HackRFの関連ツールがインストール後、hackrf_infoでファームウェアのバージョンを確認します。

falcon@ubuntu:~$ hackrf_info
hackrf_info version: unknown
libhackrf version: unknown (0.5)
Found HackRF
Index: 0
Serial number: 0000000000000000f77c60dc2a979ac3
Board ID Number: 2 (HackRF One)
Firmware Version: 2017.02.1 (API:1.02)
Part ID Number: 0xa000cb3c 0x006f4752

実装されているファームバージョンは2017.2.1でした。

HackRFのファームバージョンアップ方法

最新ファームウェアはgithubで公開されており、最新版は2021.3.1となっていましたので、入手してインストールをおこなってみます。

VMwareを使っている場合は、Windowsでダウンロードしてzipを解凍し、解凍したフォルダをVMwareのUbuntuに貼り付けることで、コマンド操作なしに入手でき簡単です。

Ubuntuへコピーが終わると、hackrf_spiflashコマンドでファームウェアをupdateすることができます。転送量は、35kbytes程なので書き換えは瞬時に完了します。

falcon@ubuntu:~/hackrf-2021.03.1/firmware-bin$ hackrf_spiflash -w hackrf_one_usb.bin
File size 35444 bytes.
Erasing SPI flash.
Writing 35444 bytes at 0x000000.

書き換え後のファームウェアの確認は、HackRFの電源をON/OFFしてSDRを再起動してから確認してください。再起動をしないと情報がキャッシュされているためか、古いバージョン表示のままとなりますので、HackRFの電源ON/OFFは忘れないようにしてください。

falcon@ubuntu:~$ hackrf_info
hackrf_info version: unknown
libhackrf version: unknown (0.5)
Found HackRF
Index: 0
Serial number: 0000000000000000f77c60dc2a979ac3
Board ID Number: 2 (HackRF One)
Firmware Version: 2021.03.1 (API:1.04)
Part ID Number: 0xa000cb3c 0x006f4752

また、HackRFをUbuntu上のGNUradioで動作させるには、入出ブロックに"gr-osmosdr"というモジュールが必要です。こちらのインストール方法は過去記事も参考に実施してください。

$ sudo apt install gr-osmosdr

バージョンダウン方法も同じ

HackRF専用ソフトである「HackRF Spectrum Analyzer」は、ファームバージョン2021.03では動作しなかったので、ファームのバージョンダウンが必要です。

バージョンダウン方法はアップデートと全く同じです。

githubからインストールしたいファームウェアをダウンロードして、hackrf_spiflushで指定するファイル内容を変えるだけで、バージョンダウンできます。

falcon@ubuntu:~/hackrf/hackrf-2018.01.1/firmware-bin$ hackrf_spiflash -w hackrf_one_usb.bin
File size 22024 bytes.
Erasing SPI flash.
Writing 22024 bytes at 0x000000.

以上、UbuntuでのHackRFのファームウェア更新方法でした。