Linux WiFi Not Working? Fix It Step by Step

WiFi not working on Linux is one of the most common problems users face after installing a new distribution or updating the system. You may see errors like:

  • “No WiFi Adapter Found”
  • No wireless networks detected
  • Connected but no internet
  • WiFi option missing entirely

This usually happens due to missing drivers, disabled services, or unsupported hardware. Let’s fix it step by step.


Step 1: Check If Linux Detects Your Wireless Adapter

First, verify that your system recognizes the WiFi hardware.

Open Terminal and run:

lspci | grep -i network

If you’re using a USB WiFi adapter:

lsusb

If your wireless device appears in the list, Linux detects the hardware.
If nothing appears, check BIOS/UEFI settings to ensure wireless is enabled.


Step 2: Check If WiFi Is Soft-Blocked

Sometimes WiFi is disabled at the system level.

Run:

rfkill list

If you see:

Soft blocked: yes

Unblock it using:

sudo rfkill unblock wifi

Then check again.


Step 3: Restart Network Manager

Network Manager controls WiFi connections in most distributions.

Restart it:

sudo systemctl restart NetworkManager

After restarting, wait a few seconds and check if networks appear.


Step 4: Install Missing WiFi Drivers

Many WiFi issues are caused by missing proprietary drivers.

On Ubuntu-based systems, open:

Software & Updates → Additional Drivers

If a wireless driver appears, select it and apply changes.

You can also install firmware manually:

sudo apt install linux-firmware

Then reboot:

sudo reboot

Step 5: Check Kernel Version

If WiFi stopped working after a system update, the kernel may be incompatible.

Check your kernel:

uname -r

Restart and enter GRUB → Advanced Options → select an older kernel version.

If WiFi works on the older kernel, the issue is update-related.


Step 6: Check WiFi Interface Status

List network interfaces:

ip link

Look for something like:

wlan0 or wlp2s0

If it shows DOWN, enable it:

sudo ip link set wlan0 up

Replace wlan0 with your actual interface name.


Step 7: Check System Logs for Errors

WiFi driver errors often appear in system logs.

Run:

dmesg | grep -i wifi

Or:

journalctl -xe

Look for firmware or driver loading errors.


Step 8: Disable Secure Boot

Some proprietary drivers won’t load if Secure Boot is enabled.

Enter BIOS/UEFI settings and disable Secure Boot temporarily.

Then reboot and test WiFi again.


Step 9: USB Adapter Power Issue (If Applicable)

If you’re using a USB adapter:

  • Try another USB port
  • Avoid USB hubs
  • Ensure adequate power supply

Sometimes WiFi issues are simply power-delivery related.


Most Linux WiFi problems are driver or service-related, not hardware failure. Once drivers are properly installed and services restarted, wireless connections are usually stable and reliable.

If you’re experiencing multiple Linux issues beyond networking, review our complete Linux troubleshooting guide for a full overview of common system problems and solutions.WiFi not working on Linux is one of the most common problems users face after installing a new distribution or updating the system. You may see errors like:

  • “No WiFi Adapter Found”
  • No wireless networks detected
  • Connected but no internet
  • WiFi option missing entirely

This usually happens due to missing drivers, disabled services, or unsupported hardware. Let’s fix it step by step.


Step 1: Check If Linux Detects Your Wireless Adapter

First, verify that your system recognizes the WiFi hardware.

Open Terminal and run:

lspci | grep -i network

If you’re using a USB WiFi adapter:

lsusb

If your wireless device appears in the list, Linux detects the hardware.
If nothing appears, check BIOS/UEFI settings to ensure wireless is enabled.


Step 2: Check If WiFi Is Soft-Blocked

Sometimes WiFi is disabled at the system level.

Run:

rfkill list

If you see:

Soft blocked: yes

Unblock it using:

sudo rfkill unblock wifi

Then check again.


Step 3: Restart Network Manager

Network Manager controls WiFi connections in most distributions.

Restart it:

sudo systemctl restart NetworkManager

After restarting, wait a few seconds and check if networks appear.


Step 4: Install Missing WiFi Drivers

Many WiFi issues are caused by missing proprietary drivers.

On Ubuntu-based systems, open:

Software & Updates → Additional Drivers

If a wireless driver appears, select it and apply changes.

You can also install firmware manually:

sudo apt install linux-firmware

Then reboot:

sudo reboot

Step 5: Check Kernel Version

If WiFi stopped working after a system update, the kernel may be incompatible.

Check your kernel:

uname -r

Restart and enter GRUB → Advanced Options → select an older kernel version.

If WiFi works on the older kernel, the issue is update-related.


Step 6: Check WiFi Interface Status

List network interfaces:

ip link

Look for something like:

wlan0 or wlp2s0

If it shows DOWN, enable it:

sudo ip link set wlan0 up

Replace wlan0 with your actual interface name.


Step 7: Check System Logs for Errors

WiFi driver errors often appear in system logs.

Run:

dmesg | grep -i wifi

Or:

journalctl -xe

Look for firmware or driver loading errors.


Step 8: Disable Secure Boot

Some proprietary drivers won’t load if Secure Boot is enabled.

Enter BIOS/UEFI settings and disable Secure Boot temporarily.

Then reboot and test WiFi again.


Step 9: USB Adapter Power Issue (If Applicable)

If you’re using a USB adapter:

  • Try another USB port
  • Avoid USB hubs
  • Ensure adequate power supply

Sometimes WiFi issues are simply power-delivery related.


Most Linux WiFi problems are driver or service-related, not hardware failure. Once drivers are properly installed and services restarted, wireless connections are usually stable and reliable.

If you’re experiencing multiple Linux issues beyond networking, review our complete Linux troubleshooting guide for a full overview of common system problems and solutions.