Wi-Fi Not Connecting
Linux Linux
Severity: ModerateWhat Does This Error Mean?
Wi-Fi not connecting on Linux is a common issue — especially after a Linux installation, kernel update, or when using less common wireless cards. Symptoms range from the Wi-Fi network not appearing at all, to connection attempts that fail repeatedly, to connecting but getting no internet access. The root cause is often a missing or incompatible wireless driver, an incorrect password, or a driver regression after a kernel update.
Affected Models
- Ubuntu
- Debian
- Fedora
- Arch Linux
- Linux Mint
- openSUSE
- Raspberry Pi OS
Common Causes
- The wireless card driver is not installed or is not compatible with the installed kernel version
- The wireless firmware package (non-free firmware) is not installed on the system
- The Wi-Fi password was entered incorrectly or the network security settings changed
- NetworkManager or the wpa_supplicant service is not running or has crashed
- A kernel update replaced the wireless driver with an incompatible version
How to Fix It
-
Check if the wireless adapter is detected. Type: ip link show or iw dev — if no wireless interface (wlan0, wlp2s0, etc.) appears, the driver is not loaded. Also check: lspci | grep -i wireless or lsusb | grep -i wireless
If the adapter is detected but not the network, the driver is present but may have issues. If not detected at all, you need to install or load the driver.
-
Install wireless firmware if missing. On Debian/Ubuntu: sudo apt install firmware-iwlwifi firmware-realtek firmware-atheros (non-free) — on Fedora: sudo dnf install linux-firmware — then reboot.
Many wireless cards require proprietary firmware that is not installed by default on some distributions. This is especially common on Debian and its derivatives.
-
Restart NetworkManager. Type: sudo systemctl restart NetworkManager — then check if available networks appear.
NetworkManager manages Wi-Fi connections. If it crashed, restarting it usually brings back Wi-Fi immediately.
-
Forget and reconnect to the network. In the network settings GUI, click the Wi-Fi network > Forget. Then reconnect by clicking the network and re-entering the password carefully.
A saved incorrect password will silently cause repeated connection failures. Forgetting and re-entering the password eliminates this possibility.
-
Check for kernel module issues. Type: sudo dmesg | grep -i 'iwl\|wlan\|wifi\|firmware' to check for driver error messages. If you see 'firmware: failed to load' messages, the firmware package for your card needs to be installed.
The dmesg output at boot time shows exactly what the kernel is saying about your wireless hardware. Firmware load failures point directly to the missing package.
When to Call a Professional
If the wireless adapter is completely undetected by Linux even after installing firmware packages, the adapter may be on a very new or exotic chipset with no Linux driver yet. A USB Wi-Fi adapter from a Linux-compatible brand (Realtek, Atheros) is an inexpensive workaround.
Frequently Asked Questions
My Wi-Fi worked before a kernel update and now it does not. Why?
Kernel updates sometimes change how drivers are compiled or replace the driver entirely. Your wireless card's driver may not be compatible with the new kernel version. Try booting the previous kernel from the GRUB menu (available under Advanced options) to confirm. If Wi-Fi works on the old kernel, report the regression to your distribution and wait for a fix, or manually install a compatible driver version.
Connected to Wi-Fi but no internet — what is wrong?
This is a different problem from not connecting. If you connect to Wi-Fi but have no internet access, the issue is likely DNS, the router, or the ISP — not the Linux Wi-Fi driver. Test with: ping 8.8.8.8 — if that works but websites do not, DNS is broken. If 8.8.8.8 does not respond, the problem is with the router or ISP.
How do I connect to Wi-Fi from the command line with no GUI?
Use the nmcli tool (NetworkManager command-line interface). Scan for networks: nmcli dev wifi list Connect to a network: nmcli dev wifi connect 'NetworkName' password 'YourPassword' This works without any graphical desktop and is very useful for server setups or when the GUI is unavailable.