Full reset - portapack-mayhem/mayhem-firmware GitHub Wiki

Steps

  1. Backup your importance files in your sdcard to a computer or somewhere safe.

  2. Download the latest Nightly release from GitHub.

  3. Take out your sdcard, take out your coin battery (button battery) and put them in somewhere safe and make sure they don't touch each other.

  4. Following one of these ways to enter DFU mode (You may need to try one or more for success):

    • holding the RESET and DFU buttons at the same time, while doing this, release RESET, and then release DFU. The LEDs should be ON, and the screen won't show anything.
    • Press and holding DFU button, then plug the USB cable, then release the DFU button.
    • Press and holding DFU button, then single press the knob, then release the DFU button, then plug the USB cable.
    • Plug in USB. Press and hold DFU button and unplug USB. Release DFU button and plug USB back in.
  5. Flash the hackrf firmware with DFU tool:

    • windows: From the release package you downloaded in step 2, double click dfu_hackrf_one.bat and follow the instructions. Do not disconnect or reset your PortaPack after that procedure.

    • Linux/ macOS:

      1. Use your package manager to install dfu-utilpackage, the command could be sudo apt install dfu-util or brew install dfu-util or pacman -Sy dfu-util or others depnding on your distro.
      2. Unarchive the release package you downloaded in step 2, open a terminal, cd into the dir you unarchived, input dfu-util --device 1fc9:000c --download hackrf_one_usb.dfu --reset and check if it succeed.
      3. Do not disconnect or reset your PortaPack after that procedure.
  6. Note that at this point, you had never unplugged or reboot your PortaPack. Now flash latest Mayhem firmware (which is different thing from the one we did above):

    • windows: From the release package you downloaded in step 2, double click flash_portapack_mayhem.bat and follow the instructions.

    • Linux/ macOS:

      1. Use your package manager to install hackrfpackage, the command could be sudo apt install hackrf or brew install hackrf or pacman -Sy hackrf or others depending on your distro.
      2. Unarchive the latest firmware package you downloaded.
      3. cdto the dir which you unarchived the firmware package.
      4. Excute hackrf_spiflash -w ./firmware/portapack-h1_h2-mayhem.bin
  7. Download the latest Nightly SDCARD contents from GitHub.

  8. Unarchive the latest Nightly SDCARD contents you downloaded.

  9. Format your sdcard to FAT32 format.

  10. Put everything you unarchived in step 8 into your sdcard, but don't insert your sdcard yet.

  11. Try Won't Boot steps if needed.

  12. If everything goes well, you can power off, wait at least 1 minute, insert your sdcard, and then put the coin batter back into portapack.

  13. Power on, go into Settings -> P .Memory Mgmt -> Reset P.Mem to defaults -> YES, Then Power off, wait at least 1 minute.

  14. Try Won't Boot steps again if needed (because without both sdcard and coin battery, the boot config won't be saved).

  15. Boot the device, finished.

Notes

  • If your device cannot be recognized no matter whatever you do:

    • Try on a Linux machine.
    • Try at least 5 different cables.
  • If you are a Ubuntu or Ubuntu based user:

    • Ubuntu doesn't update their hackrfpackages in their stable repo (till 2024.Jan.02, they're still keeping 2021 version), so you might have a bunch of issues. Just don't use Ubuntu or Ubuntu based distro, or if you have to, compile the hackrf host software (not firmware) yourself.
  • You can try to update the Xilinx cpld on Hackrf, following this: https://github.com/portapack-mayhem/mayhem-firmware/wiki/Updating-the-Xilinx-CPLD-on-hackrf-board

  • Submit a GitHub issue if the problem you are trying to resolve still exist.