NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.
Forum Discussion
kryptonix
Sep 26, 2018Guide
How to unbrick the Nighthawk R7000 using OS X and TFTP
Hi,
After spending a night on unbricking my R7000 and how I struggled to work with all the manuals out there but none of them actually worked. I thought I should share what actually worked for me using a MacBook instead of a W10/8/7 operating system. Below you will find a step by step aproach using OS X and what has worked for me.
Prerequisites:
- Default network cable (Cat5/5e/6)
- USB to Network dongle for MacBook pro's (starting 2015/2016 and up)
Example: https://www.apple.com/nl/shop/product/HJKF2ZM/A/belkin-usb-c-naar-gigabit-ethernet-adapter?fnode=58
- Downloaded stable/latest firmware version unpacked your desktop, use a mobile hotspot if you need to download after the brick
https://www.netgear.com/support/product/r7000.aspx#download
- Admin rights on the MacBook
- Keep your router close to you to see results using the lights on the router
Situation to start from:
Somewhere my router bricked during a firmware upgrade. The crash happend whille installing and the router was showing a blinking white light when the router was reset and rebooted. The router was still operating and showing white and orange light on the LAN ports so I knew I should be able to acces the router. I was not able to acces the router via Safari using 192.168.1.1 of www.routerlogin.net.
If you experience this above situatie this has worked for me to unbrick the router;
Step 1:
Remove any other network cables (including the WAN cable) from the router except the cable that is directly connected to your laptop. I used port 1 to conenct to my laptop, it should not matter but I just like to use the first port.
Step 2:
Open up your network preferences and use the admin rights to unlock your configuration settings.
When you connected your USB network adapter and cable you will see that your MacBook will self-assign an ip-address which probably will start 192.169.*.* or 169.*.*.* and an exclamation mark that there is no internet connection. It will look roughly like this.
In the red dropdown is where we are going to make some changes: Clicking on it opens up the following choices:
At this point we will be starting to assign a manual ipadres to our Mac to we need to choose Manual (Handmatig). When you choose manual you have to fill in the following data
IP-adres:
192.168.1.10
Subnetmask:
255.255.255.0
Router:
Leave empty.
The result will be that the USB Network dongle will directly connect with the router and if succesful it should will also state that it's connected. The reason why do manually assign an ip-adres to make sure that your Mac doesn't get the same ip-adres as the host/router. If everything went ok you will get the following screen:
Status: Connected (Verbonden)
Apple USB Ether wil get the assigned ip-adres that you have given in, in this case 192.168.1.10
Step 3:
We will first check if we are able to ping the router in the network to and to see the status of the router. We quickly check if our router is still blinking. If it is open up your terminal os OSX, use cmd + space and type terminal and press enter) this will open the following screen:
Default color white background and black text
First we define where we are, normally you are in your home directory. type the following command:
ls
You will see an overview of you home folder including a directory desktop. We will navigate towards that directory using the following commando:
cd Desktop
Now you press cmd + t to open a new terminal tab. This will make it easier to ping and use commando's. Use the second tab to ping the router and see the results use the following:
ping 192.168.1.1
If succesful the results will look like this:
The orange part is where you need to look to see if the router is in the right state to upload the firmware manually. ttl=100 is the state that worked for me.
Step 4:
If you haven't done it already you unpack the zip file to your desktop and move the R7000-V1.0.*.**_**.*.*.chk on the desktop where the asterix state the version you want to put on the router. When writing this article the latest version is: R7000-V1.0.9.34_10.2.36.chk
Confirm you see the file in the desktop directory using terminal ls command in the desktop directory, in terminal you are already in your desktop directory so only using ls should work.
Step 5
Go to terminal and see if the router is still up on the ping tab and check te status of the ping. When the router is still up we will start the manual upload of the firmware
In terminal type the following code:
tftp
You will see that your computername and user are gone and will be replaced by tftp. First we are going to connect to our router using the following :
connect 192.168.1.1
When succesful nothing happens and you will be shown a new tftp line. To make sure we have the right settings to upload the file you use the following command:
status
This will display the current status of the router:
To use the transfer we need to set the mode to binary otherwise it will not accept the file. This is where I struggled for more then a two hours to find this. Changing the mode to binary every step after that worked. To change the mode type:
binary
You can if the change worked by using status, when succesful you will see mode: octet.
Now we will upload the file to the router by using the following commando:
put R7000-V1.0.9.34_10.2.36.chk
Remember to replace all the version number to the version you are uploading.
This will take some time, when I was uploading it took me around the 110 seconds to complete. You will get a notification when it's done. From this point you will see your router rebooting and a lot of lights flashing and starting your router. It may take up to roughly 7 minutes to fully reboot and install etc.
By some reason all my settings where still intact and everything was up and running on the router. Then connect the WAN cable and the other cables and login in to your router using Safari to see if everything is ok, just to be sure everything is working again and clear some caches etc reboot the router.
When your router is working again in terminal just use:
quit
I hope this guide will help you in the future when using a Mac because the steps are actually different then using a Windows operated machine. The put -l 192.168.1.1 R7000-V1.0.9.34_10.2.36.chk by example will not work when you use a Mac.
Cheers
Kryptonix
HOLY COW IT WORKED!!!
nmrpflash worked!!! Switching to a Static IP address and turning my Wifi off did the trick!!
Also, recommend using -vvv to double check when it works. Took me two tries to nail the timing because the router has to finish restarting for the packet transfer to begin before the command times out.
74 Replies
Sort By
- itsmevguptaAspirant
Hi
Thanks for the detailed steps. I have tried your method.
1. I get ping from the router only for few seconds and then it keeps getting timed out
2. When I use the Put command to transfer the firmware, I keep getting "Transfer timed out". I'm guessing that is because of step 1.
I am also noticing that my router is in a constant restart cycle on its own. Pressing the RESET button is not doing anything either. Please let me know if you have any suggestions?
- itsmevguptaAspirant
Did you find any resolution to this? I am running into the same issue and my router is in a constant restart loop.
- Did not. At this point I’m just gonna toss it in the trash can
- JatayuAspirant
Hi ,
Followed the commands and unable to transfer the file.
Receiving - Transfer timed out
Wow, i was trying to unbrick my router and came across this. The other solutions i found needed a client that is not compatible with newer versions of MacOS. This has very clear istructions one can follow. One thing i noticed was that while trying to ping, i only got 'Request timeout' message. However there was no problem in connecting and uploading the firmware. Thanks a lot
- seethelightAspirant
Apologies for the multiple messages, diregard the previous one.
Some context first:
I have a r8000 which i understand is very similar to r8000 in terms of troubleshooting. I was trying to flash the router with Advance tomato. The firmware seemed to be correctly installed but clearly this was not the case as after the installation was completed the router got stuck in what i believe is a reboot loop. after spending pratically all night trying to resolve it I came across this post. I followed all the steps mentioned and i got until the last one where after i send the command to install the latest version of original netgear firmware i receive the message, like many others above, "request timed out".
I diligently read the advise that antinode gave to previous users and therefore see below the copy and paste from the two shells i have used to type the commands.
Shell with commands:
Last login: Tue Nov 24 01:48:43 on ttys001
diego@Dies-Air ~ % ls
Applications
Creative Cloud Files
Desktop
Documents
Downloads
Library
Movies
Music
OneDrive
Pictures
Public
iCloud Drive (Archive)
diego@Dies-Air ~ % cd desktop
diego@Dies-Air desktop % ls
Accounts.xlsx TFTP Client 2.app
DS_Store.txt TFTP Client.app
Documents Transfer_1.3.dmg
FOTO (EXPORT) Worksheet 2019:2020v1.xls
R8000-V1.0.4.62_10.1.74 nmrpflash
R8000-V1.0.4.62_10.1.74.chk nmrpflash-0.9.14-macos.zip
R8000-V1.0.4.62_10.1.74.zip tftp_client_122_intel.zip
diego@Dies-Air desktop % tftp
tftp> connect 192.168.1.1
tftp> status
Connected to 192.168.1.1.
Mode: netascii Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> binary
tftp> put R8000-V1.0.4.62_10.1.74.chk
Transfer timed out.
SHELL WITH PING
Last login: Tue Nov 24 01:54:42 on ttys001
diego@Dies-Air desktop % ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=100 time=25.285 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=100 time=2.573 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=100 time=2.495 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=100 time=2.499 ms
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
Request timeout for icmp_seq 7
Request timeout for icmp_seq 8
Request timeout for icmp_seq 9
Request timeout for icmp_seq 10
Request timeout for icmp_seq 11
Request timeout for icmp_seq 12
Request timeout for icmp_seq 13
Request timeout for icmp_seq 14
Request timeout for icmp_seq 15
Request timeout for icmp_seq 16
Request timeout for icmp_seq 17
Request timeout for icmp_seq 18
Request timeout for icmp_seq 19
Request timeout for icmp_seq 20
Request timeout for icmp_seq 21
Request timeout for icmp_seq 22
Request timeout for icmp_seq 23
Request timeout for icmp_seq 24
Request timeout for icmp_seq 25
Request timeout for icmp_seq 26
Request timeout for icmp_seq 27
Request timeout for icmp_seq 28
Request timeout for icmp_seq 29
Request timeout for icmp_seq 30
Request timeout for icmp_seq 31
Request timeout for icmp_seq 32
Request timeout for icmp_seq 33
Request timeout for icmp_seq 34
Request timeout for icmp_seq 35
Request timeout for icmp_seq 36
ping: sendto: No route to host
Request timeout for icmp_seq 37
ping: sendto: No route to host
Request timeout for icmp_seq 38
ping: sendto: No route to host
Request timeout for icmp_seq 39
ping: sendto: No route to host
Request timeout for icmp_seq 40
Request timeout for icmp_seq 41
Request timeout for icmp_seq 42
Request timeout for icmp_seq 43
Request timeout for icmp_seq 44
Request timeout for icmp_seq 45
Request timeout for icmp_seq 46
Request timeout for icmp_seq 47
Request timeout for icmp_seq 48
Request timeout for icmp_seq 49
Request timeout for icmp_seq 50
Request timeout for icmp_seq 51
64 bytes from 192.168.1.1: icmp_seq=49 ttl=100 time=3631.749 ms
64 bytes from 192.168.1.1: icmp_seq=50 ttl=100 time=2630.577 ms
64 bytes from 192.168.1.1: icmp_seq=53 ttl=100 time=2.544 ms
64 bytes from 192.168.1.1: icmp_seq=54 ttl=100 time=2.523 ms
64 bytes from 192.168.1.1: icmp_seq=55 ttl=100 time=2.076 ms
64 bytes from 192.168.1.1: icmp_seq=56 ttl=100 time=2.541 ms
Request timeout for icmp_seq 58
Request timeout for icmp_seq 59
Request timeout for icmp_seq 60
Request timeout for icmp_seq 61
Request timeout for icmp_seq 62
Request timeout for icmp_seq 63
Request timeout for icmp_seq 64
Request timeout for icmp_seq 65
Request timeout for icmp_seq 66
Request timeout for icmp_seq 67
Request timeout for icmp_seq 68
Request timeout for icmp_seq 69
Request timeout for icmp_seq 70
Request timeout for icmp_seq 71
Request timeout for icmp_seq 72
Request timeout for icmp_seq 73
Request timeout for icmp_seq 74
Request timeout for icmp_seq 75
Request timeout for icmp_seq 76
Request timeout for icmp_seq 77
Request timeout for icmp_seq 78
Request timeout for icmp_seq 79
Request timeout for icmp_seq 80
Request timeout for icmp_seq 81
Request timeout for icmp_seq 82
Request timeout for icmp_seq 83
Request timeout for icmp_seq 84
Request timeout for icmp_seq 85
ping: sendto: No route to host
Request timeout for icmp_seq 86
ping: sendto: No route to host
Request timeout for icmp_seq 87
ping: sendto: No route to host
Request timeout for icmp_seq 88
Request timeout for icmp_seq 89
Request timeout for icmp_seq 90
Request timeout for icmp_seq 91
Request timeout for icmp_seq 92
Request timeout for icmp_seq 93
Request timeout for icmp_seq 94
Request timeout for icmp_seq 95
ping: sendto: No route to host
Request timeout for icmp_seq 96
ping: sendto: Host is down
Request timeout for icmp_seq 97
ping: sendto: Host is down
Request timeout for icmp_seq 98
ping: sendto: Host is down
Request timeout for icmp_seq 99
ping: sendto: Host is down
Request timeout for icmp_seq 100
ping: sendto: Host is down
Request timeout for icmp_seq 101
ping: sendto: Host is down
Request timeout for icmp_seq 102
ping: sendto: Host is down
Request timeout for icmp_seq 103
Request timeout for icmp_seq 104
64 bytes from 192.168.1.1: icmp_seq=105 ttl=100 time=5.389 ms
64 bytes from 192.168.1.1: icmp_seq=106 ttl=100 time=2.545 ms
64 bytes from 192.168.1.1: icmp_seq=107 ttl=100 time=2.514 ms
64 bytes from 192.168.1.1: icmp_seq=108 ttl=100 time=2.599 ms
Request timeout for icmp_seq 109
it seems to me that there is no enough time to install the firmare as the router keeps re-booting?
techtherapy kryptonix antinode any guidance much appreciated -
I have an R6700 and this is the closest thread I've found to mirror my issue. After getting to the last page, I notice I'm having the same exact problem as seethelight . My router keeps rebooting constantly and, via the ping command, I notice that it's only on for 4 seconds, and then restarts again, running through the restart loop for 93 seconds, at which point it's connected again for 4 seconds and back to restart.
Seems like this is not enough time to execute the TFTP command.. Wondering if anyone found a solution to this? I tried using a different power adapter and problem persists, so the power source is not the issue. Tried hard resets but also doesn't help.
PS: this happened after I set the router to repeater mode.
PS2: not sure if I should open a new thread?
Here's the file in my desktop, using an old one because it was the one that ran more stable before this mess:
Last login: Sun Jan 10 11:04:46 on ttys000
Brunos-MacBook-Air-2:~ bruno$ cd desktop
Brunos-MacBook-Air-2:desktop bruno$ ls
R6700-V1.0.1.20_10.0.32.chk
Brunos-MacBook-Air-2:desktop bruno$
Here is the reboot pattern. I leave the router on and it does this forever:
Last login: Sun Jan 10 11:06:38 on ttys001
Brunos-MacBook-Air-2:~ bruno$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
Request timeout for icmp_seq 7
Request timeout for icmp_seq 8
Request timeout for icmp_seq 9
Request timeout for icmp_seq 10
Request timeout for icmp_seq 11
ping: sendto: No route to host
Request timeout for icmp_seq 12
ping: sendto: Host is down
Request timeout for icmp_seq 13
Request timeout for icmp_seq 14
64 bytes from 192.168.1.1: icmp_seq=15 ttl=100 time=3.081 ms
64 bytes from 192.168.1.1: icmp_seq=16 ttl=100 time=1.577 ms
64 bytes from 192.168.1.1: icmp_seq=17 ttl=100 time=1.630 ms
64 bytes from 192.168.1.1: icmp_seq=18 ttl=100 time=1.417 ms
Request timeout for icmp_seq 19
Request timeout for icmp_seq 20
Request timeout for icmp_seq 21
Request timeout for icmp_seq 22
Request timeout for icmp_seq 23
Request timeout for icmp_seq 24
Request timeout for icmp_seq 25
Request timeout for icmp_seq 26
And here is the TFTP command I'm running. I'm doing the put exactly when I get the first ttl=100 response from the separate terminal window where I'm pinging the router:
Last login: Sun Jan 10 11:07:33 on ttys001
Brunos-MacBook-Air-2:~ bruno$ cd desktop
Brunos-MacBook-Air-2:desktop bruno$ ls
R6700-V1.0.1.20_10.0.32.chk
Brunos-MacBook-Air-2:desktop bruno$ tftp
tftp> connect 192.168.1.1
tftp> status
Connected to 192.168.1.1.
Mode: netascii Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> binary
tftp> status
Connected to 192.168.1.1.
Mode: octet Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> put R6700-V1.0.1.20_10.0.32.chk
Transfer timed out.
tftp>
- seethelightAspirant
unfortunately i wasnt able to resolve it. Still hoping that someone pops up here with a solution. I also tried with the 4 pins cable but to no avail. If someone could post here all the steps to follow with the 4 pins and mac would be great but to date i have no solution to offer.
seethelight just proceed with next step. i got request timout message during ping too. however rest of the steps worked well.
it seems to me that there is no enough time to install the firmare as the router keeps re-booting?
techtherapy kryptonix antinode any guidance much appreciated -
- Quick reply - when you LS your desktop, the file is not listed. Unpack the zip file with the chk, put the chk on the desktop then try again;)
> it seems to me that there is no enough time to install the firmare as
> the router keeps re-booting?That can be a problem. I'd try fiddling with power-on and Reset
timing, hoping to get lucky.If you can't find a time window when it works, then you might need to
bring out the big guns, like opening the box and attaching a serial port
adapter, and using that to interrupt whatever it's doing. A Web search
for terms like, say:
netgear serial port
should find more information.
> Quick reply - when you LS your desktop, the file is not listed. [...]Try a slower reply? I see it there. Did the program complain about
"No such file or directory"? "ls" and "ls -1" are different. (So is
"LS".) File names which include spaces can cause confusion, too.
- seethelightAspirant
Hi guys, fantastic summary. It works perfectly until the very last point. When i type put _ name of the file after few second i receive the message "transfer timed out".
The shell with the ping repietely have the following lines:
Request timeout for icmp_seq 1874
Request timeout for icmp_seq 1875
Request timeout for icmp_seq 1876
64 bytes from 192.168.1.1: icmp_seq=1877 ttl=63 time=1.824 ms
64 bytes from 192.168.1.1: icmp_seq=1878 ttl=63 time=1.571 ms
64 bytes from 192.168.1.1: icmp_seq=1879 ttl=63 time=1.780 ms
Request timeout for icmp_seq 1880
Request timeout for icmp_seq 1881
Request timeout for icmp_seq 1882
Request timeout for icmp_seq 1883
ping: sendto: No route to host
Request timeout for icmp_seq 1884
ping: sendto: Host is down
Request timeout for icmp_seq 1885
ping: sendto: Host is down
Request timeout for icmp_seq 1886
ping: sendto: Host is down
Request timeout for icmp_seq 1887
ping: sendto: Host is down
anyone would be able to advise how i can get the last step done? it seems to me that the router keeps rebooting so that there is no enough time to transfer the new firmware?
- techtherapyAspirant
thanks so much for the guide kryptonix, you saved me a lot of time :smileyhappy:
- kbalaskaAspirantI don't have a mac. Would this still work for pc
> I don't have a mac. Would this still work for pc
The details differ.
https://kb.netgear.com/000059634/
Thank you, I can ping it but my transfer times out. Any ideas appreciated.
> Thank you, I can ping it but my transfer times out. Any ideas
> appreciated.Instead of posting a terse/useless problem description in multiple
years-old threads, you might get better results if you started your own
thread for your own problem, and included a few details, such as what
your router does, what you did, and what happened when you did it.- This is not helpful.
- HossanAspirant
hi thanks for your intellect description, let me write down a little in details i have uploaded exactly what it happend on my macbook please have a look and provide me a solution, i have followed all the steps you stated. in the ping tab i have got ttl=64 and after tftp>binary i didnt get any OCTET
thanks
> [...] i have followed all the steps you stated. [...]
Not very well.
> tftp> connect 192.168.1.10
"192.168.1.10" is (or should be) the address of your computer. Your
computer is not running a TFTP server, so you get a time-out when you
try to talk to it that way.You want to connect to the router/other-device at _its_ default IP
address (which, I gather, is that same as for a router: "192.168.1.1").
For example (without the wasted time/steps):$ tftp 192.168.1.1
tftp> binary
tftp> put <your_file_name_here>- JMGVAspirant
I have completed all the process until
PUT firmware.chk
and keep getting "transfer timed out" message.. (see attached image)
- HossanAspirant
Hi kryptonix thanks for your step by step instructions, but that did not work for my device, my Macbook is late 2011 and has an ethernet port so i can connect the router throuh the cable , however i have tried the steps thrugh my terminal which showing ttl-64 (not 100) like urs, when i have typed the command tftp>EX6120-V1.0.0.40_1.0.30.chk after a while it replied Request timed out.what elase can i do?
thanks
> [...] when i have typed the command tftp>EX6120-V1.0.0.40_1.0.30.chk
> [...]Presumably, there was a "put" command in there?
> [...] after a while it replied Request timed out.
With my weak psychic powers, I can't see what else you did, but
"Request timed out" suggests that no one is listening at the (invisible)
IP address which you gave to the TFTP client program.The TFTP recovery scheme is a multi-step procedure which offers
multiple opportunities for user input, hence user error. By itself,
saying that you tried it doesn't say much. Especially when
using a command-line program, copy+paste is your friend.> [...] i can connect the router [...]
> Model: EX6120|AC1200 Dual Band WiFi Range Extender
That's your target/failing device? That's not a router.
I don't know that TFTP is supposed to work with an extender, or, if
it did, what the extender's default IP address would be. And you're
connected to it how?> [...] what elase can i do?
Start your own thread for your own problem in some more appropriate
forum?https://community.netgear.com/t5/x/bd-p/home-wifi-range-extenders