How to unbrick the Nighthawk R7000 using OS X and TFTP
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.
- Default network cable (Cat5/5e/6)
- USB to Network dongle for MacBook pro's (starting 2015/2016 and up)
- Downloaded stable/latest firmware version unpacked your desktop, use a mobile hotspot if you need to download after the brick
- 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;
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.
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
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
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:
You will see an overview of you home folder including a directory desktop. We will navigate towards that directory using the following commando:
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:
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.
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-V18.104.22.168_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.
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:
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 :
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:
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:
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:
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:
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-V22.214.171.124_10.2.36.chk by example will not work when you use a Mac.