Dumb AP reenables services upon updating the image (firewall, odhcpd, and dnsmasq) ... why?

I have a OW devices configured as a dumb AP. Of note are the following have been disabled per the wiki, firewall, dnsmasq, and odhcpd. When I flash it with a new image (kernel update for example), and reboot into that new image, these three services are re-enabled and running. Why? This does not occur on a normal reboot (ie one without the image flash).

The correct- and upgrade-safe way would be to disable these services for these (all) interface via their configurations, not to merely disable the initscript (you can do that in addition, but it doesn't replace the former).

Running /etc/init.d/whatever disable removes the corresponding symlink under /etc/rc.d/, which is normally shipped inside the firmware image - absense of a file (well, symlink in this case) can not be retained over an upgrade (as there's no programmatic way to distinguish between this being an intentional configuration change or just a change in pre-installed packages).

3 Likes

Thanks for the reply. Is the correct syntax to add a line like option enabled '0' to each of their respective config files (I assume /etc/config/dhcp and /etc/config/firewall)? I did not see such a line in there currently set to '1' for example.

I found this wiki page but I believe that is in reference to the symlinks. I hacked this up in my /etc/rc.local which will handle the symlinks and stop if they are running as a work-around:

# these do not run an APs
for i in firewall dnsmasq odhcpd; do
 if /etc/init.d/$i enabled; then
  /etc/init.d/$i disable
  /etc/init.d/$i stop
 fi
done
> /etc/config/dhcp
> /etc/config/firewall

That should clear the configs effectively "disabling" the respective services.

I don't understand... you're saying to clear the files, ie remove all the data from them (make them 0-byte files)?

Yep, that's what the above commands are supposed to do:
https://tldp.org/LDP/abs/html/io-redirection.html#:~:text=>%20filename

OK thanks. I wanted to make sure you are recommending zeroing them out.