TL;DR: If your Wi-Fi network is on channel 12 or 13, change the regulatory domain of your
wireless networking driver.
Recently I’ve had two completely separate incidents where newly reinstalled
Raspberry PI 3B’s couldn’t find my Wi-Fi networks. All sorts of neighboring
networks showed up but mine was nowhere to be found.
As it turns out my wireless access points were set up use 2.4GHz channel 12,
which is kind of a special case since it’s use is not allowed in some parts of
the world1 leading some devices to ignore it completely by default.
The fix, fortunately is easy. Open a shell and issue the following command:
echo "options cfg80211 ieee80211_regdom=DE" > /etc/modprobe.d/cfg80211.conf
DE with your applicable country code. I picked
DE because that’s what
my German-made access points broadcast so it seems like a safe bet for
This might not work for all distributions, but I found it to work on Raspbian and
LibreELEC at least.
It does lead me to think how other devices handle this. From ESP8266’s to Macbooks
I’ve never had this issue before.