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进行配置与编译:
注意: 如果出现编译错误,建议检查 cmake 版本和依赖包是否完整。
固件升级⚓︎
更新 Flash 固件⚓︎
如果 Firmware Version 版本过旧,需要进行 Flash 固件更新,在 firmware-bin 目录下执行以下命令:
更新 CPLD⚓︎
从 2021 版本开始,CPLD 已包含在固件中,并在加载固件时自动更新,因此通常无需单独更新。但若你的固件版本较旧,仍需手动更新 CPLD:
提示: 仅适用于 2018.01.1 版本以上
安装结果验证⚓︎
在终端中输入以下命令,确认设备信息是否正确更新。如果信息显示完整且版本号正确,说明设备已成功配置和更新。
最终效果展示⚓︎
服务器输出