Netgear Unbrick Utility

Joseph C. Lehner feb5c63986 Merge pull request #39 from benejoseph/master 11 hours ago
.gitignore 025f89493a Update .gitignore 4 years ago
LICENSE aaaa05d658 Add LICENSE 2 years ago
Makefile 7d901d078f Merge pull request #37 from real-dam/cross-pkg-config 1 month ago 8a26cdf4b1 Updated documentation. 2 days ago 913f261a0c Update 11 hours ago
ethsock.c 30a2f28f1a Change select_fd args to microseconds 4 months ago
main.c 1f3a435eb7 Update help text and readme 4 months ago
nmrp.c 6396c33402 avoid possible use of uninitialized intf_addr in nmrp_do() 2 months ago
nmrpd.h da9700c71d Use shorter TFTP timeout in blind mode 4 months ago 92cdcc5155 Update DevCpp project 10 months ago
nmrpflash.manifest 3df6829e4a Add (unused) manifest for Windows 3 years ago
nmrpflash.rc 3df6829e4a Add (unused) manifest for Windows 3 years ago
tftp.c cf95657f5d Add TFTP upload spinner 4 months ago
util.c 332df78923 Add missing license info 3 years ago
wireshark-nmrp.lua 79daac1e22 Always show opt length in Wireshark dissector 4 months ago

Some helpful hints for putting firmware on the Netgear R7000

  • As of the writing of this, July 2020, the R7000's web interface does not let you downgrade its firmware, or run 3rd party firmware on it.
  • Older versions of the R7000's firmware do allow you to flash 3rd party firmware.
  • You can use nrmpflash to downgrade router's firmware, for example R7000-V1.0.3.56_1.1.25.

Here is an example set of steps

  1. Plug in your router, go through the regular stock web interface setup. Note if the router's IP address is now or
  2. Connect computer your computer to LAN1 with an ethernet cable
  3. At the command prompt on your computer, run: sudo nmrpflash -v -i YOUR_ADAPTER_NAME -f R7000-V1.0.3.56_1.1.25.chk -t 10000 -T 10000 -A -a
  4. Note 1: The instructions from that tell you how to find YOUR_ADAPTER_NAME.
  5. Note 2: if your router's IP address was then swap out 10.0.0.x with 192.168.1.x for the two IP addresses above
  6. Right after running the command, power on your router. Your router checks for the nmrpflash server on boot. If all goes well you should see this:

    sudo nmrpflash -v -i enp0s25 -f R7000-V1.0.3.56_1.1.25.chk -t 10000 -T 10000 -A -a
    Adding to interface enp0s25.
    Advertising NMRP server on enp0s25 ... /
    Received configuration request from ab:cd:ef:12:34:56.
    Sending configuration:
    Received upload request without filename.
    Using remote filename 'R7000-V1.0.3.56_1.1.25.chk'.
    Uploading R7000-V1.0.3.56_1.1.25.chk ... OK
    Waiting for remote to respond.
    Received keep-alive request (19).  
    Remote finished. Closing connection.
    Reboot your device now.
  7. Reboot the device. You now have old firwmare, congratulations.