CHAPTER
SIX
UPDATING FIRMWARE
HackRF devices ship with firmware on the SPI flash memory. The firmware can be updated with nothing more than a
USB cable and host computer.
These instructions allow you to upgrade the firmware in order to take advantage of new features or bug fixes.
If you have any difficulty making this process work from your native operating system, you can use Pentoo or the GNU
Radio Live DVD to perform the updates.
6.1 Updating the SPI Flash Firmware
To update the firmware on a working HackRF One, use the hackrf_spiflash program:
hackrf_spiflash -w hackrf_one_usb.bin
You can find the firmware binary (hackrf_one_usb.bin) in the firmware-bin directory of the latest release package or
you can compile your own from the source. For Jawbreaker, use hackrf_jawbreaker_usb.bin. If you compile from
source, the file will be called hackrf_usb.bin.
The hackrf_spiflash program is part of hackrf-tools.
When writing a firmware image to SPI flash, be sure to select firmware with a filename ending in “.bin”.
After writing the firmware to SPI flash, you may need to reset the HackRF device by pressing the RESET button or by
unplugging it and plugging it back in.
If you get an error that mentions HACKRF_ERROR_NOT_FOUND, check out the FAQ. It’s often a permissions
problem that can be quickly solved.
6.2 Updating the CPLD
Older versions of HackRF firmware (prior to release 2021.03.1) require an additional step to program a bitstream into
the CPLD.
To update the CPLD image, first update the SPI flash firmware, libhackrf, and hackrf-tools to the version you are
installing. Then:
hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf
After a few seconds, three LEDs should start blinking. This indicates that the CPLD has been programmed successfully.
Reset the HackRF device by pressing the RESET button or by unplugging it and plugging it back in.
19