I moved this problem from a previous thread because I have isolated the problem. When my computer boots, I can see that the regulatory domain is set to US.
sudo iw reg get
country US: DFS-FCC
I can successfully connect to my network, and ping other devices on the network. After about 4 minutes, I lose my network connection and my regulatory domain resets to global.
sudo iw reg get
country 00: DFS-UNSET
I have had trouble setting my regulatory domain using crda. The file /etc/default/crda is populated appropriately:
REGDOMAIN=US
However the output of $crda is always:
COUNTRY environment variable not set.
My workaround was to add a config file for the cfg80211 module, at /etc/modprobe.d/cfg80211.conf, with the following:
options cfg80211 ieee80211_regdom=US
The cfg80211 module appears to successfully set the regulatory domain, until some module which is loaded at ~4 minutes overrides the reg domain. How can I track down and change the module which overrides the reg domain?