D-Link DIR-885L nvram size?

Just a question on the nvram size for this d-link model, I know the dir-868l rev a1 is like 32k and I was curious if the same is for the dir-885l.

Edited: I'd like to close this thread question.


If the Wiki is right then:

mtd4: 00010000 00010000 "nvram"
0x0000003f0000-0x000000400000 : "nvram"

--> 0x10000 = 65536 bits = 64 kilobits

I've seen similar from a boot log output of the dir-868l rev a1 but it turns out to be only 32kb when freshtomato is flashed even looking at the gpl, dd-wrt perhaps adds something to give more space? I was wondering if it were the same for the dir-885l on nvram size that's all, I would've like to know before I purchase one but I would be disappointed if was 32kb, I'll keep searching.

Thanks for responding

I remember that Linksys devices with Broadcom SoCs had a bug within the bootloader limiting available Nvram to 32k. You had three options if I remember corret:

  • stay under 32k :smiley:
  • flashing a modified bootloader
  • running a script on boot cleaning out the unnecessary entries (OEM) to free as much as possible from the 32k available.

Just googled first hit:

There is also a link to a modified CFE. Maybe it works. GL!

Most modified cfe were/are for asuswrt/freshtomato/dd-wrt, linksys ea6 series and while some users flash their netgear r7000's.

There is one modified cfe to convert the d-link dir-868l to asus rt-ac66u but I'm not incline to go that far as to covert it to a asus model but I don't know for sure what the dir-885l size is for now.

But isn't there a way to protect the nflash partition from being overwritten for a situation like this?

The first part of the boot is spi then nand but the nflash is part of the oem and if the nvram is gone over 32k the router will become unstable and soft brick however it is recoverable, but it would be nice to know how to keep nflash safe?

Well, why not just installing OpenWrt and find it out. Beside its Broadcom and its only possible to run Wifi under OpenWrt with revsion A2 you cannot do much wrong. Otherwise you have to use DD-Wrt/Tomato anyway. For this you have to ask in their forum.

Although thanks for your input but I am already aware of most information, the only information I would like to know is my original question but perhaps someone that has already flashed openwrt can answer?

It would be unwise to purchase a router that is limited to 32kb, you know?

The scenario would have been, if the dir-885l was 64kb then yes purchasing it would be good and perhaps port it over to FreshTomato, they now support the wireless BCM4366 and enjoy both projects a win win but 32kb doesn't leave much space is the problem.

Currently d-link has done something with this gpl and I can not find it on their support site and this is the reason for the question on this forum and so maybe someone might be able to chime in.

I know dd-wrt supports this model but I find their firmware buggy on other models I own and become unstable and so I would rather use openwrt and if the nvram size is larger than 32kb I would work to get it supported over at FreshTomato.

Thanks for your help


OpenWrt does not use any nvram partition at all. If one exists in the stock partitioning scheme, it is not written to or read. Unlike ddwrt derived OSs, OpenWrt leaves it as it a reserved and unusable area-- in case the router is flashed back to stock firmware, the configuration settings will still be there. All OpenWrt user configurations and other alterable data are stored in the filesystem partition, which is large.

1 Like

I wasn't sure on how to ask the details on how openwrt does/saves data to a partition and if nvram is done the same or differently compared to dd-wrt or freshtomato.

Thanks you and I guess asking a couple of question is probably get no response?

Does this only work on a newer kernels?


Completely forgot this point. So size does not matter at all.

This is not kernel dependent. It was introduced with UCI.
But from my understanding: NVRAM is similar to ART partition on other devices. So it has to be at least in a good shape before flashing. I'm not sure what the bootloader is using to configure the device or even if OpenWrt is relaying on some data from. Clearing NVRAM was at least in the past part of a full reset by OpenWrt.

From the Wiki:

The partition or partitions containing so called Special Configuration Data differ very much from each other. Example: The ART-partition you will meet in conjunction with Atheros-Wireless and U-Boot, contains only data regarding the wireless driver, while the NVRAM-partition of broadcom devices is used for much more than only that. There are special utilities to access and modify special configuration partitions.

Note that clearing these special configuration data partitions like ART, NVRAM and FIS does not clear much of OpenWrt's configuration, unlike other router software which keep configuration data solely in e.g. NVRAM.

So this last sentence is indicating that some parts are used on some devices. So at least it uses some data from NVRAM.

As this does not matter I would say the wiki about the device is right with 64k in size. But this does not matter if stock bootloader is bugged in conjunction with stock firmware or DD-Wrt or Fresh Tomato.

This bit of information helps on openwrt and at the same time doing research with key words may help me find what I'm looking to learn on a project of mine.

Thanks for helping

Although it doesn't really solve my question I'll close this thread.

Best regards

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.