Posted: Tue Jun 15, 2021 22:22 Post subject: Full working nvram-dd-wrt.ini file
The attached nvram-dd-wrt.ini file covers these features, at least in my application on a Netgear R7000P router:
- Wireless wl0, wl0.1, and wl1. For the isolated wl0.1, the vars cover secondary DHCPD, and related bridging.
- DHCP server for main and guest network
- Port forwards
- static IP assignments
- USB as storage
- Access restrictions for some MACs
- NTP setup
- DDNS (Custom settings group 5)
- SSHd setups, Telnet disabled
I can successfully restore all used router features from a generated restore file.
Posted: Wed Jun 16, 2021 4:59 Post subject: Re: Getting Custom DDNS to work (R7000P)
Nice work! That's terrific that you can restore all your settings after a reset just by running a script. No more mistakes and wasted time manually re-entering settings!
cjnaz wrote:
Probably several of these are unnecessary. I simply took everything that was there after I manually setup to DDNS after a Restore Factory Defaults. New items that were not in my non-working attempt are (ignoring the _buf vars):
Code:
ddns_cache (my current WAN IP value)
ddns_change (=update << The likely culprit?)
ddns_dyndnstype (no assigned value)
ddns_dyndnstype_6 (no assigned value)
ddns_time (timestamp)
Can all of the _buf vars be safely ignored? Do they map to the text fields on the webUI, and will dd-wrt correctly fill in the webUI fields to match what's in the non-_buf vars?
I'm just a user who gained a superficial knowledge of the code by compiling my own build and investigating the bugs that annoyed me. I don't know what all the variables do, for example I can see ddns_change being set here but can't find where the value is ever used. My concern is that throwing in many possibly unnecessary variables could have side effects especially for someone with a different router. It might be a good idea for me to include your nvram-dd-wrt.ini in the tar distribution under a different name at least for a beta period. Thoughts?
Posted: Wed Jun 16, 2021 15:39 Post subject: Re: Getting Custom DDNS to work (R7000P)
yoyoma2 wrote:
It might be a good idea for me to include your nvram-dd-wrt.ini in the tar distribution under a different name at least for a beta period. Thoughts?
Sure. In the current use model, everyone will have to customize their nvram-dd-wrt.ini file.
Two thoughts...
1) I'm curious if restoring all var in the -all file would cause any problems, at least for the same model router and major revision range. If restoring all the vars works then having to find all the desired vars can be eliminated. Perhaps a generic vars exclude file could filter out known problem vars, rather than an include approach?
2) I noticed that after a Restore Factory Defaults that if I load my generated nvram-restore file with the Clean NVRAM option that I get a lot of skipped vars, which leads to a broken restore. It seems that many vars are not known after a reset, and are created on-the-fly normally be interacting with the webUI. So Clean restore doesn't seem appropriate even for a migration to a different router model.
When I ported nvram-save in 2019, I created an nvram-dd-wrt.ini file for the GUI settings I cared about at the time. As missing GUI settings get added to nvram-dd-wrt.ini, eventually all settings will be there. I foresee different nvram-dd-wrt.ini files for different router families but not much customization per user.
1) Saving and restoring everything already exists in dd-wrt. The down side is you need to restore to the same router, same build number. The same rules would apply if nvram-save was doing it.
2) I haven't tried the "Clean Restore" option (or the migrate mode which automatically turns on clean restore). Dd-wrt does indeed generate many nvram variables on the fly and "Clean Restore" only restores values of already existing variables. That's why nvram-dd-wrt.ini sticks with GUI/settings related variables as much as possible.
The new build notification email now contains a "Newest version" line identifying the latest build date & number.
Also added the REPEATEDEMAILS keyword to checknewversion.ini.sample so you can decide if you want to receive repeated emails about the same build or not. With REPEATEDEMAILS set to 'Y' you receive the same email notification every time checknewversion.sh is run (old behavior). With REPEATEDEMAILS set to 'N' you receive a single email notification until BS posts another new build.
Mine is a US device. I'll check when I get home, but from memory:
DD_BOARD="TP-Link Archer C7 V2"
edit:
It should be DD_BOARD="TP-Link ARCHER-C7 v2"
in easyddup.ini you can set the firmware file name
EDDUP_AUTO_SELECT_FILE='tplink_archer-c7-v2-US.bin'
can you share the output from easyddup when you get home?
Sure. Though, it's of note that I've not used this script. I only heard about it earlier in trying to make my own simple updating script more portable/automatic.
I think @kernel-panic69's suggestion on the other thread to contribute here makes sense. Better for the community to have a complete upgrade script than several incomplete ones. Of course you can only contribute to something if you know it exists...
Also @IONK's excellent suggestion to use EDDUP_AUTO_SELECT_FILE seems like it could work. Unfortunately to make a script that would automatically work on all routers without any manual configuration would require some help from dd-wrt devs (BrainSlayer) and perhaps from certain router manufacturers.
After minimal initial setup, easyddup can be highly even fully automated. I'm only using the new build email notifications at the moment.
Mine is a US device. I'll check when I get home, but from memory:
DD_BOARD="TP-Link Archer C7 V2"
edit:
It should be DD_BOARD="TP-Link ARCHER-C7 v2"
in easyddup.ini you can set the firmware file name
EDDUP_AUTO_SELECT_FILE='tplink_archer-c7-v2-US.bin'
can you share the output from easyddup when you get home?
Since my build is currently up-to-date, all I get currently is:
Code:
All dd-wrt upgrade builds available online for 2021
Mine is a US device. I'll check when I get home, but from memory:
DD_BOARD="TP-Link Archer C7 V2"
edit:
It should be DD_BOARD="TP-Link ARCHER-C7 v2"
in easyddup.ini you can set the firmware file name
EDDUP_AUTO_SELECT_FILE='tplink_archer-c7-v2-US.bin'
can you share the output from easyddup when you get home?
Since my build is currently up-to-date, all I get currently is:
Code:
All dd-wrt upgrade builds available online for 2021