intermediate 15 minutes

How to Fix WiFi Not Working on Linux

Step-by-step troubleshooting guide for wireless connectivity issues on Linux — from missing drivers to firmware fixes.

Prerequisites

  • A Linux distribution installed
  • Ethernet or USB tethering for downloading drivers
1

Check if your WiFi adapter is detected

First, let's see if Linux recognizes your WiFi hardware at all. The lspci command shows PCI devices (internal cards), and lsusb shows USB devices (USB WiFi dongles).

lspci | grep -i network
lsusb | grep -i wireless
2

Check the current network status

Use nmcli (NetworkManager CLI) to see the state of your network interfaces. Look for your wireless device — if it says 'unavailable' or is missing, the driver isn't loaded.

nmcli device status
nmcli radio wifi
3

Make sure WiFi is not blocked

Some laptops have a hardware or software WiFi kill switch. The rfkill command shows if your wireless is blocked. If it says 'soft blocked', unblock it.

rfkill list
sudo rfkill unblock wifi
4

Install missing firmware and drivers

The most common cause of WiFi issues is missing firmware. Install the common firmware packages, which cover most Broadcom, Intel, and Realtek adapters.

sudo apt update
sudo apt install linux-firmware firmware-misc-nonfree
sudo apt install bcmwl-kernel-source

You'll need an internet connection (Ethernet or USB tethering) to download these packages.

5

Try the additional drivers tool

Ubuntu and its derivatives have a built-in tool that detects your hardware and offers proprietary drivers. Open Software & UpdatesAdditional Drivers tab, or run it from the terminal.

sudo ubuntu-drivers autoinstall
6

Restart NetworkManager

After installing drivers, restart the network service to pick up the changes. If that doesn't work, a full reboot usually does.

sudo systemctl restart NetworkManager
# If still not working:
sudo reboot
7

Connect to your network

Once your adapter is detected, connect to your WiFi network from the terminal or the GUI.

nmcli device wifi list
nmcli device wifi connect "YourNetworkName" password "YourPassword"
On this page