Netgear Unbrick Utility

Joseph C. Lehner f7ec4866d7 Require Boost 1.74 2 gadi atpakaļ
cpp 706e7081cc Changes... 4 gadi atpakaļ
fuzzin 55452bb753 More fuzzing related changes 4 gadi atpakaļ
libnmrpflash 388a15efb3 Minor C++ improvements 2 gadi atpakaļ
src 3227d8593f Padding 2 gadi atpakaļ
.editorconfig 159e96d54c Update .gitattributes and .editorconfig 2 gadi atpakaļ
.gitattributes 159e96d54c Update .gitattributes and .editorconfig 2 gadi atpakaļ
.gitignore 025f89493a Update .gitignore 8 gadi atpakaļ
CMakeLists.txt f7ec4866d7 Require Boost 1.74 2 gadi atpakaļ
LICENSE aaaa05d658 Add LICENSE 6 gadi atpakaļ
Makefile 55452bb753 More fuzzing related changes 4 gadi atpakaļ
README-R7000.md 8a26cdf4b1 Updated documentation. 4 gadi atpakaļ
README.md 5acfbed385 Update readme 4 gadi atpakaļ
download_gsl.sh 496b83d447 More C++ 2 gadi atpakaļ
ethsock.c d91338f906 Populate ethsock_ip_undo on Windows 4 gadi atpakaļ
fuzz.c 55452bb753 More fuzzing related changes 4 gadi atpakaļ
main.c ec3f738fb6 Add -S <offset> option 4 gadi atpakaļ
mkfuzz.c 55452bb753 More fuzzing related changes 4 gadi atpakaļ
nmrp.c 688105b99c First bits of C++, in preparation of v1.0 4 gadi atpakaļ
nmrpd.h ec3f738fb6 Add -S <offset> option 4 gadi atpakaļ
nmrpflash.dev f316c2d2b5 Update .gitattributes and nmrpflash.dev 4 gadi atpakaļ
nmrpflash.manifest 496b83d447 More C++ 2 gadi atpakaļ
nmrpflash.rc 496b83d447 More C++ 2 gadi atpakaļ
tftp.c 7b398453db Set SO_REUSEADDR on TFTP socket 4 gadi atpakaļ
util.c ec29ee610d Fuzzing related changes 4 gadi atpakaļ
wireshark-nmrp.lua 79daac1e22 Always show opt length in Wireshark dissector 4 gadi atpakaļ

README-R7000.md

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 192.168.1.1 or 10.0.0.1
  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 10.0.0.2 -a 10.0.0.1
  4. Note 1: The instructions from README.md that tell you how to find YOUR_ADAPTER_NAME.
  5. Note 2: if your router's IP address was 192.168.1.1 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 10.0.0.2 -a 10.0.0.1
    Adding 10.0.0.2 to interface enp0s25.
    Advertising NMRP server on enp0s25 ... /
    Received configuration request from ab:cd:ef:12:34:56.
    Sending configuration: 10.0.0.1/24.
    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.