How to Enable Wi-Fi on Ubuntu: A Complete Guide

Enabling wireless connectivity in Ubuntu is often the first challenge for new users, especially if the drivers aren't installed automatically. Unlike Windows, where the process is usually hidden from the user, Linux requires a more deliberate approach to managing network interfaces. Modern versions of the distribution, such as 22.04 LTS or 24.04, have excellent hardware support, but specific Wi-Fi adapters may still require manual activation.

The main difficulty lies in the fact that the physical switch on the laptop may be locked by software, and the module itself may be disabled in the BIOS. The user must carefully check the system status, ensure the drivers are present, and, if necessary, unlock the device via the command line. Graphical interface does not always reflect the real state of affairs, so in-depth diagnostics via the terminal is a mandatory step in troubleshooting.

In this guide, we'll cover everything from simple switch testing to complex installations of proprietary kernel modules. You'll learn to differentiate between "soft block" and "hard block" states, and understand how to manage NetworkManager manually. It is critical to first determine the exact model of your Wi-Fi adapter, as this will determine the driver installation method you choose. Without this information, any action may be useless.

📊 What is your Wi-Fi connection status?
The adapter is not visible at all/It is there, but does not connect/It works unstably/It has never worked on Linux

Diagnosing the status of a wireless adapter

Before attempting any repairs, it's important to understand the current state of the system. Linux provides powerful tools for hardware analysis, and the first step should always be checking whether the adapter is visible to the kernel. If the system doesn't physically see the device, any software settings will be meaningless. Often, a simple reboot or BIOS check resolves the issue.

To obtain detailed information about the equipment, use the utility lspci for internal cards or lsusb For external USB dongles. These commands list vendor and device IDs, which are key to finding the correct drivers online. Ignoring this step results in installing incompatible software.

lspci -nnk | grep -iA3 net

lsusb

Once you have the list of devices, look for lines containing "Network controller" or "Wireless." The manufacturer will be listed next to them, for example, Intel Corporation, Realtek or BroadcomThis information will be needed if standard activation tools fail. It's also worth checking whether the appropriate kernel module is loaded.

Checking for blocks using RFKill

One of the most common reasons for Wi-Fi not working is a blocked radio interface. In Linux, the radio module management utility rfkillIt allows you to see whether the device is blocked by software (soft block) or hardware (hard block). The difference between these states is fundamental for choosing a solution.

A soft block means that the operating system or user has disabled the module through software settings. This can be easily fixed with a command. A hard block indicates a physical switch on the laptop case, a keyboard button (often Fn + F), or a BIOS setting that is more difficult to bypass through software. In the latter case, you'll have to find the physical switch.

rfkill list all

If you see the line "Soft blocked: yes" in the command output, you can unblock the adapter with the following command, replacing wifi to the device index, if there are several:

sudo rfkill unblock wifi
  • 🔍 Check the indicators on your keyboard: the orange light often lights up if Wi-Fi is off.
  • 🔍 Go to BIOS/UEFI and make sure that Wireless LAN is not set to Disabled.
  • 🔍 Use `sudo rfkill unblock all` to remove all software blocks at once.

⚠️ Attention: If you see "Hard blocked: yes," unlocking commands in the terminal won't help. You'll need to find a physical switch on the laptop or use a key combination.

Activation via the GNOME graphical interface

For most users of Ubuntu desktop versions running the GNOME desktop, network management is accomplished through a built-in applet. This is the simplest and most intuitive method, requiring no command knowledge. However, the interface can obscure some technical details that are visible in the terminal.

To turn on Wi-Fi, click the system menu in the upper-right corner of the screen (where the clock and sound are). The drop-down list should contain the option "Wi-Fi" or "Network." If the slider is off, simply toggle it to the on position. The system will attempt to scan the air and display a list of available access points.

If the Wi-Fi slider is missing or inactive (grayed out), this is a clear indicator of a driver issue or a lower-level blockage. In this case, the graphical interface is useless, and you must return to diagnostics via the terminal. Also, in the network settings (Settings → Network) you can configure automatic connection and IPv4/IPv6 parameters.

☑️ Checking the GUI

Completed: 0 / 1

Managing connections via the terminal (nmcli)

The Linux command line provides unlimited possibilities for network management. The primary tool for interacting with NetworkManager is the utility nmcliIt allows you to perform all the same actions as the graphical interface, but with greater detail and automation capabilities. This is the preferred method for server versions of Ubuntu.

By using nmcli You can not only enable Wi-Fi but also create a connection profile, manage passwords, and switch between access points. Commands are executed instantly, and the system allows you to pinpoint exactly where an error occurred. This is especially useful for remote administration.

nmcli radio wifi on

nmcli dev wifi list

nmcli dev wifi connect"SSID_name" password"your_password"

The table below shows the basic commands for managing a wireless connection via the terminal:

Team Description of action sudo is required
nmcli radio wifi Show Wi-Fi radio status No
nmcli radio wifi on Turn on the Wi-Fi adapter Yes
nmcli dev wifi list Scan available networks No
nmcli connection down Break the current connection Yes

Using the terminal offers the advantage of scripting capabilities. For example, you can create a script that automatically connects the laptop to the home network upon boot if the Ethernet cable is not connected. This increases system fault tolerance.

Nmcli Secrets

The `nmcli dev wifi rescan` command forces a refresh of the network list if the desired access point isn't displayed. You can also use the `--ask` flag to force the system to prompt for the password interactively, without transmitting it in cleartext in the command history.

Installing proprietary drivers

The open-source drivers included in the Linux kernel work fine with most cards, but some chips (especially Broadcom and some Realtek models) require proprietary modules. Ubuntu has a built-in mechanism for finding and installing these modules, called "Additional Drivers."

To use this tool, open the Software & Updates app and go to the Additional Drivers tab. The system will scan your hardware and suggest available drivers. If you see a recommended driver marked "tested," select it and click "Apply Changes."

⚠️ Attention: An active internet connection is required to install the drivers. If Wi-Fi isn't working, use a USB modem (Android/iOS) or an Ethernet cable.

In some cases, especially with very new or very old devices, drivers aren't available in the standard repositories. In these cases, you have to search for the source code on GitHub or the manufacturer's websites and compile it manually. This requires installing packages. build-essential And linux-headersThe compilation process can be complex for beginners, so it's best to start by searching for ready-made DKMS packages.

  • 📦 Make sure the "multiverse" repository is enabled in your software sources.
  • 📦 After installing the driver, be sure to reboot the system.
  • 📦 Broadcom often requires a package bcmwl-kernel-source.

Solving common problems and conflicts

Even after successful installation of drivers, conflicts may arise. For example, the module ipv6 This sometimes causes instability on some routers. The problem may also be rooted in power-saving settings that aggressively disable the Wi-Fi adapter to conserve battery life, causing it to fail to wake up.

To disable power saving for Wi-Fi, you can create a configuration file. This often solves the problem of frequent connection drops. Create the file /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf and change the value to 2 (which means turning off power saving).

[connection]

wifi.powersave = 2

Another common issue is a conflict between network managers. If you have wicd or connman in parallel with NetworkManager, they can block each other. Standard Ubuntu uses only NetworkManager, so it's best to remove third-party packages. It's also worth checking the system logs with the command dmesg | grep firmware for microcode loading errors.

Why doesn't Ubuntu see my Wi-Fi adapter after installation?

Most likely, the system is missing proprietary firmware files for your device. Try connecting to the internet via a USB modem from your phone and running the command `sudo apt update && sudo apt install linux-firmware`. Also, check whether Secure Boot in the BIOS is blocking third-party drivers.

How to switch between 2.4GHz and 5GHz?

The system usually selects the best network automatically. To force the selection of a band, you can specify a channel or standard in the router settings, or use the `nmcli` command with a frequency parameter if the driver supports SSID separation.

What should I do if the Wi-Fi icon in the tray has disappeared?

This often happens after updating GNOME. Try restarting the network service with `sudo systemctl restart NetworkManager`. If that doesn't help, check if the `network-manager-gnome` plugin, which powers the graphical applet, is installed.