How to Fix WiFi Not Working on Linux: Ubuntu, Fedora, and Debian Troubleshooting
WiFi not working on Linux? This step-by-step guide covers driver installation, NetworkManager fixes, and chipset-specific solutions for Ubuntu, Fedora, and Debian.
WiFi not working on Linux is one of the most common frustrations for new and experienced users alike. Unlike Windows or macOS, Linux distributions sometimes require manual steps to install wireless drivers—especially for Broadcom, Realtek, and Atheros adapters. This guide walks you through diagnosing and fixing WiFi on Ubuntu, Fedora, and Debian step by step.
Step 1: Check if Your WiFi Adapter Is Detected
Before fixing anything, confirm Linux can actually see your wireless hardware. Open a terminal and run:
lspci | grep -i wireless
lspci | grep -i network
lsusb
If your adapter appears (e.g., Realtek RTL8821CE or Intel Wi-Fi 6 AX200), Linux sees the hardware but may lack the driver. If nothing shows, it could be a hardware fault or the adapter may be disabled in BIOS.
Check the WiFi Interface Status
Run ip link show to list all network interfaces. You should see a wlan0 or wlp2s0 interface. If it shows DOWN, bring it up with:
sudo ip link set wlan0 up
Also check rfkill list—if your adapter is soft-blocked or hard-blocked, unblock it with sudo rfkill unblock wifi.
Step 2: Restart NetworkManager
NetworkManager is the service that manages WiFi connections on most Linux desktops. If it’s crashed or stuck, a restart fixes many issues instantly:
sudo systemctl restart NetworkManager
Then check its status with nmcli device status. Your WiFi adapter should appear as connected or disconnected—not unmanaged. If it shows unmanaged, add the interface to NetworkManager by editing /etc/NetworkManager/NetworkManager.conf and setting managed=true under the [ifupdown] section.
Step 3: Install Missing WiFi Drivers
Missing or incompatible drivers are the most common root cause of Linux WiFi problems. Each distro handles this differently.
Ubuntu and Ubuntu-Based Distros
Ubuntu includes a tool that detects and installs proprietary drivers automatically. Connect via ethernet or a USB mobile hotspot first, then run:
sudo ubuntu-drivers autoinstall
Alternatively, open Software & Updates → Additional Drivers to see available proprietary drivers and install from a GUI. Reboot after installation.
For Intel adapters, installing the generic firmware package often resolves the issue:
sudo apt update && sudo apt install linux-firmware
Fedora
Fedora ships only open-source drivers by default. Broadcom WiFi cards—common in older MacBooks and HP laptops—require proprietary drivers from RPM Fusion. Enable the repositories first:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Then install the Broadcom kernel module:
sudo dnf install akmod-wl
For Intel adapters, install the matching firmware package (check lspci output for your exact model):
sudo dnf install iwl7260-firmware iwl8265-firmware iwlax2xx-firmware
Debian
Debian’s strict free-software policy means proprietary firmware lives in a separate non-free-firmware component. Edit /etc/apt/sources.list to add non-free-firmware to your main line, then install the appropriate package for your chipset:
# Intel WiFi
sudo apt install firmware-iwlwifi
# Realtek
sudo apt install firmware-realtek
# Broadcom
sudo apt install broadcom-sta-dkms firmware-b43-installer
After installing Intel firmware, reload the driver module without rebooting:
sudo modprobe -r iwlwifi && sudo modprobe iwlwifi
Step 4: Connect from the Command Line
If your adapter is up but the desktop GUI isn’t showing networks, bypass it with nmcli:
nmcli device wifi list
sudo nmcli device wifi connect "YourNetworkName" password "YourPassword"
Or scan manually with iwlist:
sudo iwlist wlan0 scan | grep ESSID
Step 5: Fix WiFi Broken After a Kernel Update
Kernel updates can break third-party DKMS drivers because they must be recompiled for the new kernel version. This is especially common with Broadcom drivers.
On Ubuntu, reinstall the driver package to trigger a recompile:
sudo apt install --reinstall bcmwl-kernel-source
On Fedora, akmod should rebuild automatically, but you can force it:
sudo akmods --force && sudo dracut --force
Step 6: Disable WiFi Power Management
Linux’s power-saving mode can cause intermittent drops and reduced speeds, especially on laptops. Check whether it’s active:
iwconfig wlan0 | grep "Power Management"
If it shows Power Management:on, disable it for the current session:
sudo iwconfig wlan0 power off
To make this permanent, create /etc/NetworkManager/conf.d/wifi-powersave-off.conf with the following content:
[connection]
wifi.powersave = 2
Then restart NetworkManager to apply it.
Distro-Specific Quick Reference
- Ubuntu: Run
ubuntu-drivers autoinstallfirst. Broadcom and Realtek issues are almost always solved by the Additional Drivers tool. - Fedora: Intel adapters typically work out of the box. Broadcom requires RPM Fusion and
akmod-wl. Fedora 41+ users should check for known kernel bugs in the release notes. - Debian: Enable
non-free-firmwarein sources. Without this, many Intel, Realtek, and Broadcom adapters will not load their firmware at boot.
Last-Resort Fixes
If none of the steps above resolved your issue, try these additional checks:
- Check BIOS/UEFI: Some laptops have a hardware WiFi switch or a BIOS setting that disables the wireless adapter entirely. Look for a “Wireless” or “WLAN” toggle in your firmware settings.
- Read kernel logs: Run
dmesg | grep -i wifiordmesg | grep -i wlanright after boot to see driver error messages that pinpoint the exact failure. - Try a USB WiFi adapter: Adapters based on the Mediatek MT7601U or Realtek RTL8188GU chipsets are plug-and-play on all major Linux distros with no extra drivers needed—a fast workaround while you troubleshoot the built-in card.
Once your WiFi is working, run a speed test to verify you’re getting the speeds your plan promises. If the numbers are disappointing, see our guide on why WiFi is slow for further optimizations, or check our channel optimization guide to reduce interference.
Related Articles
How to Fix WiFi Driver and Connection Issues on Linux: Module Loading, NetworkManager, and WPA_Supplicant Fixes
WiFi not working after a Linux install or kernel update? This guide walks through diagnosing and fixing driver module failures for Intel, Realtek, and Broadcom adapters, plus NetworkManager and wpa_supplicant authentication errors.
How to Fix WiFi Issues on Raspberry Pi: Slow Speeds, Drops, and Connection Failures
Raspberry Pi WiFi problems range from “can’t connect at all” to frustrating random drops and mysteriously slow speeds. This guide walks through every fix — from country codes and rfkill to HDMI interference and WPA3 compatibility.
How to Fix Ethernet Not Working on Windows, Mac, and Linux
Ethernet plugged in but no internet? From a dead cable to a corrupted driver, here are every cause and fix for wired connections that won’t work — on Windows, Mac, and Linux.