DD-WRT V24-SP1 for WGR614L: Review and Installation Instructions

A much more stable and functional version of DD-WRT v24-SP1 for WGR614L is available now and you can download it here.  Please use this version instead of the previous ones, if you want to run DD-WRT on WGR614L, as many of the bugs found in previous versions have been resolved.

This version works on both the NA (North American) and WW (Worldwide) versions of the WGR614L. These routers are loaded with different bootloaders - but the hardware is exactly the same.

If you're already familiar with DD-WRT and are not interested in details, please jump directly to the installation section at the end of this article.

An Introduction to DD-WRT

As quoted from the DD-WRT webpage:

"DD-WRT is a third party developed firmware released under the terms of the GPL for many ieee802.11a/b/g/h/n wireless routers based on a Broadcom or Atheros chip reference design."

"The new version of DD-WRT (v24) is a completely new project. DD-WRT offers many advanced features not found in the OEM firmwares of these devices, or even the firmware available for purchase from Sveasoft.  It is also free of the product activation or tracking found in the Sveasoft firmware.

Some of the highlights are - Virtual SSIDs, Virtual DHCP-Servers, PPTP over WAN enhancements, Bridging + VLAN support, OLSR-Routing / Freifunk, My Ad Network (powered by AnchorFree), ,  PPPOE-Server, EOIP-Tunnel, Network configuration enhancements, UP-Downstream (QOS), New Packet Scheduler HFSC, Save & Apply, extended DDNS options, extended status information, New Languages, Sipwerk integrated Milkfish into the new release, turning every DD-WRT router into a SIP-aware firewall."

Please note that all the above features are not available in all flavors of the firmware.

For a comparison with other firmwares for WGR614L, please read WGR614L Firmware Choices Compared. 

We modified DD-WRT v24-SP1 (SVN revision 10152) source code.  We hope this code will merged into DD-WRT mainline in due course.  While most of the features work, there are known issues of some LED lights not being switched on.

DD-WRT is highly customizable and usually there are many types of builds based on different feature packaging - e.g Mini, Std, OpenVPN, Micro, Mega. The current firmware available here is a DD-WRT Mini build for WGR614L. It should be possible to create standard builds or OpenVPN builds based on this patch.

Development of DD-WRT Support for WGR614L

We're going to cover a lot of technical details in this section, so feel free to skip ahead if that's not what you're looking for.

Eko and Sash at DD-WRT community brought in the initial DD-WRT per-v24 version for WGR614L. While this version can run on the NA version of the WGR614L, this versions fails to boot on a few configurations (including factory default) of WGR614L. The v24-9281 version is a modification of eko's firmware with couple of additional scripts to allow better detection of the firmware.

The next series of fixes include:

  1. Two different flash layouts in NA and WW versions - Support WGR614L flash layouts. This layout is different than almost all the other routers in this category - which was one of the major issues in the first version of the firmware. We have reserved the partitions used by NETGEAR software to ensure that no accidental overwrites happen to the reserved flash blocks.
  2. A different kind of flash memory (serial flash) - Support for the serial flash has been integrated into DD-WRT - but the issue here was that serial flash is supported only on selected router models, and detection of WGR614L is made more complicated due to the difference in factory default settings in the boot loader and NETGEAR's factory default firmware.
  3. A shared gpio for detecting the reset button and power LED - In the WGR614L, the power LED and reset button shares the same gpio PIN -  and DD-WRT versions were detecting the reset button was being pressed even when it was not.  It was fixed by switching off the power LED - but will be fixed to make better detection of reset button press events.
  4. Two different versions of boot loaders for NA and WW versions with checksum validation  - The WGR614L bootloader validates the firmware against a previously stored checksum.  DD-WRT rearranges the firmware image to use any leftover space for the jffs2 file system partition. This causes checksum errors while booting, and depending on the boot loader version (WW or NA) either it takes longer to boot the router up or it completely fails to boot. We have made sure that we make the firmware in such a manner that DD-WRT doesn't have to rearrange the firmware at runtime.
  5. LZMA decompression in bootloader - The WGR614L boot loader loads LZMA compressed kernel image, and the firmware loads the runtime image on different RAM memory address than the conventional linux address. This technique saves a lot of flash memory but wasn't supported by DD-WRT. We have modified the loader module in DD-WRT to comply with WGR614L models.
  6. Some missing NVRAM settings  - We have fixed the issues of incomplete factory default settings and added required settings to the system. 

How To Get The Source Code for DD-WRT V24-SP1 for WGR614L and Compile

You can download the source code from the DD-WRT svn repository:

svn://svn.dd-wrt.com

and apply the following patches to make DD-WRT work on WGR614L. You may use any type of build as long as there is enough flash memory available for the different DD-WRT firmware builds.

You can also read this discussion to help yout to fix a few build issues present in the DD-WRT source code.

How to Install:

Download this version from MyOpenRouter to start.

If you have setup a serial console  I would suggest that you upgrade the firmware following the instructions here. This works for whatever firmware version you have on your router.  If you don't have a serial console, you can follow the instructions below.

How to Upgrade from Netgear Factory Installed Firmware

Please use the router upgrade functionality in the Web UI. For more detailed instructions, please follow the guide in DD-WRT for NETGEAR WGR614L Installation Guide. 

You can use the similar process to upgrade from Tomato firmware.

Upgrade from DD-WRT v24-9281 or MyOpenRouter Independent Build

You need to convert the .chk image that you have downloaded into the generic binary (TRX) format. To do this, you need to strip out the first 58 bytes in the .chk and save it as a .chk file. There are many ways to do it, but if you can run the dd command (either on Linux/Unix or Cygwin on Windows) then you can use the following command:

  • dd bs=58 skip=1 if=ddwrt-wgr614v8.chk of=ddwrt-wgr614v8.bin

and use this bin file to upgrade using the web UI of older DD-WRT or MyOpenRouter Independent Build.

You MUST do a power-on factory reset after flashing the DD-WRT firmware.

A word of caution - as of the writing of this article, we have not yet tested if this works - we would be happy to hear from someone who would like to try it.  Otherwise, you may want to wait a few days after this article is released for us to go through further testing.

Disclaimer: You will void the warranty by using this firmware, and neither NETGEAR or MyOpenRouter is not responsible if you brick your router in the process of upgrading or running the firmware.


Quick Links

View All Downloads at MyOpenRouter

Talk About DD-WRT On the MyOpenRouter Forums

bfritton
bfritton's picture
Good article! Just received

Good article! Just received my WGR614L yesterday and installed the dd-wrt v24 firmware now. Bugs still seen so far on the HW: Power light is not illuminated and checkmark is amber.

Serv007
Serv007's picture
Just flashed this firmware

Just flashed this firmware and it bricked my router. No wireless and won't give me an IP add on lan.

bfritton
bfritton's picture
Did you use the serial

Did you use the serial console or did you use Netgear's upgrade UI? Did you upgrade from the stock Netgear firmware or something else like Tomato?

Serv007
Serv007's picture
I upgraded using the last

I upgraded using the last version of DD-WRT's upgrade feature. I am now trying to unbrick without having to make a serial console cable, since I don't have the parts.

bfritton
bfritton's picture
Very harsh. Sorry. If you can

Very harsh. Sorry. If you can still reach the DD-WRT GUI, try reflashing the stock Netgear firmware on it? Otherwise from what I've seen, there's only one way to unbrick and that's with a serial cable. Good luck!

Serv007
Serv007's picture
I can't access the router at

I can't access the router at all, so I guess I am going to buy a serial cable and break out the trusty tools. Could someone give me a link to a good place to get a serial cable.

Brandon C
Brandon C's picture
You can get one here at

You can get one here at Mouser.com

Serv007
Serv007's picture
It says obsolete.

It says obsolete.

Serv007
Serv007's picture
Some new updates.

Some new updates.

I have been playing around some more and realized that I can do nothing but ping, no ftp, and no web gui.

I have the dead wgr614l hooked up to a wrt54gl right now so I can have internet but the 192.168.1.1 is the dead one.

 

hankhilliard
hankhilliard's picture
It bricked my router on the

It bricked my router on the first attempt upgrading from Tomato. The power light was flashing and after many attempts to TFTP dd-wrt and Tomato firmware with no luck, I finally TFTP-ed the original firmware to the router with success.

playdrums
playdrums's picture
The article says that you

The article says that you want to know if the conversion from .chk to .bin works using dd. I used this method to try and get from v24-9281 to SP1 and it left my router unable to be contacted via the web gui. I can ping it and the lights are on (power not blinking). Actually, the lights are working (if you call it that) exactly as people are reporting with SP1. I just can't get the gui.

So, the update from DD-WRT --> DD-WRT is questionable and my router doesn't work.

hankhilliard
hankhilliard's picture
I found that with V24 the GUI

I found that with V24 the GUI locked up and needed a reboot to get into it. IE was better than Firefox3 to connect to the GUI. I went back to Tomato, I found that DD-WRT does not work very well and to get into the GUI requires constant reboots.

bfritton
bfritton's picture
Reading through multiple

Reading through multiple discussions here I think if I need to move to another firmware after trying out DD-WRT then I should just flash back to the original Netgear FW then work from there. No movement from Tomato to independent / DD-WRT. Anyone had trouble moving from the original factory FW to anything?

hankhilliard
hankhilliard's picture
no, moving from original is

no, moving from original is fine for all 3 firmwares. DD-WRT GUI right now is the issue, as for other issues I could not get past the reboots to get connected. Tomato has a few issues with the WDS. As for the independent firmware I have tried it to check out the features but switched back to Tomato. For me I am looking to expand my wireless area and the WDS right now is just not working other than that Tomato has all the features that I want and need.

jterm
jterm's picture
So is the conclusion that

So is the conclusion that updating from a .bin file will work but just as long as we use it for a version of tomato or the original firmware but it will not work when trying to move to this version of dd-wrt? My router is useless as it is currently but at least I have the GUI access. I really don't want to make any mistakes and turn the whole router to scrap at this point.

Right now I have a version of DD-WRT that lets me access the GUI but I can't get internet or wireless whatsoever. Obviously I can't use a .chk, so is this the best choice or should I be going through the hassle of scrapping the whole firmware and using TFTP?

Thanks for any advice.

rennaT
rennaT's picture
I'm not certain if it's just

I'm not certain if it's just me but I keep getting "Access Denied: You cannot access this download at this time." whenever I try to download the SP1 version of DD-WRT v24. Also, from the DD-WRT website, I can only find v24-SP1 for the WGR614v8. Am I missing something? Will the WGR614v8 firmware work with a WGR614L?

twindragon6
twindragon6's picture
Is the test build ready yet?

Is the test build ready yet?

The next series of fixes include:

1. Two different flash layouts in NA and WW versions - Support WGR614L flash layouts. This layout is different than almost all the other routers in this category - which was one of the major issues in the first version of the firmware. We have reserved the partitions used by NETGEAR software to ensure that no accidental overwrites happen to the reserved flash blocks.
2. A different kind of flash memory (serial flash) - Support for the serial flash has been integrated into DD-WRT - but the issue here was that serial flash is supported only on selected router models, and detection of WGR614L is made more complicated due to the difference in factory default settings in the boot loader and NETGEAR's factory default firmware.
3. A shared gpio for detecting the reset button and power LED - In the WGR614L, the power LED and reset button shares the same gpio PIN - and DD-WRT versions were detecting the reset button was being pressed even when it was not. It was fixed by switching off the power LED - but will be fixed to make better detection of reset button press events.
4. Two different versions of boot loaders for NA and WW versions with checksum validation - The WGR614L bootloader validates the firmware against a previously stored checksum. DD-WRT rearranges the firmware image to use any leftover space for the jffs2 file system partition. This causes checksum errors while booting, and depending on the boot loader version (WW or NA) either it takes longer to boot the router up or it completely fails to boot. We have made sure that we make the firmware in such a manner that DD-WRT doesn't have to rearrange the firmware at runtime.
5. LZMA decompression in bootloader - The WGR614L boot loader loads LZMA compressed kernel image, and the firmware loads the runtime image on different RAM memory address than the conventional linux address. This technique saves a lot of flash memory but wasn't supported by DD-WRT. We have modified the loader module in DD-WRT to comply with WGR614L models.
6. Some missing NVRAM settings - We have fixed the issues of incomplete factory default settings and added required settings to the system.