My Raspberry Pi 4 WiFi Hell

I think I may have finally gotten to the bottom of my Raspberry Pi 4 WiFi problems.  I installed Ubuntu 18 and the WiFi networking never worked properly.  It would work sometimes, then drop off randomly.  I thought it might be a hardware problem and returned the unit for a new one.  Still the same.  Thought it could be a power supply issue, so I offloaded everything on the USB to a powered USB hub.  It ran a bit cooler but that wasn’t it either.  There were lots of reports of signal issues when using certain hi-def HDMI modes on the monitor.  Nope that wasn’t it either.  I had a fancy metal heatsink case which was rumored to cause WiFi problems.  Nope.

Gave up an bought a USB dongle which appeared to work at first, then it didn’t.  Later I put the WiFi dongle on the end of a short USB cable, thinking that moving the WiFi away from the actual Raspberry Pi 4 unit might do something,  It seemed to work for a while. Then I upgraded to Ubuntu 20 (because I accidentally trashed my SD card).  Well, it was time to upgrade anyway.

After the upgrade there was no WiFi at all.  Found out that it had to be enabled in /etc/network-config.  Things were looking up.  Now I could boot up and see a reasonable WiFi.  But soon it deteriorated again.  More googling lead to all sorts of people with similar problems, including people using different versions of the Cypress firmware.  I didn’t want to go there. I would use a wired ethernet and wait for a fix if I had to.

Yesterday I read something that sounded worth pursuing.  Some people had WiFi set to the wrong country (UK for instance).  That would be a problem. I also noticed my 5 GHz WiFi wasn’t showing up.  Probably a warning sign I had ignored too long.

I’m not a networking or WiFi guy (and I don’t really want to be one) but a quick look turned up my WiFi country set to “country 00: DFS-UNSET“.  Probably not what I want.  Manually set it with “sudo iw reg set US” and immediately I saw my 5 GHz WiFi!  Seems more stable, and it should be.  Now I just have to figure out where to set this in the file system so I don’t have to remember to type this command after every reboot.