How-tos

Wi-Fi Not Working on Ubuntu? Here’s How to Fix It


If your Ubuntu system refuses to connect to Wi-Fi, you’re not alone. Wireless issues are one of the most common frustrations we Linux users face. If your Wi-Fi isn’t showing up, keeps disconnecting, or won’t connect, there are several ways to troubleshoot and fix the problem.

These aren’t the only possible solutions for Ubuntu Wi-Fi problems, but they are a great starting point. If nothing else works, you may need to dig deeper into hardware compatibility, kernel updates, or advanced troubleshooting.

Check If Ubuntu Recognizes Your Wi-Fi Adapter

Before adjusting network settings or installing drivers, check whether Ubuntu detects your hardware. If you’re using a built-in wireless card, open a terminal and run:

lshw -C network
Ubuntu terminal output showing lshw -C network command results.

For USB Wi-Fi adapters, check if Ubuntu detects the device by running:

lsusb
Ubuntu terminal showing USB device list from 'lsusb' command.

If your adapter appears in the list but isn’t working, the issue is likely driver-related. If it doesn’t show up, Ubuntu may not recognize the hardware. For USB adapters, unplug and re-plug, trying different USB ports. For internal cards (PCIe, etc.), power off your computer, carefully open the case (if comfortable), and ensure the card is firmly seated in its slot.

Restart Network Services

Restarting the NetworkManager service can resolve many connectivity issues. Open a terminal and run:

sudo systemctl restart NetworkManager

Once the service restarts, try connecting to Wi-Fi again. If the issue persists, restart your system to apply the changes.

Related


Internet Connection Not Working? 10 Troubleshooting Tips

Internet suddenly not working?

Install Missing Wi-Fi Drivers

If Ubuntu isn’t detecting your internal Wi-Fi card or external adapter, installing the correct drivers might fix the issue. Check for available drivers by running:

ubuntu-drivers devices

If a driver is listed, install it using:

sudo apt install firmware-b43-installer

This command is for Broadcom adapters, but other Wi-Fi cards may require different packages. If you’re using a USB Wi-Fi adapter, search for your adapter model along with “Ubuntu driver” to find the correct installation steps. Some USB adapters require third-party drivers that need to be installed manually.

For example, if your USB adapter uses a Realtek chipset, you might need to install additional drivers with:

sudo apt install rtl8821ce-dkms

If Ubuntu still doesn’t recognize your adapter after installing drivers, unplug it and plug it back in, or restart your system.

Make Sure Wi-Fi Isn’t Blocked

Ubuntu includes a tool called rfkill, which can block and unblock wireless devices at the software (soft block) or hardware (hard block) level. To check if Wi-Fi is disabled, run:

rfkill list
The result of running rfkill list in an Ubuntu terminal.

If the output shows “soft blocked” or “hard blocked,” the system is preventing the adapter from working. Unblock it by running:

sudo rfkill unblock wifi

If the Wi-Fi toggle in your system settings is still grayed out, restart your computer to apply the change.

Fix Missing or Hidden Wi-Fi Networks

If your Wi-Fi network isn’t showing up, check that the adapter is enabled and scanning properly. Running:

nmcli radio wifi

This will confirm whether Wi-Fi is enabled. If it’s off, turn it back on with:

nmcli radio wifi on

For USB adapters, unplugging the device and plugging it back in can force Ubuntu to rescan for networks. If your network still isn’t appearing, restart your router or move closer to rule out signal strength issues.

Fix Slow Wi-Fi or Frequent Disconnections

If your Wi-Fi is slow or keeps dropping, switching DNS servers can help.

To change DNS settings for a specific Wi-Fi connection, open Settings, go to Wi-Fi, and click the gear icon next to your connected network. Switch to the IPv4 tab, disable “Automatic” under DNS, and enter 8.8.8.8, 8.8.4.4 for Google DNS or 1.1.1.1, 1.0.0.1 for Cloudflare’s DNS. Click Save, then disconnect and reconnect to apply the changes.

For a system-wide DNS change, open the systemd-resolved configuration file in Vim:

sudo vim /etc/systemd/resolved.conf

Scroll down to the [Resolve] section. You should see a section that looks like this:

A screenshot of the /etc/systemd/resolved.conf file in Ubuntu

By default, the DNS= and FallbackDNS= lines are commented out with #, meaning they are inactive.

Uncomment the lines by removing the # at the beginning of each.

Enter the preferred DNS servers. For example, to use Google DNS and Cloudflare DNS, modify the lines like this:

DNS=8.8.8.8 8.8.4.4
FallbackDNS=1.1.1.1 1.0.0.1

Save and exit Vim by pressing Esc, typing :wq, and hitting Enter. Restart systemd-resolved to apply the changes:

sudo systemctl restart systemd-resolved

Verify the new DNS settings:

resolvectl status

After making these changes, Ubuntu will consistently use your custom DNS settings.

Related


How to Choose the Best (and Fastest) Alternative DNS Server

Resolved to use a faster service?

Reset Network Settings

If none of these fixes work, resetting Ubuntu’s network settings might help. Removing old network configurations and restarting the NetworkManager service can resolve persistent connectivity issues. Run:

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

This command removes all saved network configurations, so you’ll need to reconnect to Wi-Fi and enter the password again.


Wi-Fi issues on Ubuntu can be frustrating, but most problems have a fix. If your built-in Wi-Fi card or USB adapter isn’t recognized, installing the correct drivers should get it working. If Wi-Fi is blocked or not showing up, restarting services or unblocking it through the terminal can help. Slow speeds and connection drops can often be resolved by switching DNS servers. With a few troubleshooting steps, you should be able to get your Ubuntu system back online.



READ SOURCE

This website uses cookies. By continuing to use this site, you accept our use of cookies.