DD-WRT on the Asus RT-N66U – with 64K CFE

UPDATE March 11 2014: I recently updated to the latest K3.x build (23598). I can confirm the following:

  • It is not necessary to upgrade your CFE if you intend to use a K3.x build.
  • USB & MMC support is now working.
  • It is possible to install Optware following these instructions: Optware The Right Way – Take 2
  • Enabling QoS results in reboots every few minutes, or more regularly if under load.
  • Apart form QoS issue above, it seems stable.

UPDATE Jun 10 2013: It would seem that Asus have released a new hardware variant of this model (B2) which is not compatible with this guide. Before you do anything you must check that you have an original hardware version. You have been warned.

UPDATE Nov 20 2013: Since writing this guide, the DD-WRT builds available have improved significantly and as such, the process of flashing them is probably a lot simpler. I am still running build 20363 which I originally flashed, when I have time I will try the new builds. When I have done so I will update this guide accordingly, however until that time you should probably not use the guide below and instead refer to the DD-WRT forums (linked below).

So today I received my fancy new router, chosen because it is a beast and from a quick peruse of the DD-WRT wiki and forum, it seemed I would be able to load DD-WRT on it without too much trouble.

For those who don’t know, DD-WRT is an open source, community maintained router firmware which can turn a consumer router into something any sysadmin would be proud of. I personally love it for the hundreds of features, easy to use UI and active community. From the first time I used it, DD-WRT compatibility has been a prerequisite for any new router purchase.

Check out the features here: What is DD-WRT?

From experience, flashing DD-WRT on a router can be challenging and has been known to result in an expensive paperweight or two so the golden rule is read all the forum threads you can find. This is particularly true if you are dealing with a newish device, since the kinks are probably being worked out and so it is important to have all the latest info before you start.

I have to give full credit to the DD-WRT community for making this possible, so all I want to do here is provide a write up of my experience to try and pull all the information together. Special thanks to Fractal for providing the 64K CFE compatible build.

N.B. This guide includes upgrading your CFE to 64K and at the time of writing means that you cannot install a standard DD-WRT firmware, Fractal has been kind enough to compile a 64K CFE compatible version which you must use.


  1. Fire up the new router, hook it up to your PC with an ethernet cable and point your browser to I aborted the Asus setup wizard it tried to take me through and just jumped straight into configuring manually.
  2. Install the latest version of the Merlin flavour of the Asus stock firmware. You need to do this because it supports SSH, which makes life easier and allows you to display the version of the CFE, which tells you whether or not you need to manually update the CFE.
    You can simply download the latest .trx file from Merlin and flash it using the router’s web GUI.
    IMPORTANT NOTE: It is essential to upgrade to the latest Merlin firmware before upgrading your CFE. If you don’t, you will end up with a brick.
  3. Let the router flash the Merlin firmware and wait until it has rebooted and settled down.

Upgrading the CFE:

UPDATE: There have been reports recently that flashing recent versions of the stock (and so also Merlin’s) firmware result in CFE version However, equally others have not found this to be the case. My suspicion is that ASUS has loaded units manufactured more recently with the CFE. You must flash the latest Merlin build and verify that the CFE is at version or higher using the GUI. If it is, you can skip this section – if not, you’ll have to update it yourself.

  1. Using your browser of choice (IE sucks by the way), load up again and click on ‘Tools’ on the left-hand menu. This will take you to a page where you can see the current CFE version. This will be currently. We will be upgrading to
  2. Under ‘Administration’ enable SSH and also Telnet (just in case).
  3. Follow these instructions to perform the update.
    1. Because you used the Merlin firmware earlier, you can easily use SSH to connect to the router to do this. If you are not familiar with SSH, you should probably not be attempting this.
    2. I hadn’t plugged my router into the internet yet, so I used SCP to transfer the cfe_n66u- file to the router instead of downloading it directly using wget as the guide suggests, but either is fine.
    3. Here’s the output from my upgrade:
      ASUSWRT RT-N66U_3.0.0.4 Sun Dec 16 01:33:41 UTC 2012admin@RT-N66U:/tmp/home/root# ls -alh
      drwx------ 3 admin root 80 Dec 31 12:10 .
      drwxr-xr-x 3 admin root 60 Dec 31 1969 ..
      drwx------ 2 admin root 60 Dec 31 12:04 .ssh
      -rw-r--r-- 1 admin root 156.5K Dec 31 12:10 cfe_n66u-
      admin@RT-N66U:/tmp/home/root# tar -zxvf ./cfe_n66u- 
      admin@RT-N66U:/tmp/home/root# ls -alh
      drwx------ 3 admin root 160 Dec 31 12:11 .
      drwxr-xr-x 3 admin root 60 Dec 31 1969 ..
      drwx------ 2 admin root 60 Dec 31 12:04 .ssh
      -rw-r--r-- 1 admin root 156.5K Dec 31 12:10 cfe_n66u-
      -rw-rw-rw- 1 1000 1000 130.3K Oct 2 2012 cfe_n66u-
      -rwxrwxr-x 1 1000 1000 1.8K Dec 3 2012 cfe_update.sh
      -rwxrwxr-x 1 1000 1000 90.5K Dec 3 2012 diff
      -rwxrwxr-x 1 1000 1000 8.8K Dec 3 2012 nvsimple-mipsel
      admin@RT-N66U:/tmp/home/root# ./cfe_update.sh /dev/mtd0ro
      [1/4] Dumping default NVRAM settings from original CFE…
      nvram header found:
      [2/4] Preparing new CFE…
      nvram header created:
      [4/5] Checking differences between NVRAM from old and new CFE's
      --- nvram_orig.txt2010-12-31 12:11:30.359770287 -1200
      +++ nvram_updated.txt2010-12-31 12:11:30.419770287 -1200
      @@ -1 +1 @@
      @@ -16,0 +17 @@
      If you see only two differences: one is for 'bl_version' variable change
      and second is a new 'odmpid=ASUS' variable then all goes well!
      [5/5] Flashing new CFE…
      Do you want to flash a new CFE bootloader that? [y,n]y...flashing…
      Update completed. Old CFE is stored to cfe.old file, a new one - to cfe.new
      It's strongly recommended to store them, just in case.
      Please note, your personal MAC addresses in there, do not distribute them.
    4. Really do back up your old CFE file, the script creates a backup for you, all you need to do is SCP it off and save it somewhere safe. You’ll probably never need it again, but if you do, you’ll really need it.
      • You can do this using SCP. On a Linux or OSX machine you can use the terminal:
        scp root@ .

        or you can use FileZilla or WinSCP to connect as an SFTP client if you want a nice gui to browse the router and download the file. This is probably the easiest way for Windows users.

    5. Check that the new CFE version is reflected in the web GUI under ‘Tools’. I didn’t seem to have to reboot for the change to be reflected.
    6. Re-boot the router. I just hit the power button.

Flashing DD-WRT:

  1. Flash Fractal’s special 64k CFE compatible firmware. I downloaded version 20363 from here, however there is a new version 21402 available here. You can just flash this through the web GUI as usual.
    1. Do check here for any newer builds. If you see a newer build, really do go and read the forum to find out how people are getting on with it.
    2. Make sure you flash a 64K build. These can be identified by the ‘_64K.trx’ file ending. The other builds are 32K and will result in bricking.
  2. Let the router flash the DD-WRT firmware and wait until it has rebooted and settled down for at least 5 – 10 minutes. Mine seemed to finish very quickly, but the advice of the forums is to give it some time.
  3. Perform a 30-30-30 reset to clear the NVRAM and round everything off.
    1. N.B. This router model uses the WPS button instead of the usual reset button. (Like the RT-N16).
  4. All done 🙂

At the time of writing I have just finished this and so can’t comment on stability just yet, but it seems solid enough and I have had no trouble configuring it. In 20 minutes I had swapped out my old router and the RT-N66U is now managing my whole home network. Seems good so far.
UPDATE: I have been running this build for several months now and I can confirm that it is solid as a rock.

This post was written to collect all the information at the time of writing together. Obviously it may get out-dated. As such it is essential to read the following for the latest updates before you attempt this yourself:

180 Comments on “DD-WRT on the Asus RT-N66U – with 64K CFE”

  1. Hello, Thanks for all the information. I read everything on your post about the RT-N66u or at least I think so… I manage to do everything till flashing the DD-WRT I bassicaly couldnt download the files from the ftp.

    I went to the big forum post of 125 pages and try to dig to find which release should I installed and since I cannot download what you recommend as rock solid i then looked to the Kernel 3.x and got eh following file to flash dd-wrt.v24-21676_NEWD-2_K3.x_mega_RT-N66U.trx.

    They mention that when installing a Merlin version you dont care about the 32 or 64 bits it will simple take the above file.

    Could you confirm this.

    Thanks in advance.

    • Hi,

      I’m afraid that I can’t really comment on the K3 builds as I haven’t used them.
      When I get to a decent internet connection I will mirror the firmware from the FTP.
      Sorry I can’t be more helpful,

  2. Just a note: I installed the version from this article and it never worked 100%. It has a issue (at least for me) regarding the lease time in WAN connection. My ISP has a lease time of 1 hour and after that period the router should call a lease and renew ip. The standard dd-wrt build version when I used in others routers always worked fine, but with that build (Fractal) it never worked, after 3-4 hours the Internet connection died. Looking in the main dd-wrt N66 wiki page it seams that the new K3.X Broadcom builds are working without any patch. So I gave a try and it’s working perfect now… solved my WAN lease/renew problem…

  3. I’m having a problem with this setup right now and I’m hoping you know the answer. When I try to update a bunch of apps on my Android device, it appears the router cuts off the data! The device stay connected to the router but cannot reach the internet or even other devices on the network! If I turn off wifi and instead use the cell-radio( TMobile) it is able to download all the app updates without issue. This should not be a problem as I have fast internet (50mbps). Any idea what’s wrong?

  4. hello
    sorry I am “french”

    I flashing my rt-n66u with : dd-wrt.v24-21676_NEWD-2_K3.x-big-RT-N66U.
    and I have only access to admin web since wifi. not ethernet.
    when I connect ethernet port , no ip and If I fixing ip, no respond to ping.

    I can only user wifi and only 2.5 not 5gh.
    it very difficult because I can’t use wifi for upgrade firmare

    thank you for your help.

  5. hello
    sorry I am “french”

    I flashing my rt-n66u with : dd-wrt.v24-21676_NEWD-2_K3.x-big-RT-N66U.
    and I have only access to admin web since wifi. not ethernet.
    when I connect ethernet port , no ip and If I fixing ip, no respond to ping.

    I can only user wifi and only 2.5 not 5gh.
    it very difficult because I can’t use wifi for upgrade firmare

    thank you for your help.

  6. Hi,
    I was originally able to successfully install dd-wrt.v24-21402_NEWD_2_K2.6_mega-RT-N66_64K.trx on my router but 2.4ghz would not work. I used it for a month or so and just successfully upgraded to dd-wrt.v24-22208_NEWD_2_K2.6_mega-RT-N66_64K.trx using the web console.

    I was hoping this would clear up my issue with 2.4ghz but it unfortunately did not :(. I still get a ‘timeout’ error.
    Is anyone else having these problems? Anyone know a solution? Right now all I can use is 5ghz… :(. I use my router as a repeater fwiw.

    • yes!! i finally got it.
      Repeater on 2.4ghz and 5ghz work at full speeds with nice range. VPN also works. After upgrading to 22208_NEWD_2_K2.6_mega-RT-N66_64K.trx via web gui, I then upgraded to dd-wrt.v24-22118_NEWD-2_K3.x_mega-nv64k.bin, also from web gui. I never needed to do a 30/30/30 reset.
      One thing to note is that the dd-wrt status still displays that I am on the old k2 version but I am certain I am on K3 now.
      Another thing that threw me is that is does not have n66u in the file name; Fear not! Use it anyway!
      For those that are having trouble with 64/32 cfe issues, I recommended using this K3 build – is automatically detects 64/32cfe!
      Hope this helps someone! It is currently available here:

  7. Hello, can you explain how to used the SCP command? I currently have the file on the local laptop and have a current SSH session into the router but not sure what command to do?

  8. Thanks for that good deskriiption.

    I’ve got a tiny problem with its ssh deamon dropbear_2013.56 and don’t really know what I did wrong. If I try to ssh the unit I get not depending of a matching rsa-key installed or not the following result if I use -v

    And I don’t know what is wrong to my ssh client or to dropbear, because I’ve never had that.

    Messages while connecting until connection closes:

    OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: /etc/ssh/ssh_config line 19: Applying options for *
    debug1: Connecting to [] port 22.
    debug1: Connection established.
    debug1: identity file /home/amb/.ssh/id_rsa type 1
    debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
    debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
    debug1: identity file /home/amb/.ssh/id_rsa-cert type -1
    debug1: identity file /home/amb/.ssh/id_dsa type -1
    debug1: identity file /home/amb/.ssh/id_dsa-cert type -1
    debug1: identity file /home/amb/.ssh/id_ecdsa type -1
    debug1: identity file /home/amb/.ssh/id_ecdsa-cert type -1
    debug1: Remote protocol version 2.0, remote software version dropbear_2013.56
    debug1: no match: dropbear_2013.56
    debug1: Enabling compatibility mode for protocol 2.0
    debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.1
    debug1: SSH2_MSG_KEXINIT sent
    debug1: SSH2_MSG_KEXINIT received
    debug1: kex: server->client aes128-ctr hmac-md5 none
    debug1: kex: client->server aes128-ctr hmac-md5 none
    debug1: sending SSH2_MSG_KEXDH_INIT
    debug1: expecting SSH2_MSG_KEXDH_REPLY
    Connection closed by

    This is it than. I am able to tellnet but that is no option for me. What is wrong? Does someone know that?

  9. I’ve now been running this build for 6 months and it’s not rock solid or as good as previous DD-WRT installs on other routers. It’s generally good, but I find every 3-4 weeks I have get a slow down in both upload/download speeds that continue unless I restart the router. After turning off/on the router, the speeds immediately jump back up.

    Does anyone know if there’s a later build of dd-wrt that fixes this?

  10. I followed the steps.

    Loaded Merlin.
    Checked CFE version –
    Upgraded it to and verfied it by refreshing the web interface.
    Flashed Fractal’s 64K CFE compatible firmware – 21402

    The router booted up and I can get to it, but no WAN connection. I’ve checked that it’s set to Automatic Connection – DHCP (as it should be for my ISP’s cable connection), yet no WAN IP.

    Also I noticed under Status, the router name is DD-WRT (easily changed) but the router model shows Linksys WRT54G/GL/GS instead of Asus RT-N66U. Is that a problem?

    Could someone give me some suggestions to troubleshoot my WAN connectivity please?

  11. Some of you may have noticed that there is a new build 22960 of basmaf’s ftp site, but there is no rt-n66u with _64k infix. This build might be interesting for us rt-n66u users due to good availbility of WLAN bandwidth. If i understood the explanations on the forum correctly, for those having dd-wrt already running, a model specific “trailed” build with RT-N66 is not necessary or recommended anyway. The image we should use is dd-wrt.v24-22960_NEWD-2_K2.6_mega-nv64k.bin. I will try it this afternoon and tell you about it.

    • This is what i did: updating from 22208 to 22960 using the non-trailed build did not work. Flashing the dd-wrt.v24-22118_NEWD-2_K3.x-big-RT-N66U.trx from CFE did and then 22960 from K3. Everything i use (but that is not much) seems to work, but this is for only 3 days now.

  12. I’m afraid I have bricked my RT-N66U. I went on ahead to install dd-wrt.v24-22208_NEWD_2_K2.6_mega-RT-N66-64K.trx. Flashing was successful, but 2.4 GHz band did not work. Even though 2.4 GHz SSID was broadcast and I was able to connect to it, I could not even open the web GUI at 5 GHz band was functioning correctly. I made 2 attempts to flash dd-wrt.v24-21402_NEWD_2_K2.6_mega-RT-N66_64K.trx through web GUI. I ran through 30-30-30 reset with the WPS beforehand, and waited 10 minutes after each flashing attempt. However, the web GUI kept showing rev 22208 on the status page, suggesting that downgrading was NOT successful. 2.4 GHz still did not work. I gave up on DD-WRT at that time, and attempted to flash Merlin firmware RT-N66U_3.0.0.4_374.35_4.trx from the web GUI, and since that attempt the router has been nonresponsive. I get ping from, but I cannot ssh into it, or get a web GUI. This is probably the most difficult piece of hardware to get DD-WRT up and running. My previous experience with WRT160n, E2500, and WNR2000 was really straightforward 😦

    • I think the 30-30-30 is done with the RESET switch. 22208 worked well for me for months, seems like your NVRAM was not properly cleared. The only thing you *really* need to care about is the nv32k vs nv64k CFE — did you? You can always go back to the CFE (press reset during boot until led starts flashing slowly). Erase NVRAM and if that doesn’t help, reflash firmware of your choice.

      • Yep, like you mentioned in this guide, I flashed Merlin first, and confirmed that it had CFE. I might not be understanding this correctly, but the DD-WRT wiki states that WPS button is used for NVRAM clearing, and reset button is used to invoke recovery mode (http://www.dd-wrt.com/wiki/index.php/Asus_RT-N66U#Know_your_hardware_buttons). Luckily, I was able to get recovery mode…sending DD-WRT trx file (the 64K variants) through this didn’t seem to fix the problem. I downloaded the stock firmware from ASUS website, renamed file extension from .trx to .bin like the DD-WRT wiki stated, and sent it over the CFE interface. I’m crossing my fingers now…

        • I just erased NVRAM (30-30-30) by pressing the reset button. You know that NVRAM is properly cleared if you are asked for username / password first. Good luck!

        • Just found this on the DD-WRT forum: “If you have Stock Firmware / Merlins Firmware: Flash dd-wrt.v24-21676_NEWD-2_K3.x_mega_RT-N66U.trx “

      • Sorry for the hassle, Thomas. This is really embarrassing – I had my old 2.4 GHz router still powered on, but disconnected from the broadband modem. There was an SSID conflict. After reflashing DD-WRT rev 22208 and leaving it alone for >20 minutes, it’s working really nicely now. Thanks for your help!

  13. Um hi,

    I think I may have bricked my router but am unsure why or how to undo the damage.

    It’s a RT-N66U B1 model. First thing I did was put the latest merlin on it (before finding this guide), had no issue putting that on the router.

    But after trying to set up my router to forward ports I seemed to be having weird issues with the router seemingly firewalling off forwarded ports despite the firewall being disabled. Anyway decided to go DD-WRT, since it worked really well on my previous router..

    Found this guide and followed it. First checked my firmware version using Merlin’s ssh with “strings /dev/mtd0ro | grep bl_version”, also checked in the Merlin web interface, both showed Great!

    So grabbed the following firmware, it seemed to be the latest 64k version : ftp://ftp.basmaf.com/Fractal_Builds/21402/dd-wrt.v24-21402_NEWD_2_K2.6_mega-RT-N66_64K.trx

    Uploaded this through the main Merlin web interface, It did the spinny thing counting up the percentage then got the the end and just sat there for ages, can;t remember the wording but it had it’s completed message.

    I left it 10-15 mins, then thought sod it assuming it must be complete and rebooted, now it won’t boot properly. =(

    Current state is.

    Turning on the router from a cold start, the power light flashes slowly and I get the AsusTek miniwebserver page, I have a stable ping to the router : http://oi44.tinypic.com/2568e21.jpg

    From here I’ve tried uploading the latest original Asus image, the latest Merlin image (which was on previously) and both the 21402 and 20363 mega + mini 64k images, none seem to sort the issue. After I upload I go here : http://oi40.tinypic.com/2ed5q2s.jpg with the router showing an unstable ping. I wait for 20 minutes or so and from here if I click reboot I end up at this page : http://oi43.tinypic.com/2exla89.jpg “settings have been changed”

    No amount of rebooting or waiting here seems to sort it, it’s the mini web server or “settings changed”.

    As well as this basic web interface, there’s also a firmware upload utility on the driver but using that doesn’t seem to work either. Both seem to upload whatever image I send but the image doesn’t seem to boot afterwards.

    Short of trying to return it to PCWorld I’m not sure what to do, anyone have any ideas?

    • Well just to update, it’s now sorted.

      So much messing about, I must have spent 8 hours trying to sort this.

      Tried every bit of firmware I could find repeated times, Original, Merlin, DD-WRT, Tomato with nothing at all working.

      Eventually tried dd-wrt.v24-21676_NEWD-2_K3.x_mega_RT-N66U.trx

      and bang worked – go figure.

        • Hi cheers.

          Just to update I was able to update to latest K3 : dd-wrt.v24-23204_NEWD-2_K3.x_mega_RT-N66U.trx

          and the big version also. For both uploads I reset the nvram using the web interface the did the upload via the Asus “firmware restoration” tool. After the process has finished you have to wait another 5 minutes or so for the router to reboot and sort itself out.

          But the wifi was a bit sketchy so reverted back to 21676. But wanted to try other firmware again as the wifi on 21676 though appearing relatively stable didn’t seem quite as fast as I’d had on before starting all this.

          So I tried K2.6 again and no it won;t go on. =(

          So I tried Merlin and original Asus, none would go on, this was with waiting 25 minutes after completion.

          So I’m confused as to what’s going on, K3 must be doing something that other firmwares don’t which allows it to go on the router.

          And i’s really odd the original firmware doesn’t seem to want to go back on, I;m not understanding why this should be =/

      • Another update.

        Managed to get stock back on.

        Steps required to do it:

        – Enable telnet or ssh in ddwrt
        – telnet/ssh in, run “erase nvram”
        – Change the suffix on your downloaded stock image from .trx to .bin
        – Upload through the ddwrt interface
        – Chill a few minutes

        This is actually on the wiki page (http://www.dd-wrt.com/wiki/index.php/Asus_RT-N66U) so I’m kicking myself for missing especially given I’ve done so much reading over various threads. =/

        And also this that I mentioned before :

        “didn’t seem quite as fast as I’d had on before starting all this”

        Can confirm. I’m on fibre here, wired is fine but wireless on ddwrt was maxing out at ~42Mbps, with the stock rom I’m back to ~71Mpbs – big diffference.

        Both were using N on 2.4Ghz (my laptop doesnt support 5) and showing as connected at 144.0Mbps.

        I suspect DDWRT on the N66U doesn’t have the throughput yet.


  14. Nice write up, but I am not ready to move to an ASUS. However if anyone sets up a Wireless Distribution Service (WDS), I would be interested in hearing how it works for you. My Cisco was a pain, but eventually it worked although I still cannot setup a working visitor vlan. Before you point I have been to various dd-wrt write ups on these subjects.

  15. Thank you for your March 11, 2014 update and the hyperlinked file. I restored the RT-N66U from the Asus firmware in CFE recovery mode and then upgraded to DD-WRT via the Asus GUI using that 23598 file. Worked like a charm.

    Thanks again.

  16. I know the post says that with the newer k.3x builds you don’t need to upgrade the cfe. But I seem to be able to load kernel 2.6 mini with no problem, however, it doesn’t take when I try to do an install of 3.x mega or big…Whether I try going the 2.6 to 3.x route, or an initial 3.x mega or big .trx install.

    With that, because I’m running the initial firmware, is a firmware flash warranted in my case?

  17. I am having problems because windows 10 will not accept TRX files can anybody help me download DD-Wrt on my new Asus RT N66U

  18. Pingback: DD-WRT on Asus N66U version B2 – Martins blog…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: