HackRF devices ship with firmware on the SPI flash memory and with a bitstream programmed onto the CPLD. The firmware can be updated with nothing more than a USB cable and host computer.
Updating the SPI Flash Firmware
Updating the CPLD
Latest Release
user@workstation:~$ wget https://github.com/mossmann/hackrf/releases/download/v2015.07.2/hackrf-2015.07.2.tar.xz
user@workstation:~$ tar xvf hackrf-2015.07.2.tar.xz
user@workstation:~$ cd hackrf-2015.07.2/firnmware-bin
user@workstation:~/hackrf-2015.07.2/firmware-bin$ hackrf_info
Found HackRF board 0:
Board ID Number: 2 (HackRF One)
Firmware Version: 2014.08.1
Part ID Number: 0xa000cb3c 0x006d4749
Serial Number: 0x00000000 0x00000000 0x321864c8 0x3952811d
pymelab@workstation:~/hackrf-2015.07.2/firmware-bin$
Reset
pymelab@workstation:~/hackrf-2015.07.2/firmware-bin$ hackrf_info
Found HackRF board 0:
USB descriptor string: 0000000000000000321864c83952811d
Board ID Number: 2 (HackRF One)
Firmware Version: 2015.07.2
Part ID Number: 0xa000cb3c 0x006d4749
Serial Number: 0x00000000 0x00000000 0x321864c8 0x3952811d
pymelab@workstation:~/hackrf-2015.07.2/firmware-bin$
CPLD
pymelab@workstation:~/hackrf-2015.07.2/firmware-bin$ hackrf_cpldjtag -x hackrf_cpld_default.xsvf
File size 37629 bytes.
LED1/2/3 blinking means CPLD program success.
LED3/RED steady means error.
Wait message 'Write finished' or in case of LED3/RED steady, Power OFF/Disconnect the HackRF.
Write finished.
Please Power OFF/Disconnect the HackRF.
pymelab@workstation:~/hackrf-2015.07.2/firmware-bin$