There are various reasons for installing new firmware on an old router that you may have lying around. One is that you want to enable new functionality that isn’t supported in the default manufacturer’s firmware.
A popular project that supplies advanced firmware for household routers is dd-wrt. I had successfully installed this software on my router, but still wanted to add some additional functionality. I experimented with the firmware-mod-kit (see this page for info) and added a package to the distribution. I installed this new firmware on my WNR2200, but unfortunately it rendered my router unbootable. It just rebooted itself over and over again every ten seconds or so. No connectivity to it was possible at all. It really was “bricked” (ie had the same functionality as a house brick).
I tried various ways of trying to regain some control. There are various instructions on how to do a “30/30/30 reset” such as here. However, I couldn’t get the connectivity I required.
Finally I realised that after a single 30 second reset (ie holding the hard reset button that you need a pin to access for 30 seconds), you could access the router via TFTP on the default IP address (192.168.1.1). However, I was using the standard windows 7 TFTP client and the firmware transfer kept getting interrupted part way through.
In my search to find a solution for this, I came across another TFTP client here. Fortunately the first line on that page “The standard TFTP command-line utility does not support some very important features like blocksize option” caught my attention. I downloaded the “WinAgents TFTP Client” from the download page and gave it a try. This is a single .exe file that you can put in any folder and run from the command line. I put my firmware file and the tftp.exe file in the same folder, opened a command prompt and navigated to the folder containing tftp.exe and my default firmware.
I tried increasing the block size from the default 512 bytes to 8192 bytes and the timeout to 255 seconds for good measure. To my very pleasant surprise, this sorted out the problem and the old working dd-wrt firmware was successfully uploaded. My command was:
tftp.exe -i -v -b8192 -t255 192.168.1.1 PUT wnr2200-factory_WW.img
Note: (Thanks to Ronald’s Comment below) – You need to start the TFTP transfer within seconds after powering on the router
As soon as it completes the upload, the router automatically installs it and reboots, so give it plenty of time to do this (up to 5 minutes).
I promise you that you will be very happy if you are able to log into your router again!