On this site I see hundreds if not a thousand questions being asked about issues with a Wireless LAN adapter not being detected/recognized by Ubuntu. Some mainstream adapters appear to be utterly broken in Linux support, while others just require some simple steps to get it to work.
The options to get it to work appear to be infinitely huge and I have no clue where to get started!
What is considered 'best practice'? What order of things to try is most efficient in terms of time, effort and imposes minimal risk to my Ubuntu installation? Please help me save time and guide me what to do, step by step.
This answer covers completely non-functional wireless LAN only. It is not about stability/performance issues, or half-working cases. However, some steps may be helpful in case you're running into them and looking for other options.
Preparation
In this answer I'm assuming you're familiar with at least the following tasks: running commands in a terminal and installing regular Ubuntu software packages. If you're not familiar with these basic steps, start reading this and this.
Get the machine connected to the internet. This makes performing the the steps a lot easier and to use the clipboard for the actions.
If another network card is working, this should be easy. If your only card is failing at this point, find alternatives to this and be creative, e.g. using an USB wired network adapter or an alternative working WiFi adapter borrowed from a friend or neighbour.
Make sure you have installed the following packages:
lshw
,rfkill
.Update your system. By installing all latest (regular) system updates, bug fixes already released by developers after the release should be on your PC by doing so. Don't forget to reboot your system afterwards. See also How do I update Ubuntu?
After applying all updates, reboot. It may already work in this stage. If not, just continue.
Is it really a driver issue?
First of all, one should determine whether the card isn't recognized and/or if it's a radio kill switch preventing it from working. Follow all steps below, as your problem may be two- or three-fold:
Run
sudo lshw -C network
in a terminal.You might need to install
lshw
first.*-network UNCLAIMED
, you should follow the steps in Installing (newer) drivers.*-network
(without 'Unclaimed'), the output below about the driver could be relevant in further steps, e.g.configuration: broadcast=yes driver=iwlwifi
Run
rfkill list
in a terminal. This lists the state of radio killswitches. Sample output:yes
onHard blocked
: refer to your notebook manual for a hardware switch for Wireless LAN.yes
onSoft blocked
: hotkeys on your notebook may help activating it, as well as hitting "Enable Wireless" in the Network Manager applet. If that fails to remove the soft block, runsudo rfkill unblock all
.Only for USB devices: exclude USB-level issues.
Installing (newer) drivers
These are some obvious, sane and harmless steps to take, avoiding the ones listed in Things to avoid if possible.
Try to see if Ubuntu suggests to install additional drivers. Refer to How do I install additional drivers? for more information on how to do do this.
Install additional firmware as this may be required for your hardware.
multiverse
as posted in How do I enable the "multiverse" repository?linux-firmware
andlinux-firmware-nonfree
packages, e.g.sudo apt-get install linux-firmware linux-firmware-nonfree
and reboot.Try backported kernel modules (drivers) from the compat-wireless package. Ubuntu provides packages of compat-wireless of more recent Linux kernel releases for the kernel with the stable distribution (available since 11.10 Oneiric Ocelot).
linux-backports-modules-cw-3.6-quantal-generic
for Quantal. In the near future, a3.7
package may be out.sudo apt-get install linux-backports-modules-cw-3.6-quantal-generic
for Quantal, orsudo apt-get install linux-backports-modules-cw-3.6-precise-generic
for Precise. Then reboot.In case you're running an LTS release (e.g. Precise or Lucid), backported kernels of all next releases are provided as a package. At the time of writing Quantal is the latest release after Precise and the package is
linux-image-generic-lts-quantal
and boot into your new kernel.From here on, you should consider trying out a more recent release of Ubuntu to see if it has gained support for your hardware, just by booting from a Live CD/USB. Also consider trying the latest Beta/RC of Ubuntu+1. If it does work, the easiest approach is to simply wait for the new release.
Some hardware is just utterly broken on default installs, usually because the vendor isn't releasing (all) source code or does not allow redistribution of all required modules via Ubuntu. See the Hardware requiring special care section at the bottom to see if your device (chipset) is listed.
Try the latest stable Linux kernel. This is a less harmless approach and may break other stuff. This should not be necessary as the more recent wireless drivers are provided by the compat-wireless package in the earlier option. However, it may just a bit newer and therefore include a bugfix helping you out.
kernel.ubuntu.com
downloads section and identify the latest stable release (e.g.v3.7.1-raring
at the time of writing)..deb
files for your architecture (e.g.amd64
ori386
), plus the ones withall
in the name.Install them all at once by issuing e.g.:
and finally, reboot into your new kernel.
sudo apt-get remove linux-\*3.7.1\*
.Identifying the exact hardware
The product you have was probably sold using a retail name completely irrelevant to you issue. Most vendors just use chipsets from manufacturers like Broadcom, Atheros, Ralink or Intel while the product itself may not carry this name. One example of this: a ThinkPad 11a/b/g/n Wireless LAN Mini Express Adapter may in fact just be a
Atheros AR5418
. The Thinkpad rebrand does usually not affect the hardware support in Linux, but the used chipset does. Therefore, it's of great importance to identify the chipset.PCI and integrated devices (e.g. mobile PCs):
USB devices:
In case you have trouble identifying it from this list:
sudo tail -n 0 -f /var/log/syslog
unable to enumerate USB device
. If such output is present, your device is already failing on communication on USB-level. You're hitting a hardware issue probably: check for broken cables/connectors, power issues, broken hubs, other broken hardware. Don't bother dealing with drivers at this point - fix USB communication first.In case your hardware isn't listed, this may be unrelated to your adapter, but a general PCI/USB bus error. This is considered outside the scope of a WiFi issue. Note that some notebooks have integrated WiFi adapters connected to an internal USB port, so it may be listed as USB in such a case.
Example output:
Tips in using Google
linux
as a keyword with it, rather thanUbuntu
.AR9285
,BCM4311
,Intel
+6300
.Ubuntu
instead ofLubuntu
.I had no luck with all options. What should I provide in a new question?
Before posting a new question, search this site using keywords from Identifying the exact hardware.
uname -r
command to identify your kernel version.Things to avoid if possible
Compiling from source (e.g. running
make
,sudo make install
).sudo make install
in case you want to revert your actions.Ndiswrapper approaches.
Hardware requiring special care
On some computers, including the 2013 Macbook Air, the correct wifi drivers are included but not enabled by default because they're proprietary. Open the "Software & Updates" application, go to the "Additional Drivers" tab, and if there are any drivers listed for your wireless adapter there, enable them and hit apply changes. If they were the right drivers, then your wifi will immediately start working.
In my case, I had an old laptop on which I installed Lubuntu 19. The correct wifi drivers were already installed. I could see all wifi networks, but could not connect to them. Connecting through the internet via cable worked just fine.
After unsuccessfully trying to resolve the issue in many different ways, I found out that some (L?)ubuntu 19 users are having the same problems, and recommended to install Lubuntu 16, and so I did. My wifi adapter (and the touchpad as well) now both work out of the box.