Skip to content

How to fix Raspberry Pi Wi-Fi that won't connect

Two Pi-specific gotchas cause "it just won't join", especially on a fresh headless install.

Symptom 1: Wi-Fi shows as "unavailable"

The Pi's radio is rfkill-blocked until you set the Wi-Fi country (a regulatory requirement). Until then nmcli device status shows wlan0 as unavailable.

sudo raspi-config nonint do_wifi_country IN     # your ISO country code
sudo rfkill unblock wifi
nmcli radio wifi on
nmcli device status                              # wlan0 -> 'disconnected', not 'unavailable'
sudo nmcli device wifi connect '<SSID>' password '<password>'
hostname -I                                      # did it get an IP?

Symptom 2: a 5 GHz network never associates

Under some regulatory domains (e.g. IN, India) the Pi only reliably uses the low UNII-1 channels — 36 / 40 / 44 / 48. DFS and higher channels are refused, so the Pi silently won't join a 5 GHz SSID broadcasting on them.

Fix (on the router): set the 5 GHz band to a fixed channel 36–48 — avoid "Auto", which can wander onto a channel the Pi rejects. This is a router-side setting; it can't be configured on the Pi.

Confirm it's a Pi-side issue

Check that another device joins the same 5 GHz SSID. If your laptop is happily on it at channel 36 with WPA2, the network is fine and the fix is the country/channel steps above — not the password or the router security mode.