HackRF 固件维护
引言§
网上有很多 HackRF One 固件的安装教程,我归为 直接克隆项目进行 cmake 编译 和 下载发行版的压缩包 两种方式。两种我都试过,直接下载发行包的方式更加简单高效 ,因此本文仅记录使用发行包的方式安装。不用编译的方式是因为我在编译的过程中老是因为拔掉 USB 或者按下 reset 按钮后设备无法重新连接 USB ,非常麻烦。
安装环境检查§
在终端中输入以下命令,查看 HackRF One 的驱动与固件信息。如果发现 hackrf_info version 和 libhackrf version 都 显示为 "unknown" ,这通常意味着系统安装的驱动版本与设备固件版本不匹配,此时需要进行驱动升级。
| 环境内容 | 版本 |
|---|---|
| 系统 | Ubuntu 20.04 (在 Windows 11 中的 VMware 虚拟机) |
| HackRF One | 初始版本 2018(存在兼容性问题) |
| 仓库地址 | HackRF From GitHub |
| 目标固件版本 | 2021.03.1(根据设备版本选择合适版本) |
环境安装§
在安装 HackRF One 之前,需要安装以下相关的软件包和依赖项:
sudo apt-get install gnuradio hackrf libhackrf-dev \
gqrx-sdr rtl-sdr gr-osmosdr osmo-sdr libusb-1.0
下载发行版安装包§
推荐直接下载官方发布的稳定版本。我用的是 HackRF Release 2021.03.1 ,如果需要其他版本,可以在 GitHub 官方仓库 中选择合适版本。
解压与安装§
-
解压发行包文件
-
创建
build目录并编译: -
使用
cmake进行配置与编译:
固件升级§
更新 Flash 固件§
如果 Firmware Version 版本过旧,需要进行 Flash 固件更新,在 firmware-bin 目录下执行以下命令:
更新 CPLD§
从 2021 版本开始,CPLD 已包含在固件中,并在加载固件时自动更新,因此通常无需单独更新。但若你的固件版本较旧,仍需手动更新 CPLD:
提示: 仅适用于 2018.01.1 版本以上安装结果验证§
在终端中输入以下命令,确认设备信息是否正确更新。如果信息显示完整且版本号正确,说明设备已成功配置和更新。