How to Fix Ubuntu Not Detecting WiFi Adapter: A Step-by-Step Guide

Easy solution that worked for me after numerous attempts to make my wifi adapter work in Ubuntu.

You may follow the steps below and adopt my reliable solution if you prefer not to spend all your time looking for another solution. If your adapter is not recognized be prepared to spend enough time digging into manuals and online forums as I did.

The Best Ubuntu WiFi Adapter

The Best Ubuntu WiFi Adapter

What to do when you can’t make your wifi adapter work in Ubuntu?

I bought an adapter that has the highest probability to work in Linux and that’s the product below.

The best thing about this adapter? You don’t need any special drivers and it costs just $10!

I bought two of these adapters for my older mini-laptop that insisted on rejecting all my attempts to connect it to a simple and free WiFi network that I used to connect with my 3 mobile phones and a tablet.

So the WiFi network was known to me for over a year but all my WiFi adapters never worked with Ubuntu.

Don’t forget to turn on your WiFi switch if available – button or key combination. Here are the steps for checking and fixing the problem:

How to check if the wireless adapter is enabled?

The most time-consuming step.
You can give a lshw -C network and look for an output that mentions: Wireless interface.

how to check if the wireless adapter is enabled in linuxOutput of the lshw -C network command

If you are using a USB adapter as in my proposed solution you might want to get a list of all USB devices connected to the system by giving: lsusb or sudo lsusb -v.

Output of the lsusb command

If you are using a PCI adapter you can give lspci and check for mentions like Wireless Network Adapter.

 

What to do when the WiFi adapter is recognized?

You want to check if your system has the appropriate drivers for the device.

There are three options here.

  1. You can use the native Linux drivers already installed in your system.
  2. You can download the drivers provided by the manufacturer (rare case).
  3. You can give ndiswrapper without a driver. You will want to check if your adapter is supported by ndiswrapper. Find more details here. Ndiswrapper may be conflicting with a native driver, so you have to blacklist the native driver.

By giving lshw -C network the output is driver= followed by the driver name. In my case the driver name is driver=r8169

how to list all drivers

Output of the lshw -C network command and driver name

If you can’t find the driver name, you want to check if it’s loaded by running lsmod and looking for the name of the driver.

how to check if a driver is loaded with lsmod

Output of lsmod command

In case there are two modules i.e. ndiswrapper and a native Linux driver you need to blacklist one of them.

 

How to blacklist a conflicting WiFi driver?

You give sudo nano /etc/modprobe.d/blacklist and add a line for the driver in question like blacklist.

Save the file and reboot the system.

how to blacklist conflicting driversBlacklist a conflicting WiFi driver via an editor

What to do when the driver is installed, communicates with the kernel but the adapter is not working?

With sudo iwlist scan you can scan for a router (I have intentionally left out the full name of my network).

how to scan for wifi routers

If the command finds a router (you can find the name of the router after ESSID) then your adapter is working. It may be that not all cards support wireless scanning.

You then need to check why the WiFi is not working. Again you must verify that there is no kill switch (button) or a key combination if you use a laptop that enables/disables the WiFi.

Some systems to save power disable the WiFi. You can check with rfkill list or the lshw command that shows *-network:1 DISABLED or wireless=radio off.

 

How to fix an adapter ‘not managed’?

If you see an adapter not managed you can edit the network manager configuration with sudo nano /etc/NetworkManager/NetworkManager.conf, find and change the line from managed=false to managed=true

How to change a device from not managed to managedhow to fix an adapter ‘not managed’

Restart the network-manager with the command sudo service network-manager restart.

how to restart the network-manager

Restart the network-manager

How to fix the ‘suspend issue’?

Start with lshw -C network and look for the driver name driver=

lshw driver name

and the adapter logical name:

How to fix the suspend/resume issue of the wifi

Then give sudo nano /etc/pm/config.d/config and insert the line SUSPEND_MODULES=”drivernamehere adapterlogicalnamehere”. Don’t forget to change the values drivernamehere and adapterlogicalnamehere to match the output of your command line.

how to fix wifi suspend issue

fix the ‘suspend issue’

Restart the network-manager with the command sudo service network-manager restart.

how to restart the network-manager

Restart the network-manager

The adapter that worked for me:
TP-Link N150 Wireless Nano USB Adapter (TL-WN725N)

The Best Ubuntu WiFi Adapter

The Best Ubuntu WiFi Adapter: TP-Link N150 Wireless Nano USB Adapter (TL-WN725N)

 

More Linux Adapters (unverified and unchecked).

TP-Link TL-WN725N Nano USB WLAN Stick Adapter – Price $7.63

Realtek RTL8811CU USB WiFi Adapter – Price $15.47

WLAN USB Adapter 600 Mbps, Mini WiFi Stick – Price $11.26