· Networking · 2 min read
The '?' on the WiFi icon that won't go away across Ubuntu 24, 25, 26
I've now set up Ubuntu 24, 25, and 26 across various machines, and on every release the same small irritation shows up: the WiFi indicator in the system tray paints a ? overlay over the icon. The network is fine. Pages load, SSH stays open, calls don't drop. The icon is just lying.
Same cause, same workaround, three releases in a row. Writing it down because I keep having to look it up.
What's going on
NetworkManager probes a URL on a timer to classify your link as full, limited, portal, or none. That classification is what GNOME's network indicator turns into either a clean WiFi glyph or one with a ? painted on. The same probe drives captive-portal detection — the login popup you get on hotel WiFi.
On Ubuntu the default probe target is connectivity-check.ubuntu.com. When that endpoint doesn't return a clean response, your icon goes to ? while your actual network keeps working. You can read the state directly:
nmcli networking connectivity
# or to force a fresh probe:
nmcli networking connectivity check
If that prints limited or portal while you're clearly online, the probe is wrong — not your network.
The workaround: point it elsewhere
GNOME hosts an endpoint specifically for this. Drop in a config file:
sudo tee /etc/NetworkManager/conf.d/20-connectivity.conf > /dev/null <<'EOF'
[connectivity]
uri=http://nmcheck.gnome.org/check_network_status.txt
EOF
sudo systemctl restart NetworkManager
Wait one probe cycle, the ? clears. Verify:
nmcli networking connectivity
# full
Captive-portal detection still works — the check is still running, just pointed somewhere else.
Why I don't just turn it off
You can disable the check entirely if you don't care about captive portals (enabled=false instead of the uri= line). I do care — every airport and hotel I've used recently relies on that detection to pop up the login page. Disabling it means noticing "the internet is broken" and opening a browser to log in manually.
So I keep the check. I just don't point it at the endpoint that doesn't work.
Why this hasn't been fixed
I don't know. It's a one-line default change. Ubuntu has shipped this same friction across at least three releases I've personally installed. If you're setting up a fresh machine, the drop-in above is two minutes and saves you the visual tic forever.