I have been playing with my new RaspberryPi 3 and was wondering why I couldn’t connect to my home WiFi network. I had recently changed the channel that my network broadcasts on (so long all you suckers using channel 6!) to channel 13 so I figured that might be the reason.

To confirm I ran;

  sudo iwlist wlan0 channel

Which reports on all the channels your wireless network card can see, for me this went up to 11. This is fine for Spinal Tap but not fine for me!

The issue is that the firmware on the Pi hasn’t been set up to look for those higher channels, which is odd considering the United Kingdom allows these channels and it is a UK company.

With some help from the RasberryPi Stackexchange website I was able to piece the solution together. I want to share it here in case the question ever goes away.

  sudo raspi-config (set Wifi Country to GB, or a country that works for you)
  sudo apt-get update
  sudo apt-get upgrade
  sudo apt-get dist-upgrade
  sudo rpi-update
  shutdown -r now
  sudo rpi-update 41f8b4812ad653abf321b8c54cb4bee57ebdb129
  shutdown -r now

What this does is;

  1. Sets your country code for WiFi, not all countries allow Channels 12 and 13. GB should work, as should NO.
  2. Updates the files used to go looking for updated software
  3. Updates your local software
  4. Updates your local operating system
  5. Updates your firmware
  6. Restarts your Pi
  7. Updates your firmware to 4.4.3 (master is 4.1.8 at the moment)
  8. Restarts your Pi again

If you run the first test we did again you should hopefully see channels 12 and 13 come up.