What's new

'Router running low on free NVRAM' yellow alert notice

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Virtual memory has no bearing on NVRAM usage.

You are correct Colin. I need to read carefully. He is running out of disk space, not RAM.

If some quick looks at logs and temp don't find it I agree with the advice to reset and load again.
 
The list doesn't add up.... Not sure why the free amount doesn't calculate.

Sorry to say, Factory Reset Default is your friend...

I would at least give it a try - before nvram is exhausted and crash will be imminent.
 
The strange thing is that there was no such problem at 384.19. The problem appeared at 386.1_2. An open question - how to calculate what takes up space in NVRAM?
NVRAM usage: 64414 / 65536 bytes
Uptime: 20h
 
Note, my router is one I'm using in the lab for testing purposes, so it's probably not representative of someone using the same router for their primary router. But it does have a configured OpenVPN client. And strangely these variables called vpn_client_cust2 and vpn_client1_cust2, which appear to contain some sort of cert or key (usually such things are stored in jffs).
It's base64-encoded content of your Custom section in OpenVPN.
 
NVRAM is not disk space. It is a part of the router's flash memory used to store configuration variables.
It is flash memory formatted as a file system. The boot code and OS is also on the same flash and all filesystems reside on disk weather called Solid State Disk (Flash Memory), USB Thumb Drive (flash memory) or Non Volatile Memory.
 
It is flash memory formatted as a file system.
No it isn't. The "NVRAM" part of the flash memory we are talking about is not formatted with a filesytem (unlike other parts of the flash memory which are). It cannot be mounted. Therefore he cannot "look at logs and temp" on it.

N.B. To be clear, I'm specifically talking about what the warning message is calling "NVRAM" and not the generic acronym for all types of non-volatile memory.
 
No it isn't. The "NVRAM" part of the flash memory we are talking about is not formatted with a filesytem (unlike other parts of the flash memory which are). It cannot be mounted. Therefore he cannot "look at logs and temp" on it.

N.B. To be clear, I'm specifically talking about what the warning message is calling "NVRAM" and not the generic acronym for all types of non-volatile memory.

Even if not a file system, you just proved it's disk. It's a critical data in proprietary format residing on the same disk as the other file systems.
 
It's base64-encoded content of your Custom section in OpenVPN.

Ah, that makes sense. I wasn't expecting it to be encoded, so it threw me. And I have a lot in the field (mostly additional remote directives), which explains the size.

Btw, why is it in there twice? Each variable seems to hold the exact same value. Given the size, it's a bit concerning. I only have the one OpenVPN client (#1) defined.
 
Even if not a file system, you just proved it's disk. It's a critical data in proprietary format residing on the same disk as the other file systems.
Not at all. A disk is a disk, flash memory is flash memory. Just because a particular storage device may contain a filesystem it doesn't make that storage device a disk.

Regardless of what you want to call it he still can't mount it and "look at logs and temp" on it.
 
Last edited:
Perhaps there are unused parameters? How can I find them?
 
Perhaps there are unused parameters? How can I find them?

Depends on how you define "unused". There are typically lots of unassigned values to variables, if only because the parts of the system to which they pertain are not configured (e.g., some or all the OpenVPN clients and servers). I suppose you *might* be able to remove (unset) those variables to increase nvram space, but you risk unexpected side-effects. But if I was ***really*** desperate enough, I might consider trying it. But be prepared for a non-bootable GUI, and the need to use tftp to reinstall the firmware. There is always some risk anytime you're dealing w/ nvram, esp. the kind of change I assume you're considering.
 
Why not check the difference between your current settings and a factory reset with manual setup?

1. Save a config backup via the GUI.
2. Run this command over SSH to save the text of NVRAM to a file (fix the path to match your environment).
Bash:
nvram show 2>/dev/null | sort > /tmp/mnt/USB/nvram_before.txt
3. Factory reset and do a manual config.
4. Run this command over SSH to save the text of NVRAM to a file (fix the path to match your environment).
Bash:
nvram show 2>/dev/null | sort > /tmp/mnt/USB/nvram_after.txt
5. Run a diff/compare on the before and after file using your favorite diff tool (UNIX diff, WinMerge, Notepad++ Compare plugin, etc.).

Whatever is in the before file, but not the after file, was likely crud from old versions. If you don't like the results, restore your config from the first step.
 
Btw, why is it in there twice? Each variable seems to hold the exact same value. Given the size, it's a bit concerning. I only have the one OpenVPN client (#1) defined.

vpn_client_* and vpn_server_* are the scratchpad variables used by the webui to read and write settings. The web server then handles copying it to/from the appropriate instance (vpn_client1_*, vpn_client2_*, etc...)
 
vpn_client_* and vpn_server_* are the scratchpad variables used by the webui to read and write settings. The web server then handles copying it to/from the appropriate instance (vpn_client1_*, vpn_client2_*, etc...)

Ouch!

Thanks.
 
Not at all. A disk is a disk, flash memory is flash memory. Just because a particular storage device may contain a filesystem it doesn't make that storage device a disk.

Regardless of what you want to call it he still can't mount it and "look at logs and temp" on it.

Wow! What dose SSD stand for?
 
Solid State Drive

A solid-state drive (SSD) is a solid-state storage device that uses integrated circuit assemblies to store data persistently, typically using flash memory, and functioning as secondary storage in the hierarchy of computer storage. It is also sometimes called a solid-state device or a solid-state disk, even though SSDs lack the physical spinning disks and movable read–write heads used in hard disk drives (HDDs) and floppy disks.

Reference:
 
A solid-state drive (SSD) is a solid-state storage device that uses integrated circuit assemblies to store data persistently, typically using flash memory, and functioning as secondary storage in the hierarchy of computer storage. It is also sometimes called a solid-state device or a solid-state disk, even though SSDs lack the physical spinning disks and movable read–write heads used in hard disk drives (HDDs) and floppy disks.

Reference:
Exactly. So what's your point? The router doesn't have an SSD. As the wiki entry says, they were sometimes called a solid-state disk (although I don't believe that was ever an official term) because they were drop in replacements for HDDs and emulated the form factor, interface, geometry and control commands of a HDD. None of those characteristics apply the the router's flash memory.


Just because an SSD contains flash memory doesn't mean that all flash memory is an SSD.

At the end of the day if you want to use the terms disk, drive, flash and nvram interchangeably that's up to you. But to me they mean distinctly different things.
 
It is flash memory formatted as a file system.

No it's not. It's flash memory accessed through an API, there is no filesystem used there.
 

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top