Determining NVRAM size on RT-N66U

There's been lots of threads about this in the past, but I can't recall anything concise being concluded (maybe the situation just varies a lot, unsure).

Does anyone know what the exact NVRAM size on the Asus RT-N66U is? I can't find anything definitive on if it's 32KB, 60KB, or 64KB. All I've been able to determine is that it varies both on 1) what CFE version you get (varies per ""version"" or ""revision"" of RT-N66U), and 2) how much physical NVRAM Asus actually chose to include on the device (regardless of CFE version?).

I imagine if there was a way to easily get into the CFE by default (which there isn't without a serial port, if I remember right) it'd be easy to tell. But anyway -- this complexity is the main reason I haven't gone with an RT-N66U yet, so was hoping someone could shed some clear light on it if at all possible.

Oh, and in case it's relevant (probably is), I only plan to use Toastman's firmware.

This is patched together from my understanding, may not be as official as you wish.

There is 64K NVRAM available for Tomato on RTN66U regardless of CFE. Original Asus CFE only used 32K, but 64K mod of Tomato enabled 64K for Tomato. Newer Asus CFEs enabled 64K and allowed the CFE to access 64K NVRAM.

There has been some confusion about Tomato and 64K CFE vs 32K CFE, but the bottom line is Tomato can use 64K with either CFE revision when using a 64K build.

I have several 1.0.1.2 (32KB CFE) units making use of 64KB NVRAM. CFE 1.0.1.3+ was the 64KB version.

This was in the CFE.bin: pmon_ver=CFE 5.100.127 odmpid=ASUS bl_version=1.0.1.3

I think there was an issue with early DD-WRT implementations that held the NVRAM down to 32KB until they worked out some kinks or updated the CFE to 1.0.1.3. I haven't installed DD-WRT on this router though - only on some other models. I actually switched to Tomato USB because DD-WRT didn't support the 5GHz band at the time, but now I like Tomato better anyway.

For those that don't follow the link , or really read it, or understand it....

The 1.0.1.2 CFE only sees 32K NVRAM. A 64K Tomato build can use 64K NVRAM even with the 1.0.1.2 CFE. The router I'm on now is CFE 1.0.1.2 with about 45K of NVRAM in use.

Unless there are certain low level items like the CPU clock (using ryzhov_al's example) you want/need to tweak, a 32K vs 64K CFE is not really relevant for probably 99%+ of Tomato users.

Do not upgrade the CFE unless you KNOW exactly why you NEED to upgrade. If you wonder if you should upgrade, or just think you should upgrade, or just like having the latest and greatest, then do not upgrade. Even though rhyzov_al has made it as simple as possible, messing with the CFE can truly brick the router.

Again, bottom line, Tomato can use 64K NVRAM with either CFE revision when using a 64K Tomato build, and a 64K Tomato build is safe for any RTN66U.

Is there not still an issue where the CFE can decide to check or write to nvram and you can lose your settings if you use a soft 64kB where CFE only recognizes 32kB? Which means may folk have done the CFE re-write - maybe a dd-wrt problem?

Watch out the RT-N66U doesn't have known working JTAG software (*). It has a standard JTAG port and last time I tried (on a test device I have) I could detect the CPU but not the flash. There has been developments in OpenOCD/UrJtag/zjtag, so if you have a bricked one from a failed CFE upgrade (I recall Victek has been given one!) support will eventually arrive!

Asus have released GPL sourcecode (the AC version?) which is tantalisingly close to what must be in use - but I don't think anyone has dared compiling and flashing their own!

Is there not still an issue where the CFE can decide to check or write to nvram and you can lose your settings if you use a soft 64kB where CFE only recognizes 32kB? Which means may folk have done the CFE re-write - maybe a dd-wrt problem?

Click to expand...

Could be, but we've never had a case of lost settings. I don't follow dd-wrt much though. Probably a dozen or more RTN66Us in the wild, most are on the 32K CFE, all on 64K Tomato builds.

Is there not still an issue where the CFE can decide to check or write to nvram and you can lose your settings if you use a soft 64kB where CFE only recognizes 32kB? Which means may folk have done the CFE re-write - maybe a dd-wrt problem?

Click to expand...

CFE is not writing any vars in normal work. There is only two cases of writing NVRAM by CFE: