What's new

Is it possible to have reboot warnings?

  • 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!

sbsnb

Very Senior Member
Unless you have them memorized, hitting the "apply" button when making configuration changes is a gamble. Sometimes it just restarts the affected service, sometimes it resets the radios, and sometimes it triggers a full-blown router reboot. It would be handy if the user could be warned what was going to happen before it was too late. Maybe I'd wait to make that change until late at night if it's going to reboot the router while someone's watching Netflix.
 
I was curious how many pages might trigger a reboot.
Code:
# grep -l "action_script.*reboot" /www/* 2>/dev/null
/www/Advanced_FirmwareUpgrade_Content.asp
/www/Advanced_IPTV_Content.asp
/www/Advanced_LAN_Content.asp
/www/Advanced_Modem_Content.asp
/www/Advanced_SwitchCtrl_Content.asp
/www/Advanced_System_Content.asp
/www/Advanced_VPNClient_Content.asp
/www/Advanced_VirtualServer_Content.asp
/www/Advanced_WANPort_Content.asp
/www/Advanced_WAdvanced_Content.asp
/www/Advanced_Wireless_Content.asp
/www/AiProtection_HomeProtection.asp
/www/AiProtection_InfectedDevicePreventBlock.asp
/www/AiProtection_InfectedDevicePreventBlock_m.asp
/www/AiProtection_IntrusionPreventionSystem.asp
/www/AiProtection_IntrusionPreventionSystem_m.asp
/www/AiProtection_MaliciousSitesBlocking.asp
/www/AiProtection_MaliciousSitesBlocking_m.asp
/www/AiProtection_WebProtector.asp
/www/GameBoost.asp
/www/Guest_network.asp
/www/QoS_EZQoS.asp
/www/start_apply.htm
/www/start_apply2.htm
/www/state.js
 
I like the way some things that require rebooting in Windows work: they'll say a reboot is necessary to make the changes effective and ask if you want to reboot now or later. It would be nice to be able to apply the changes (setting NVRAM variables, etc.) without the reboot so that the next reboot would make them take effect. Then the user could just schedule a reboot for some convenient time when nobody's using the internet.
 
Sometimes there's a dependency based on a current setting. One that surprised me Protected Management Frames. You can toggle it between Capable and Enabled and it wont reboot, but if it was off and you switch it to one of the others, it will.

It probably would require extensive rework of the web page code, but in the off-chance that it can be.
A good example of this UX design is the old DD-WRT - where every page had a 'SAVE' and 'APPLY'. APPLY would do the same thing as it does now, but SAVE just set the variable and not actually apply the setting. In the case where a configuration change that required a reboot was detected, t would alert the user that a pending change needs a reboot with a new icon in the status area.

1623586928802.png
 
It probably would require extensive rework of the web page code
I'm hoping that there's a centralized place where that logic is programmed. If all the settings pages post to the same code (for example) it would be a simpler matter to rejigger the code right at the point where the reboot is called. Maybe throw a dialog that just says "Reboot now, or later?" "Now" selects the built-in behavior and the "later" could either set the necessary NVRAM variables and call it a day, or if we're getting really fancy it could ask the user to schedule the reboot and make a cron job that runs a script to reboot at the scheduled day/time and then deletes the cron job (so it's one time only).
 
Last edited:
I'm hoping that there's a centralized place where that logic is programmed.

This logic has to be different for different hardware platforms. In my experience changing the same settings in AC68U vs AC86U may trigger reboot in one, but not the other.
 
This logic has to be different for different hardware platforms. In my experience changing the same settings in AC68U vs AC86U may trigger reboot in one, but not the other.
But that logic is already there. We can still insert our customization starting on the line before the line that triggers the reboot. If it's different for different routers I would explore making a custom reboot function and replacing the stock calls to reboot with a call to our function.
 

Sign Up For SNBForums Daily Digest

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