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
On this page
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:
- Top Linux Commands Every User Should Know
- Best Linux Tools That Improve Productivity
- Best Linux Terminal Emulators
- Why More People Are Switching to Linux
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