Table of Contents
A full reset reflashes both the HackRF firmware and the Mayhem firmware from scratch, and reinstalls all SD card contents. Use this as a last resort when other troubleshooting steps have failed.
Warning
This process erases all settings and SD card contents. Back up any important files first.
Steps
-
Back up any important files from your SD card to a computer.
-
Download the latest release from the Releases page. The
mayhem_vX.X.X.ppfw.tarfile contains both the firmware and all SD card contents in a single archive. -
Remove the SD card and the coin cell battery from the PortaPack. Keep them somewhere safe and ensure they do not touch each other.
-
Enter DFU mode on the HackRF. Try each method in order until one works — the LEDs should light up and the screen will remain blank:
- Hold RESET and DFU simultaneously, release RESET first, then release DFU.
- Hold DFU, plug in the USB cable, then release DFU.
- Hold DFU, power on the device (press the knob on H1/H2, or use the power switch on H4M), release DFU, then plug in USB.
- Plug in USB, hold DFU and unplug USB, release DFU, plug USB back in.
-
Flash the HackRF base firmware using DFU:
- Windows: Double-click
mayhem_flasher.batfrom the release package and follow the prompts. Do not disconnect or reset the device afterwards. - Linux / macOS:
- Install
dfu-utilvia your package manager (e.g.sudo apt install dfu-util,brew install dfu-util, orpacman -Sy dfu-util). - Extract the release package, open a terminal in that directory, and run:
- Install
- Windows: Double-click
dfu-util --device 1fc9:000c --download hackrf_one_usb.dfu
3. Do not disconnect or reset the device afterwards.
- Flash the Mayhem firmware — without disconnecting the device from step 5:
- Windows: Run
mayhem_flasher.batagain and follow the prompts. - Linux / macOS:
-
Install the
hackrfhost tools (e.g.sudo apt install hackrf,brew install hackrf, orpacman -Sy hackrf).Note
Ubuntu's stable repository may ship an outdated
hackrfpackage. If you encounter errors, consider compiling the hackrf host tools from source or using a rolling-release distribution. -
Extract the firmware package and run (adjust the filename to match the version you downloaded):
-
- Windows: Run
hackrf_spiflash -w portapack-h1_h2-mayhem.bin
-
Prepare the SD card:
- Format the SD card as FAT32 on your computer. See How-to-Format-SDCard for instructions.
- If you downloaded the
ppfw.tarfile, extract it and copy all contents onto the SD card. If you downloaded the separateCOPY_TO_SDCARD.zip, extract and copy that instead. - Do not insert the SD card yet.
-
If the device still fails to boot at this point, follow the Won't-boot steps.
-
Power off the device, wait at least 1 minute, then insert the SD card and reinstall the coin cell battery.
-
Power on the device, go to Settings → P.Memory Mgmt → Reset P.Mem to defaults → YES, then power off and wait at least 1 minute.
-
If the device still does not boot correctly, repeat the Won't-boot steps (the boot configuration requires both the SD card and coin cell battery to be present to save correctly).
-
Power on — the full reset is complete.
Troubleshooting notes
- If the device is not recognized by your computer no matter what you try, try a different computer running Linux, and try at least 5 different USB cables.
- If DFU flashing fails on Linux, check that
dfu-utilis up to date. - As an optional additional step, you can update the Xilinx CPLD on the HackRF board: Updating-the-Xilinx-CPLD-on-hackrf-board.
- If the problem you were trying to resolve persists after a full reset, open a GitHub issue.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Start here
Contributors
How to collaborate
Contributing Guidelines
How to ask questions correctly
Hardware
- PortaPack Versions (which one to buy)
- Features
- HackRF Versions
- Description of the hardware
- Enclosure/cases
- Repairs
- Mods
User manual
Intended use and Legality
- Usage cautions
- First steps
- Firmware update procedure
- User interface
- Powering the PortaPack
- Troubleshooting
- Won't boot
- Config Menu
- Firmware upgrade
- Diagnose firmware update in Windows
- Receive Quality Issues
- No TX/RX
- TX Carrier Only
- H2+ speaker modifications
- Dead Coin Cell Battery
- Factory Defaults
- SD card not recognized by PC with the SD-card over USB selected
- DFU overlay
- Full reset
- SolveBoard
- How to Format SDCard
- What if I don't like some of the apps
Applications
- 📥 Receivers
- 📤 Transmitters
- ADS-B(S) TX
- Adult Toys
- APRS TX
- BHT Xy/EP
- BLE TX
- BLESpam
- Burger Pager
- CVS Spam
- EPIRB
- FlipperTX
- GPS Sim
- Hopper
- Jammer
- KeeLoq TX
- Key fob TX
- LGE Tool
- MDC-1200 TX
- Morse TX
- OOK
- OOK Brute
- OOK Editor
- P25 TX
- POCSAG TX
- RDS
- RTTY TX
- SAME TX
- Signal gen
- Soundboard
- Spectrum Painter
- SSTV
- TEDI/LCR
- TouchTunes
- TPMS TX
- 🔄 Transceivers
- 🟡 Recon
- 🔴 Capture
- ▶️ Replay
- 🖲️ Remote
- 🔍 Looking Glass
- 🛠️ Utilities
- 🎮 Games
- ⚙️ Settings
- 💻 HackRF Mode
Misc
Developer Manual
- Compilation of the firmware
- Compile on WSL with ninja
- How to compile on Windows faster with WSL 2
- Using Docker and Kitematic
- Docker command-line reference
- Using Buddyworks and other CI platforms
- Notes for Buddy.Works (and other CI platforms)
- Using ARM on Debian host
- All in one script for ARM on Debian host
- Compile on Arch based distro (exclude Asahi), or other weird distros
- Dev build versions
- Notes About ccache
- Create a custom map
- Code formatting
- PR process
- Description of the Structure
- Software Dev Guides
- Tools
- Research
- UI Screenshots
- Maintaining
- Creating a prod/stable release (Maintainers only)
- Maintaining rules
- Development States Notes
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Note
The wiki is incomplete. Please add content and collaborate.
Important
- This is a public wiki. Everything is visible to everyone. Don't use it for personal notes.
- Avoid linking to external tutorials/articles; they may become outdated or contain false information.