Upgrading to dd-wrt v24 standard
Note: This guide is for users who have “bricked” their routers while trying to upgrade to dd-wrt v24 rc7 from dd-wrt v24 rc6. For flashing to dd-wrt from the stock firmware, you can refer to the Mini Flashing Guide for DIR-300.
It seems like quite a few users have “bricked” their router while trying to upgrade to the final dd-wrt v24 from rc6. Well, the device have not really bricked, it is just that the name of the flash image has changed and hence the system cannot boot pass the redboot. Not sure if it due to the new firmware, bootp was also switched to on, causing the system to take its own sweet time to get into redboot. It took around 30 to 40 seconds before I could actually telnet in.
Required
- linux.bin from dd-wrt v24
- TFTP Server up and running, ready to serve the required files, e.g. PumpKIN
- Putty (telnet client) – Chosen because it helps you to Ctrl + C
Getting into RedBoot
Getting into Redboot could be a bit tricky. You can gauge the time you need to telnet to the DIR-300 by using continuous ping (ping -t -l 1 192.168.1.1) and then turning on the power to the unit. You should see mixed replies of hardware error, ping failures and a couple of successful pings. Try timing the amount of time it takes for the first successful ping from the time you turn on the power to the unit. So you should telnet to the DIR-300 at around that point of time.
- Connect the network cable to your PC’s ethernet port and the WAN port of DIR-300.
- Configure your System IP address (static) to be 192.168.1.2/255.255.255.0.
- Telnet to 192.168.1.1on port 9000
- You should be greeted by the DD-WRT prompt. DD-WRT>
== Executing boot script in 2.070 seconds – enter ^C to abort
^C
DD-WRT> ip_address -h 192.168.1.2
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.2
DD-WRT> fis init
About to initialize [format] FLASH image system – continue (y/n)? y
*** Initialize FLASH Image System
… Erase from 0xbfc30000-0xbffe0000: …………………………………………………..
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> load -r -b 0x80041000 linux.bin
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x803cffff, assumed entry at 0x80041000
DD-WRT> fis create linux
… Erase from 0xbfc30000-0xbffbf000: …………………………………………………
… Program from 0x80041000-0x803d0000 at 0xbfc30000: …………………………………………………
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig
Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line
>> fis load -l linux
>> exec
>>
Boot script timeout (1000ms resolution): 3
Use BOOTP for network configuration: false
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> reset
Have fun with your dd-wrt!