DevHow is a tech focused on Linux tutorials, programming guides, and practical developer tips. Learn open-source tools, coding workflows, and system setup step-by-step.

Trending

Full width home advertisement

Post Page Advertisement [Top]

 

How to Fix WiFi Not Working in Linux (GUI + Command Line Guide)


How to Fix WiFi Not Working in Linux (GUI + Command Line Guide)

WiFi problems in Linux can be frustrating, especially when your wireless network suddenly stops working, disappears, or refuses to connect. Whether you are using Ubuntu, Arch Linux, Fedora, or any other distribution, WiFi issues usually come from driver problems, disabled services, or incorrect configurations.

In this complete guide, you will learn how to troubleshoot and fix WiFi problems in Linux using both graphical (GUI) methods and advanced command line techniques. If you are new to Linux, you may also want to learn some essential commands from our guide on Top 20 Linux Commands You Must Know.

If you recently switched from Windows, understanding how Linux networking works can help avoid common issues. You can read more about why Linux is becoming popular in our article Why You Should Switch to Linux in 2026.

We will start with basic fixes and move toward advanced troubleshooting so both beginners and advanced Linux users can follow along.

What You Will Learn

  • How to check if WiFi hardware is detected
  • How to fix WiFi using GUI settings
  • How to troubleshoot WiFi using terminal commands
  • How to install missing WiFi drivers
  • Advanced Linux network troubleshooting methods

Who This Guide Is For

This guide is useful if:

  • Your WiFi is not showing in Linux
  • Your WiFi connects but no internet works
  • Your wireless adapter is not detected
  • Your Linux system cannot find networks
  • Your WiFi suddenly stopped working after update

If you want to improve your Linux productivity after fixing your network, you might also like our curated list of 15 Best Linux Tools That Will Boost Your Productivity and our guide on Best Linux Terminal Emulators in 2026.


Common Reasons Why WiFi Not Working in Linux

Before jumping into fixes, it helps to understand why WiFi problems happen in Linux. Unlike Windows, Linux depends heavily on kernel drivers and system services, so even a small misconfiguration can stop wireless networking from working properly.

Below are the most common reasons your WiFi may not be working:

1. Missing or Incorrect WiFi Drivers

This is the most common cause. Some WiFi cards (especially Broadcom and Realtek adapters) need additional drivers that may not be installed by default. If the driver is missing, Linux may not even detect your wireless adapter.

2. WiFi Adapter Disabled or Blocked

Sometimes WiFi gets blocked by system settings, airplane mode, or power management. In Linux this often happens through a tool called rfkill which can disable wireless devices.

3. NetworkManager Service Not Running

Most Linux distributions use NetworkManager to handle connections. If this service stops or fails after an update, your WiFi may disappear completely.

4. Kernel or System Updates

Sometimes after updating Linux, WiFi may stop working because of kernel changes. This usually happens if a driver becomes incompatible or firmware fails to load.

5. Hardware Detection Problems

If Linux cannot detect your wireless card, WiFi will not appear in settings. This can happen due to unsupported hardware or BIOS settings.

6. Router or Network Issues

Not every WiFi problem comes from Linux. Sometimes the router may be the issue. Always check if other devices can connect to the same network.

7. Incorrect Network Configuration

Manual network changes, VPN configs, or firewall settings can sometimes break WiFi connectivity.

Now that you know the common causes, let's start with some basic checks that solve many WiFi problems in less than a minute.


Basic Checks Before Advanced Fixes

Before trying complex fixes, it's worth checking a few simple things first. Many WiFi problems in Linux are caused by small issues like a disabled adapter or a stopped service. These quick checks often solve the problem immediately.

Check if WiFi is Enabled

First, make sure your WiFi is actually turned on. On laptops, this might be a function key like Fn + F2 or a dedicated wireless switch.

You can also check this from your system settings:

  • Open Settings
  • Go to Network or WiFi
  • Make sure wireless is turned ON

Check if WiFi is Blocked (rfkill check)

Linux uses a tool called rfkill to control wireless devices. Sometimes WiFi gets blocked by the system without you noticing.

Run this command:

rfkill list

If you see Soft blocked: yes or Hard blocked: yes, your WiFi is disabled.

You can unblock it using:

sudo rfkill unblock wifi

Restart NetworkManager

Sometimes the network service just needs a restart, especially after sleep or updates.

Run:

sudo systemctl restart NetworkManager

Then wait a few seconds and check if WiFi networks appear.

Check if Airplane Mode is Enabled

Some desktop environments enable airplane mode automatically after suspend. Make sure it is disabled:

nmcli radio wifi

If it says disabled, turn it back on:

nmcli radio wifi on

If WiFi still does not work, don't worry. Next we will try fixing it using graphical methods before moving to deeper terminal troubleshooting.


Fix WiFi Using GUI Methods

If you prefer not to use the terminal, don't worry. Many WiFi problems in Linux can be fixed directly from the graphical settings. These methods are especially useful for beginners or users coming from Windows.

Method 1 – Forget and Reconnect to the Network

Sometimes saved network configurations become corrupted. Removing and reconnecting often fixes authentication or connection issues.

Steps:

  • Open Settings
  • Go to WiFi
  • Select your network
  • Click Forget Network
  • Reconnect and enter password again

This simple step fixes many cases where WiFi connects but shows No Internet.

Method 2 – Check if Wireless Adapter is Detected

If WiFi settings do not appear at all, Linux may not be detecting your wireless hardware.

Check:

  • Open Settings
  • Go to Network
  • Look for a WiFi section

If WiFi is missing completely, it usually means:

  • Driver not installed
  • Adapter disabled
  • Hardware not detected

We will fix this later in the driver section.

Method 3 – Toggle WiFi Off and On

Yes, this sounds simple, but it actually works more often than people expect. Restarting the adapter refreshes the connection.

Steps:

  • Turn WiFi OFF
  • Wait about 10 seconds
  • Turn WiFi back ON

If networks appear after this, the issue was likely a temporary service glitch.

Method 4 – Check Power Saving Settings

Some Linux distributions enable WiFi power saving which may cause unstable connections.

If your WiFi randomly disconnects, this could be the reason.

Method 5 – Check Software Updates

Many WiFi issues get fixed through firmware updates. If you haven't updated recently:

  • Open Software Updater
  • Install available updates
  • Restart your system

If GUI methods did not fix your issue, the next step is to check what Linux sees internally using terminal commands. This helps identify whether the issue is drivers, hardware detection, or services.


Fix WiFi Using Command Line

If GUI fixes did not solve your problem, the next step is to check what Linux actually detects. The terminal gives much more detailed information about your WiFi hardware and drivers.

If you are not comfortable with terminal commands, you may want to first learn some basics from our guide on essential Linux commands.

Check if Linux Detects Your WiFi Device

First check if your wireless card is detected:

lspci | grep -i network

Example output:

→ lspci | grep -i network
→ 02:00.0 Network controller: Intel Corporation Wireless-AC 8265

If you see something like Wireless Network Adapter or a vendor name like Intel, Broadcom, or Realtek, your hardware is detected.

If nothing appears, your system may not be detecting the device.

Check USB WiFi Adapters

If you are using a USB WiFi adapter, check with:

lsusb

Look for wireless adapter names or chipset manufacturers.

Check Network Interfaces

Now check if a wireless interface exists:

ip a

Wireless interfaces usually appear as:

  • wlan0
  • wlp2s0
  • wlo1

If you only see lo and eth0, WiFi may not be configured correctly.

Check if WiFi is Blocked

Run:

rfkill list

If blocked, fix with:

sudo rfkill unblock all

Check NetworkManager Status

Verify NetworkManager is running:

systemctl status NetworkManager

If it is not active, start it:

sudo systemctl start NetworkManager

These checks usually reveal whether the problem is hardware detection, driver issues, or network services. In the next section we will fix one of the most common causes — missing WiFi drivers.


Fix Missing WiFi Drivers

If your WiFi adapter is detected but you still cannot see networks, there is a high chance the correct driver is missing. This is very common with Broadcom and some Realtek wireless cards.

The first step is identifying your exact WiFi chipset.

Identify Your Wireless Chipset

Run:

$ lspci -nnk | grep -A3 network

02:00.0 Network controller: Intel Corporation Wireless-AC 8265 [8086:24fd]
Subsystem: Intel Corporation Dual Band Wireless-AC 8265
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi

This command shows your WiFi model and which driver Linux is currently using.

If you see Kernel driver in use, your driver is loaded. If nothing appears, you likely need to install firmware.

Install WiFi Drivers on Ubuntu / Debian

Ubuntu based distributions can automatically install missing drivers:

$ sudo ubuntu-drivers autoinstall

Reading package lists... Done
Building dependency tree... Done
Installing drivers...
Installation complete.

You can also install common firmware manually:

$ sudo apt install linux-firmware

Reading package lists... Done
Building dependency tree... Done
linux-firmware is already the newest version.
0 upgraded, 0 newly installed.

Install WiFi Drivers on Arch Linux

Most drivers are included in the firmware package:

$ sudo pacman -S linux-firmware

resolving dependencies...
looking for conflicting packages...

Packages (1) linux-firmware

Total Installed Size:  120.45 MiB

:: Proceed with installation? [Y/n] Y

If you recently removed firmware while cleaning packages, reinstalling this often fixes WiFi immediately.

Install WiFi Drivers on Fedora

$ sudo dnf install linux-firmware

Dependencies resolved.
Nothing to do.
Complete!

Reboot After Installing Drivers

After installing drivers, always reboot:

$ sudo reboot

Many users skip this step and think the fix didn't work.

If WiFi still does not appear, the next step is checking whether Linux networking services are running correctly.


Restart Network Services

If your WiFi adapter is detected and drivers are installed but networks still do not appear, the issue might be related to Linux network services. Restarting these services often fixes temporary glitches.

Restart NetworkManager Service

Most Linux distributions use NetworkManager to manage connections. Restarting it can refresh WiFi detection.

sudo systemctl restart NetworkManager

Wait a few seconds after running the command, then check your WiFi again.

Check NetworkManager Status

You can verify the service is running:

systemctl status NetworkManager

If it shows inactive or failed, start it manually:

sudo systemctl start NetworkManager

Enable NetworkManager at Boot

If your WiFi stops working after every reboot, the service may not be enabled:

sudo systemctl enable NetworkManager

This ensures the network service starts automatically when your system boots.

If restarting services did not solve the issue, the next step is deeper troubleshooting using system logs and diagnostic commands.


Advanced Troubleshooting

If none of the previous fixes worked, it is time to check what Linux is reporting internally. System logs often reveal exactly why WiFi is failing.

Check NetworkManager Logs

You can view NetworkManager logs with:

journalctl -u NetworkManager

Look for errors mentioning:

  • device not managed
  • firmware missing
  • authentication failed
  • device disconnected

These messages usually point directly to the problem.

Check Kernel Messages

The Linux kernel also reports hardware problems. You can filter WiFi related messages:

dmesg | grep -i wifi

You can also try:

dmesg | grep -i firmware

If firmware fails to load, reinstalling linux-firmware usually fixes it.

Test Internet Connectivity

Sometimes WiFi connects but internet does not work. Test connection:

ping -c 4 google.com

If ping fails but WiFi shows connected:

  • DNS may be broken
  • Router may be blocking connection
  • Gateway configuration may be wrong

Check IP Address Assignment

Verify your system received an IP address:

ip a

If your WiFi interface shows no IP address, reconnect to the network.

If nothing here reveals the issue, the final step is trying some last resort fixes that solve stubborn WiFi problems.


Last Resort Fixes

If WiFi still does not work after all troubleshooting steps, you may need to try some deeper fixes. These are not usually required, but they often solve stubborn driver or configuration problems.

Update Your System

Sometimes WiFi problems come from outdated firmware or kernel bugs that have already been fixed. Updating your system can resolve these issues.

Ubuntu / Debian:

sudo apt update
sudo apt upgrade

Arch Linux:

sudo pacman -Syu

Fedora:

sudo dnf upgrade

Reinstall NetworkManager

If NetworkManager configuration becomes corrupted, reinstalling it can reset networking components.

Ubuntu / Debian:

sudo apt reinstall network-manager

Arch Linux:

sudo pacman -S networkmanager

Try a Different Kernel

Sometimes a kernel update may break WiFi support for certain hardware. If your WiFi stopped working after an update, try booting an older kernel from your boot menu.

LTS kernels are usually more stable for hardware compatibility.

Reset Network Configuration

As a final step, you can reset network configuration files:

sudo rm -rf /etc/NetworkManager/system-connections/*
sudo systemctl restart NetworkManager

Note: This removes saved WiFi networks, so you will need to reconnect.

If your WiFi is now working, consider following some best practices to avoid similar problems in the future.


Pro Tips to Avoid WiFi Problems

Once your WiFi is working, a few good habits can help prevent future network problems. Most Linux WiFi issues happen after updates, driver removal, or configuration changes.

Keep Firmware Packages Installed

Avoid removing packages like linux-firmware while cleaning your system. Many users accidentally remove firmware while trying to free space.

Avoid Random Network Tweaks

If your connection works fine, avoid changing NetworkManager configs or copying random fixes from forums. Small changes can sometimes break working setups.

Use LTS Kernels for Stability

If you prefer stability over bleeding edge features, using an LTS kernel can reduce hardware compatibility issues.

Update Regularly (But Not Blindly)

Regular updates improve hardware support, but always check what packages are being removed before confirming updates.

Keep a USB Ethernet Adapter (Optional but Useful)

Many experienced Linux users keep a cheap USB Ethernet adapter as backup. If WiFi breaks, you can still install drivers using wired internet.

Learn Basic Network Commands

Knowing a few networking commands can save hours of troubleshooting. If you want to build your Linux command knowledge, check our guide on important Linux commands every user should know.

Next, let's answer some common questions Linux users have when dealing with WiFi problems.


Frequently Asked Questions (FAQ)

Why is my WiFi not showing in Linux?

This usually happens because of missing drivers, disabled WiFi adapters, or blocked wireless devices. Running commands like rfkill list and lspci can help identify the cause.

How do I reset WiFi in Linux?

The easiest way is restarting NetworkManager:

sudo systemctl restart NetworkManager

You can also forget the network and reconnect from settings.

Why does Linux connect to WiFi but shows no internet?

This usually indicates DNS issues, router problems, or incorrect gateway configuration. Try testing connection using the ping command.

How do I check my WiFi driver in Linux?

You can check using:

lspci -nnk | grep -A3 network

This shows your chipset and active driver.

Why is WiFi slower on Linux than Windows?

This can happen due to power management settings, driver differences, or firmware versions. Updating firmware usually improves performance.

Can Linux WiFi drivers be installed offline?

Yes. You can download drivers using another device and transfer them via USB, or temporarily use Ethernet to install firmware packages.


Conclusion

WiFi problems in Linux can look complicated at first, but in most cases the issue comes down to drivers, disabled services, or simple configuration problems. Starting with basic checks and moving step-by-step usually reveals the cause quickly.

In this guide we covered both beginner friendly GUI fixes and deeper command line troubleshooting methods so you can diagnose the problem regardless of your Linux experience level.

If you are new to Linux troubleshooting, learning basic commands and understanding how services work will make fixing problems much easier over time. Most issues become straightforward once you know where to look.

If you found this guide helpful, you might also like our other Linux guides:

If you still cannot fix your WiFi, feel free to describe your problem, Linux distribution, and WiFi adapter model in the comments. Someone may have faced the same issue.



Tested on real Linux systems.

No comments:

Post a Comment

Bottom Ad [Post Page]