In fact there are 5 places where nvram variables are stored for 384/386/388 HND routers:
The first one is called misc1
partition, written by the manufacturer at the time of manufacture, where parameters cannot be modified directly, usually wireless power and MAC address are locked here. (usually we call it CFE parameters, although it is not responsible for bootloading at all)
The second is the modifiable nvram that everyone is talking about. It is stored in the misc2
partition. the corresponding partitions are different on different models. for AC86U, it becomes the mtd9
partition in the firmware. this partition has the same non-volatile memory as /jffs/
. the difference is that the user cannot directly read and write the partition, it must be done through the nvram program.
The third and fourth are the backup and expansion of misc2
, which are stored in the /jffs/
and /data/
partitions, (that is what the OP and ColinTaylor mentioned), both of which have non-volatile memory, but since they are usually direct backups of misc2
, so modifying them does not make nvram changes take effect.
The fifth is the nvram stored in the memory. After each boot, the system will load the variables saved in misc1
and misc2
into the volatile memory, and change some of the variables, but some changes are only used in the current system, they will not be saved, and the original variables will be reloaded at the next boot. When you use the nvram set xxxx
command, it is just saved to memory, the system can load the changes you committed, but after power off it will disappear, unless you use the nvram commit
command to save it to misc2
.