A Legacy Notes Developer's journey into madness.

Bug in DD-WRT on a Netgear WNDR3700 Router

Devin Olson  April 23 2013 08:10:54 AM


Yesterday I tried to install dd-wrt (v24 SP1) on my Netgear WNDR3700 v2 router.   The installation was a breeze.   Then I tried to configure it.


That is when the trouble began



There is a bug in the CSJS sent to the browser for the web administration interface in this version of DD-WRT.   I honestly don't know if it is in older versions, nor do I know if this issue exists in the firmware for any other model router.   But for my router this problem exists, and it is really frustrating.  

There is a CSJS function called to_apply() that is called whenever the Apply Settings button is clicked.

Here is the button:    

The problem is that the to_apply() function doesn't seem to exist in any of the code sent to the browser, nor can it be found in any of the referenced script libraries.  This means that clicking the button does nothing.  Your changes are not saved or applied.   I had similar problems with the code referenced by the Save button.  That code exists, but would fail and my saves would not "take".  

Essentially I was left with a bricked router.  It had this awesome new firmware on it, but I was unable to save any configuration settings, which meant it was pretty much useless.  

I managed to find a Forum entry from another user having the same problem (thanks to my iPad and Verizon 4G LTE), although this person is using a different version router (WNDR3700 V4).   And fortunately for me, his/her solution worked.

Hack Solution:

  1. Use a MODERN browser that has web-development capability (such as Chrome, Firefox, or Safari).  

  2. Sign into the Router's web administration interface, and make the changes you need

  3. Right-Click on the Apply Settings button, and choose Inspect Element (or whatever your browser's version happens to be)

  4. Change the Onclick code from  onclick="to_apply(this.form);"  to onclick="applytake(this.form);"

  5. Click the button.  Your changes will be saved and applied

  6. Reboot the Router




Hope this helps!
-Devin.