Linux WiFi Not Working? 9 Step-by-Step Fixes (2026)

📚 Table of Contents

You install Linux, boot into your new system, and try to connect to WiFi — but no networks appear. Or you see networks, but the connection fails. This “Linux WiFi not working” problem is one of the most common frustrations for new and experienced users alike. The good news is that nearly all WiFi issues on Linux are fixable, often with a few terminal commands. In this step‑by‑step guide for 2026, I’ll walk you through 9 methods that work on Ubuntu, Fedora, Linux Mint, Debian, Arch, and other distributions. Most fixes take less than five minutes.

Why Does Linux WiFi Not Working Happen?

When Linux WiFi is not working, the cause is usually one of these:

  • Hard‑blocked or soft‑blocked: A physical switch or software toggle disables the radio.
  • Missing proprietary drivers: Many WiFi chips (Broadcom, Realtek, Mediatek) require non‑free firmware not included by default.
  • Power management problems: The driver powers down the adapter to save battery, killing the connection.
  • Outdated kernel or firmware: Newer hardware needs newer kernels.
  • Network Manager issues: The service may be stopped or misconfigured.
  • Router compatibility: Channel width or band settings can cause connection drops.

Let’s troubleshoot from simplest to most advanced.

Method 1: Check if WiFi is Hard‑ or Soft‑Blocked

Many laptops have a physical switch (slider on the side) or a function key (Fn + F2, F10, F12) that disables WiFi. Also, Linux can soft‑block the adapter.

Step 1: Open a terminal and run rfkill list. You’ll see something like:

0: phy0: Wireless LAN
        Soft blocked: yes
        Hard blocked: no

Step 2: If Soft blocked is “yes”, unblock it: sudo rfkill unblock wifi.

Step 3: If Hard blocked is “yes”, check for a physical switch or press Fn + F2/F10/F12 (the key with a wireless icon).

Step 4: Run rfkill list again to confirm both are “no”. Then try connecting to WiFi.

✅ Expected Result: After unblocking, WiFi networks appear and you can connect.

Why This Works: Linux respects hardware and software kill switches. Unblocking re‑enables the radio.

Method 2: Install Proprietary WiFi Drivers (Broadcom, Realtek)

If your WiFi chip is from Broadcom or Realtek, the open‑source driver may be incomplete. Installing proprietary drivers is the most common fix for “Linux WiFi not working”.

Step 1: Identify your WiFi chip: lspci -nn | grep -i network or lsusb for USB adapters. Note the vendor and device ID (e.g., Broadcom BCM43142).

Step 2: For Broadcom chips:

  • Ubuntu/Debian: sudo apt update && sudo apt install broadcom-sta-dkms. Then sudo modprobe -r b43 brcmsmac bcma and sudo modprobe wl. Reboot.
  • Fedora: Enable RPM Fusion non‑free: sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm. Then sudo dnf install broadcom-wl.

Step 3: For Realtek chips (RTL8821CE, RTL8723DE, etc.):

  • Many require a driver from GitHub. For RTL8821CE: sudo apt install rtl8821ce-dkms (Ubuntu 24.04+). For others, search “Realtek [chip] driver Linux”.

Step 4: After driver installation, reboot and test.

✅ Expected Result: WiFi adapter appears, and you can see and connect to networks.

Why This Works: Proprietary drivers provide full hardware support missing from open‑source alternatives.

Method 3: Disable Power Management for WiFi Adapter

Power management often turns off the WiFi card to save battery, causing disconnects or failure to scan. Disabling it is a common fix.

Step 1: Check current power management status: iwconfig. Look for “Power Management:on”.

Step 2: Temporarily disable it: sudo iwconfig wlan0 power off (replace wlan0 with your interface name, found via ip a).

Step 3: To make it permanent, create a file: sudo nano /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf. Change wifi.powersave = 3 to wifi.powersave = 2. Then sudo systemctl restart NetworkManager.

Step 4: Alternatively, disable power management via systemd service: sudo systemctl mask wpa_supplicant.service (not recommended for all).

✅ Expected Result: WiFi stays connected and scans work reliably.

Why This Works: Disabling power management prevents the adapter from sleeping.

Method 4: Update Your Kernel and Firmware

Older kernels lack drivers for newer WiFi chips. Updating the kernel and firmware often fixes “Linux WiFi not working”.

Step 1: Update your system:

  • Ubuntu/Debian: sudo apt update && sudo apt upgrade -y
  • Fedora: sudo dnf upgrade -y

Step 2: Install the latest firmware packages: sudo apt install linux-firmware (Ubuntu) or sudo dnf install linux-firmware (Fedora).

Step 3: For Ubuntu LTS, you can enable the Hardware Enablement (HWE) stack: sudo apt install linux-generic-hwe-24.04 (adjust for your version).

Step 4: Reboot and check.

✅ Expected Result: After updating, WiFi hardware is properly detected.

Why This Works: Newer kernels add support for recently released WiFi chips.

Method 5: Restart Network Manager and Check Services

The Network Manager service may have crashed or failed to start.

Step 1: Restart Network Manager: sudo systemctl restart NetworkManager.

Step 2: Check its status: sudo systemctl status NetworkManager. Ensure it’s “active (running)”.

Step 3: If it’s disabled, enable it: sudo systemctl enable NetworkManager.

Step 4: Restart also wpa_supplicant: sudo systemctl restart wpa_supplicant.

✅ Expected Result: WiFi scanning and connection work after restarting services.

Why This Works: Services can become stuck; restarting forces a fresh start.

Method 6: Manually Load the Correct WiFi Kernel Module

Sometimes the correct kernel module isn’t loaded automatically. Loading it manually can bring the interface to life.

Step 1: Find your WiFi chip’s required module. Search online for “[chip] Linux driver” or check lspci -k to see which driver is currently in use.

Step 2: Load the module: sudo modprobe [module_name] (e.g., sudo modprobe iwlwifi for Intel, sudo modprobe ath9k for Atheros).

Step 3: To make permanent, add the module to /etc/modules: echo "[module_name]" | sudo tee -a /etc/modules.

Step 4: Reboot and test.

✅ Expected Result: After loading the correct module, WiFi works.

Why This Works: Some distributions don’t auto‑load modules for certain chips.

Method 7: Use a USB WiFi Dongle as a Workaround

If internal WiFi refuses to work, a cheap USB dongle is a reliable fallback. Many chipsets work out of the box.

Step 1: Purchase a Linux‑compatible USB WiFi adapter. Recommended chipsets: Realtek RTL8812AU, RTL8821CU, or Mediatek MT7601U. Panda Wireless and Alfa are trusted brands.

Step 2: Plug it in. Most modern Linux distributions will auto‑detect it.

Step 3: If not detected, install drivers (usually available from the manufacturer or GitHub).

✅ Expected Result: USB dongle provides stable WiFi connection.

Why This Works: USB dongles bypass problematic internal hardware.

Method 8: Configure WiFi via Terminal (nmcli)

If the GUI is not showing networks, you can connect via the terminal.

Step 1: List available networks: nmcli device wifi list.

Step 2: Connect to a network: nmcli device wifi connect "SSID" password "password".

Step 3: If the network is hidden: nmcli device wifi connect "SSID" password "password" hidden yes.

Step 4: Check connection status: nmcli connection show.

✅ Expected Result: Terminal command connects to WiFi even if GUI fails.

Why This Works: nmcli is a powerful command‑line tool that bypasses GUI bugs.

Method 9: Check Router Compatibility and Channel Settings

Sometimes the problem isn’t Linux — it’s your router. Certain channel widths, bands, or security settings can cause connection failures.

Step 1: Check if other devices can connect to the same router. If yes, the router is fine.

Step 2: Log into your router (usually 192.168.0.1 or 192.168.1.1).

Step 3: Set 2.4GHz band to “b/g/n mixed” and channel width to 20MHz (not 40MHz).

Step 4: Change security from WPA3 to WPA2 (temporarily). Some older Linux drivers have WPA3 issues.

Step 5: Disable “802.11ac” or “ax” if you have older hardware.

✅ Expected Result: After router adjustments, Linux connects successfully.

Why This Works: Router settings can be incompatible with certain Linux drivers.

Frequently Asked Questions (FAQ)

1. How do I know my WiFi chipset in Linux?

Run lspci -nn | grep -i network for internal cards, or lsusb for USB adapters. The output includes vendor and device IDs.

2. Why does my WiFi work on Windows but not Linux?

Linux may lack the proprietary driver for your chip. Windows includes all drivers from the manufacturer. Install the correct driver (Method 2).

3. Can I use Windows drivers on Linux?

Yes, using ndiswrapper, but it’s outdated and not recommended. Better to find native Linux drivers.

4. How do I fix “WiFi adapter not found” on Linux?

First, check rfkill (Method 1). Then check if the driver is loaded (lspci -k). If not, install drivers (Method 2) or update kernel (Method 4).

5. Why does my WiFi keep disconnecting on Linux?

This is usually power management (Method 3). Disable power saving as shown.

6. Does Linux support WiFi 6 and 6E?

Yes, with kernel 5.2+ for WiFi 6 and 5.11+ for 6E. Intel AX200, AX210, and newer Realtek chips work well.

7. How do I reset all network settings on Linux?

Remove configs: sudo rm -rf /etc/NetworkManager/system-connections/*, then sudo systemctl restart NetworkManager.

External Resources (DoFollow Links)

📌 Related Guides
* 4 Reasons Linux Fails for Daily Use (Fixes)
* Common Linux Problems and How to Fix Them
* Fix Linux Bluetooth Not Working
* Is Linux Still Not Ready for Laptops in 2026?

🔗 This guide is part of our Linux Troubleshooting Hub

✍️ HowToFixPro Team
Our team has tested these fixes on Ubuntu 24.04, Fedora 40, Linux Mint 22, Debian 12, and Arch Linux. Each solution is verified as of June 2026.
Last updated: June 12, 2026

3 thoughts on “Linux WiFi Not Working? 9 Step-by-Step Fixes (2026)”

  1. Pingback: 4 Reasons Linux Fails for Daily Use (Fixes)

  2. Pingback: Common Linux Problems? 10 Proven Fixes

  3. Pingback: Linux Bluetooth Not Working? 9 Fast Fixes

Comments are closed.

Scroll to Top