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

Ubuntu Wifi Not Working Featured

Ubuntu is a powerful, free open-source operating system that is good for beginners who want to explore Linux and seasoned professionals who want a solid, secure system for projects and the like. However, despite all its virtues, sometimes you might have issues connecting to Wi-Fi networks.

A Wi-Fi connection issue can be either a hardware or software issue. Here are some actionable solutions if users find themselves having an issue connecting to Wi-Fi networks.

Note: the biggest issue users will face is having a wireless card that is made by Broadcom. While the manufacturer is part of the Linux Foundation, this doesn’t mean that their driver support is good all the time. Aside from the drivers, another issue is the TKIP encryption that is in use.

Install Drivers from Ubuntu ISO

If Ubuntu isn’t detecting your Wi-Fi network at all, or if you’re getting errors, then you can try installing or reinstalling the Wi-Fi drivers from the Ubuntu ISO file. First, you need to download the Ubuntu ISO corresponding to your Ubuntu version (presumably you need to download it on a different device, or download it using your ethernet connection on Ubuntu).

Place the Ubuntu ISO into the Home directory on Ubuntu, then in the Terminal enter the following sequence of commands to mount the Ubuntu ISO to a virtual drive:

Go to “Software & Updates” from the dashboard, then in the new window, check the “CDrom with Ubuntu [your version] box” and enter your password when requested.

Click the “Additional Drivers” tab, then select the “Wireless Network Adapter” option and click “Apply Changes”.

Issue One: Device not detected

If the wireless device is not detected by Ubuntu (or any distro for that matter), then you will need to access the Terminal and type the following command:

if you use a plug in USB wireless card/dongle, and

if you have an internal wireless card.

If the response from these commands comes back with an output similar to the screenshot below, then you are in luck: Ubuntu can find the card. It is usually identified by “Network Controller” or “Ethernet Controller.”

ubuntu-lsusb

In the past, a lot of Linux distributions have had difficulty finding the wireless card. Thankfully, support has gotten a lot better, so this is now a rare instance.

Additional Commands

You can also use the following command to test if the machine can see the wireless device; users may need to install lshw on their machine first.

The output should resemble something similar to this:

If this is the case, and the system finds the wireless card, you can proceed to installing the driver/module as described below.

Issue Two: Driver module missing

Following on from the successful lsusb and lspci commands, providing Ubuntu can see the wireless card, you can assume that the firmware is working, just that the system has no idea what to do with the card. This is where drivers or modules are needed.

Go back to the terminal and type the following command:

ubuntu-lsmod

You see a list of modules that are used. In order to activate your module, type the following command where “modulename” is the name of your chipset.

For example, if your wireless chipset is “RT2870,” it would be as follows:

After this, run the lsmod command again to see if it has loaded correctly.

Load module automatically at boot

It is a rare occasion, but sometimes the module will not persist from boot. In this case you can force it to load permanently. Enter the command below into the Terminal:

The nano text editor will open up. Add your module name at the bottom and save the file. You will need to reboot and check to see if the wireless card can now see networks to enable you to connect as normal.

If you get stuck, then repeat the process. Thankfully, Ubuntu has some useful help pages in their online documentation that you can also read through. Additionally, you can use the built-in help within the terminal by entering:

Issue Three: DNS

It is rare that the DNS will be an issue; however, it is worth investigating should you still have connection issues. From the Terminal, type the following command to assess where the DNS is coming from:

This will show you the LAN address of the router. If it doesn’t work, you may have to change “wlan1” to whatever your wireless uses. The following command can also be used to grab the designation:

Once you have this information, your next method is to ping your router’s LAN address. If this works, try to ping Google’s DNS servers:

With these results you can establish where the DNS issue is. If all devices within your home or office are giving page load errors, then change the router DNS to Google or Open DNS servers. You’ll have to consult your router manufacturer for how to do this, but it is generally done within the admin pages, most commonly by logging onto 192.168.0.1 or similar.

If your DNS issue is Ubuntu only, then follow these steps by using the Network Manager GUI:

  • Right click on Network Manager.
  • Edit Connections.
  • Select the Wi-Fi connection in question.
  • Select IPv4 Settings.
  • Change Method to DHCP Addresses Only.
  • Add 8.8.8.8, 8.8.4.4 into the DNS server’s box. Remember the comma separating the IPs, and don’t leave spaces.
  • Save, then Close.

As a final step, either restart your machine or restart the Network Manager from the Terminal:

Issue Four: No Network Manager

Let’s say you have removed the Network Manager or uninstalled it by accident. This is a really troublesome situation: you have no Internet and no Network Manager, but there are things you can do.

Assuming the apt package is still within your cache, then you can go to the Terminal and enter:

If you have removed this cache, then you can use an Ethernet cable to connect by plugging this into your Ethernet port and running the above command again.

As a final step, if none of the above works, you will need to edit your configuration file. I selected gedit as the text editor, but you can use your preferred choice and amend the command.

Amend it to read as follows:

Then you can restart the interface by entering the below code:

Further reading of the Linux Wireless subsystem can be found on the kernel.org wiki.

With your Ubuntu now up and running, why not celebrate by looking at the best ways to play Windows games on Linux? Or, if you don’t know all the ways you can rename files in Linux, then check out our guide on it.

7 comments

  1. I tried Ubuntu on two different PC’s one was certified by Ubuntu to work. Neither has WiFi issues when installing, but upon first boot and logging in neither could recognize the WiFi card. I can understand why many first time average users give up on Linux desktop. I mean you would at least want a internet connection to allow for updates even if the driver isn’t the best or latest. Its also ridiculous to expect a newbie to use terminal commands to fix anything. I would rather tell someone to simply try another distro. or possibly find a release that appears to work with similar hardware to yours. Better yet, buy a Chromebook or a MacBook if you can afford it.

    1. Great to have a checklist for a persistent Linux problem. Shame it’s such a complicated process after all these years. This checklist is something which could be used to create a helper program that anyone could use. Containing the knowledge of the wisest. Usable by not just techies.

    2. I do agree John. This is my third attempt to use Ubuntu, on different machines and with different builds of Ubuntu on different WiFi networks. Only one has sort-of worked – but that was years ago. Sadly the instructions above have not helped. I’ll continue for another hour or so but am not feeling confident. (The build recognises WifI, lets me type a password, doesn’t give an error message but just ask for the password again, and again and again. I’ve tried several ways to save it).

      I do have to wonder how many others have tried and given up with Ubuntu because of what seems to be a common enough error.

      Very frustrating and very disappointing.

  2. Really, reading all this just go get on the web makes you wonder if Linux is thé place to be… Which distro would be better suitable to make my connection work without all that mumbo jumbo? Considering I’m a dummie user? My laptop is a simple HP 15 which runs on Win10 home. I want to get rid of that. Thank you!

    1. Ubuntu is still a good distro for beginner. You can try out a Live USB first to see if the Wi-Fi (and other hardware) work fine on your computer. Most of the time, it will be fine. It is not often to have a Wi-Fi issue in Ubuntu.

  3. Any advice on how to tell if the hardware is broken, or breaking? None of the steps above seem to cover that, and I’m having trouble finding info on that.

  4. Mike

    Thanks for your informative post. I have just spent 3+hrs pottering around with linux terminal as you suggest. Unfortunately my computer is still unable to connect (via a Broadcom driver) to the internet. Things seem to fail completely around finding / recognising the driver.

    Is there somewhere where we can download the correct driver for linux and then put it into the correct folder? Which?

Leave a Comment

Yeah! You've decided to leave a comment. That's fantastic! Check out our comment policy here. Let's have a personal and meaningful conversation.