Back to Blog
linuxtroubleshootingwifi drivers

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.

How to Fix WiFi Not Working on Linux: Ubuntu, Fedora, and Debian Troubleshooting
8 min read

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 autoinstall first. 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-firmware in 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 wifi or dmesg | grep -i wlan right 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