#!/bin/sh printf "Hold down the HackRF's DFU button (the button closest to the antenna jack)\n" printf "then plug the HackRF into a USB port on your computer.\n\n" printf "After the HackRF is plugged in, you may release the DFU button.\n" printf "Press any key to continue or ^c to abort\n" read for i in /usr/share/hackrf/hackrf_one_usb.dfu /usr/share/hackrf/hackrf_one_usb_ram.dfu hackrf_one_usb.dfu; do if [ -r "${i}" ]; then ram_firmware="${i}" break fi done if [ -n "${ram_firmware}" ]; then printf "\nFound firmware: ${ram_firmware}\n" printf "Flashing...\n" else printf "Unable to find firmware to flash, please have hackrf_one_usb.dfu\n" printf "in current directory or /usr/share/hackrf/\n" exit 1 fi for i in /usr/share/hackrf/portapack-h1-firmware.bin portapack-h1-firmware.bin; do if [ -r "${i}" ]; then rom_firmware="${i}" break fi done if [ -n "${rom_firmware}" ]; then printf "\nFound firmware: ${rom_firmware}\n" printf "Flashing...\n" else printf "Unable to find firmware to flash, please have portapack-h1-firmware.bin\n" printf "in current directory or /usr/share/hackrf/\n" exit 1 fi dfu-util --device 1fc9:000c --download "${ram_firmware}" --reset sleep 2s hackrf_spiflash -w "${rom_firmware}"