How to Fix WiFi Not Working on Linux: Ubuntu, Fedora, and Debian Troubleshooting
WiFi not working on Linux? Whether you're on Ubuntu, Fedora, or Debian, this guide covers every fix — from missing drivers and rfkill blocks to NetworkManager issues and Broadcom adapter quirks.
WiFi issues on Linux are frustrating precisely because the causes are so varied: a missing kernel driver, a firmware blob locked behind a non-free repository, a soft block from rfkill, or a NetworkManager misconfiguration. The good news is that the fixes are systematic. Work through the steps below in order and you’ll isolate the problem in minutes.
Step 1: Check Whether Linux Sees Your WiFi Adapter
Before touching any settings, confirm that the kernel is even aware of your wireless hardware.
For PCI/PCIe adapters (built-in laptop cards, desktop cards)
lspci | grep -i wireless
You should see a line like Network controller: Intel Corporation Wi-Fi 6 AX200 or Qualcomm Atheros QCA6174. If this returns nothing, your adapter is either physically unseated, disabled in the BIOS, or broken.
For USB WiFi adapters
lsusb
Look for your adapter’s brand name. If it’s absent, try a different USB port or test the adapter on another machine.
If your adapter is detected but WiFi still doesn’t work, move on to the driver check.
Step 2: Check Whether a Driver Is Loaded
A detected adapter isn’t necessarily a working adapter — it also needs a kernel driver (module).
lspci -k | grep -A3 -i wireless
Look for the Kernel driver in use: line. If it says something like iwlwifi, ath10k_pci, or rtw89, a driver is active. If that line is missing entirely, no driver is loaded and you need to install one.
You can also check loaded modules with:
lsmod | grep -E "iwl|ath|rt2|rtw|brcm"
Step 3: Install the Missing Driver
The right package depends on your chipset and your distro.
Ubuntu and Ubuntu-based distros (Mint, Pop!_OS, etc.)
Ubuntu ships a hardware database tool that auto-detects recommended drivers:
sudo ubuntu-drivers autoinstall
For Broadcom adapters specifically:
sudo apt install bcmwl-kernel-source
For Intel adapters that need firmware blobs:
sudo apt install firmware-iwlwifi linux-firmware
After installing, reload the module:
sudo modprobe iwlwifi
Debian
Debian’s default repositories exclude non-free firmware. You need to add the non-free and non-free-firmware components to /etc/apt/sources.list, then:
sudo apt update
sudo apt install firmware-iwlwifi firmware-realtek firmware-atheros
Install whichever firmware package matches your chipset. Reboot after installation.
Fedora
Fedora ships most drivers out of the box but withholds proprietary firmware for Broadcom and some older Realtek chips. Enable RPM Fusion first:
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install broadcom-wl
For Intel adapters on Fedora, the firmware is usually already present via the linux-firmware package:
sudo dnf install linux-firmware
Reboot after any firmware or driver installation.
Step 4: Check for an rfkill Block
rfkill is a kernel subsystem that can disable wireless hardware in software (“soft block”) or hardware (“hard block”). A soft block is often toggled by a function key (Fn+F2, Fn+F3, etc.) or set by a misconfigured daemon.
rfkill list all
Sample output:
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
To remove a soft block:
sudo rfkill unblock wifi
If it shows Hard blocked: yes, the physical WiFi toggle switch on your laptop is off, or WiFi is disabled in the BIOS. Press your laptop’s WiFi key or enter the BIOS/UEFI firmware settings to re-enable it.
Step 5: Restart NetworkManager
NetworkManager is the daemon that manages network connections on most desktop Linux distributions. If the driver loads fine but you can’t connect to a network, a simple service restart often fixes it:
sudo systemctl restart NetworkManager
Then check the status of your wireless interface:
nmcli device status
If your WiFi adapter shows as unmanaged, NetworkManager is ignoring it. This is usually caused by a stale entry in /etc/network/interfaces (Debian/Ubuntu) or an equivalent config file. Comment out or remove any lines referencing your wireless interface from that file, then restart NetworkManager.
Step 6: Connect to a Network via Command Line
If the GUI is broken but the driver works, nmcli can connect you from the terminal:
nmcli dev wifi list
nmcli dev wifi connect "YourNetworkName" password "YourPassword"
This is particularly useful when troubleshooting headless servers or broken desktop environments.
Step 7: Broadcom-Specific Fixes
Broadcom WiFi chips (common in older MacBooks and some HP/Dell laptops) are notoriously difficult on Linux because Broadcom does not provide open-source drivers. There are three competing driver options:
- b43 — open-source, supports older Broadcom chips (BCM4306, BCM4311, BCM4312)
- brcmfmac / brcmsmac — open-source, for newer Broadcom chips in Chromebooks and modern laptops
- wl (broadcom-sta) — Broadcom’s proprietary driver; most compatible but requires a DKMS build
Only one of these should be active at a time. Conflicts between them are a leading cause of Broadcom WiFi failures. To blacklist the open-source modules when using the proprietary driver:
echo "blacklist b43
blacklist brcmsmac
blacklist ssb" | sudo tee /etc/modprobe.d/blacklist-broadcom.conf
sudo update-initramfs -u
Then reboot and load the proprietary module: sudo modprobe wl
General Tips After Getting WiFi Working
- Switch to the 5 GHz band for better speeds when you’re close to the router. See our guide on connecting to 5 GHz WiFi.
- Run a speed test at wifispeed.com to verify you’re getting the speeds your ISP plan provides.
- Keep your kernel updated — newer kernels ship with updated driver support. On Ubuntu:
sudo apt upgrade. On Fedora:sudo dnf upgrade. - Check dmesg for errors if WiFi drops randomly:
dmesg | grep -i wlanordmesg | grep -i firmware. Missing firmware file warnings are common culprits.
Linux WiFi issues are almost always solvable. The vast majority come down to a missing firmware file or a module conflict — both fixable in under five minutes once you know where to look.
Related Articles
How to Fix WiFi That Won’t Reconnect After an ISP Outage
ISP outage finally over but your WiFi still won’t come back? Here’s the exact sequence to get your modem, router, and devices back online — fast.
How to Fix WiFi Packet Loss: Causes, Tests, and Solutions
Choppy video calls, rubber-banding in games, and stalled uploads are symptoms of packet loss — not slow speeds. Here’s how to test for packet loss and fix it step by step.
How to Fix WiFi Issues on Chromebook: Connection Drops and Slow Speeds
Chromebook WiFi acting up? This guide covers every fix for connection drops, slow speeds, and “network not available” errors — from quick restarts to DNS changes and Powerwash.