I have three OpenWrt devices, in two different locations. One of them is a TP-Link WRD4300, that I use as a dumb access point.
On this device only, after the device has been running for months, both radios shut down. When this happens, I log into the device, and see a "option disabled '1'" line on each radio.
The first time this happened, I thought "this is weird". The second time I thought "perhaps I added those lines, without rebooting the device, and I do not remember now". But this has happened again, and now I am pretty sure it was not me.
I am not paranoid, I do not think any government is after me. And I use very strong passwords for wifi and SSH, I am convinced there isn't a neighbor hacking into my network.
All other options discarded, I think it has to be some piece of software running in this machine, that disables both wifi radios. But I cannot think what, why, or how...
This device runs a stripped down image, that I build using the image builder. There is no LuCi interface where I could be doing this myself by mistake. And this has happened with several versions of OpenWrt.
Does anyone have an idea of what could be happening here?
It looks like a switch not button and often on other routers they are configured by default
the only notable thing is tho the config changes it's not saved
so a power cycle will return the saved config
that's at lest for the toggle buttons on my devices
The device has a little "wifi on/off" switch on the back (pretty close to the power button); I am pretty sure nobody has been playing with that switch, and it's probably a hardware glitch, but somehow the device has been detecting "action" on this switch and disabling wifi.
Case closed, many thanks everybody for your help!!!
The switch or button will call a script in /etc/rc.button (probably named rfkill) that changes the config. Find that script and remove it, or chmod -x the file to remove execute permission.
I'd add logging to it logger "Dying now env=$(env) locals=$(set)" or something, comment out the "kill" lines and leave it on to see if I could use it to figure out the circumstances under which it was being triggered...