Connecting to Wi-Fi in Ubuntu: A Complete Guide for Beginners and Advanced Users

Wireless Internet in Ubuntu — is one of those things that "should work out of the box," but sometimes turns into a headache. Have you just installed a distribution, and the network icon stubbornly shows "no connections"? Or after a kernel update, Wi-Fi suddenly disappeared from the list of available networks? This situation is familiar to many, especially owners of laptops with non-standard network chips from Broadcom, Realtek or Intel.

In this article, we will look at all the possible ways to connect to Wi-Fi in Ubuntu 22.04 LTS, 24.04 LTS and other current versions—from basic setup via the graphical interface to manual driver installation and troubleshooting. You'll learn how to:

  • 🔍 Check if your Wi-Fi device is detected by the system
  • 🖥️ Connect to the network through the standard manager NetworkManager
  • 🔧 Install proprietary drivers for problematic chips
  • 📡 Set up a connection via the terminal (if the GUI doesn't work)
  • ⚡ Resolve common errors like "device not ready" or "no network access"

Important: If you use Ubuntu Server without a graphical shell, the terminal instructions will work for you too. And for owners of hybrid devices (for example, laptops with Intel AX200 + Broadcom BCM4360) you will have to check the compatibility of the drivers especially carefully.

1. Check hardware compatibility: does Ubuntu see your Wi-Fi adapter?

Before attempting to connect to the network, make sure the system can actually see your wireless adapter. A common problem is missing drivers for the chips. Broadcom or Realtek RTL88xx, which Linux does not support out of the box.

Open Terminal (Ctrl+Alt+T) and run the command:

lspci -knn | grep -iA3 net

In the output, look for lines mentioning Network controller. For example:

03:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX200 [8086:2723] (rev 1a)

Subsystem: Intel Corporation Wi-Fi 6 AX200NGW [8086:0024]

Kernel driver in use: iwlwifi

If in the last line instead of Kernel driver in use you see Kernel modules: bcma, wl — this indicates that the driver is not loaded. For USB adapters, use the command:

lsusb
⚠️ Attention: If in the output lspci or lsusb There's no mention of a Wi-Fi device. The problem could be with the physical connection (for example, a disabled adapter in the BIOS) or a hardware malfunction. Check the settings. BIOS/UEFI (chapter Advanced → Onboard Devices Configuration).
📊 What type of Wi-Fi adapter do you have?
Built into the laptop
USB-dongle
PCIe card
Don't know

2. Connecting to Wi-Fi via a graphical user interface (GUI)

If the adapter is detected and the drivers are installed, the easiest way to connect to the network is through the standard manager NetworkManagerHere are the step-by-step instructions:

  1. Click on the network icon in the upper right corner (next to the clock).
  2. From the drop-down menu, select the name of your Wi-Fi network (SSID).
  3. If the network is protected by a password, enter it in the field Password and press Connect.

If there is no network icon at all, run NetworkManager manually:

sudo systemctl restart NetworkManager

For hidden networks (hidden SSID):

  1. In the network menu, select Wi-Fi Settings (or Edit Connections in older versions).
  2. Click Add → specify SSID, security type (WPA2-PSK) and password.
  3. Save and try to connect.

☑️ Check before connection

Completed: 0 / 4

3. Installing proprietary drivers for problematic chips

If your adapter uses a chip Broadcom (For example, BCM4313, BCM4360) or Realtek RTL8821CE, standard open drivers (b43, rtl8xxxu) may not work. In this case, you will need to install proprietary drivers from the manufacturer.

For Broadcom:

sudo apt update

sudo apt install --reinstall bcmwl-kernel-source

For Realtek RTL88x2bu/RTL88x2ce (popular USB adapters):

sudo apt install dkms git

git clone https://github.com/cilynx/rtl88x2bu.git

cd rtl88x2bu

chmod +x dkms-install.sh

sudo ./dkms-install.sh

After installation, reboot the system:

sudo reboot
⚠️ Attention: Proprietary drivers may conflict with the kernel after updates. If Wi-Fi stops working after a system upgrade, reinstall the driver or check for an updated version. GitHub (links to repositories are given above).
Chipset Recommended driver Installation command
Broadcom BCM43xx bcmwl-kernel-source sudo apt install bcmwl-kernel-source
Realtek RTL8821CE rtl8821ce-dkms sudo apt install rtl8821ce-dkms
Intel AX200/AX210 iwlwifi (part of the core) sudo apt install firmware-iwlwifi
Mediatek MT7921 mt7921e sudo apt install firmware-misc-nonfree

4. Connecting to Wi-Fi via the terminal (if the GUI is not working)

If the graphical interface is not available (for example, on Ubuntu Server or after a failure GNOME), you can connect to the network through console utilities nmcli (For NetworkManager) or wpa_supplicant.

Method 1: via nmcli

  1. View the list of available networks:
  2. nmcli dev wifi list
  3. Connect to the network (replace SSID And password):
  4. nmcli dev wifi connect "SSID" password "password"
  5. Check your connection status:
  6. nmcli connection show

Method 2: via wpa_supplicant (for advanced)

  1. Edit the config /etc/wpa_supplicant/wpa_supplicant.conf:
  2. sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
  3. Add a network settings block (example for WPA2-PSK):
  4. network={
    

    ssid="your_SSID"

    psk="your_password"

    key_mgmt=WPA-PSK

    }

  5. Connect:
  6. sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
    

    sudo dhclient wlan0

5. Diagnosis and solution of typical errors

Even if the adapter is detected and the drivers are installed, the connection may not work due to various errors. Let's look at the most common errors and their solutions.

Error: "Device not ready" (Device not ready)

Reason: Usually associated with a disabled radio (rfkill). Check the status:

rfkill list

If the output contains Soft blocked: yes, unlock:

sudo rfkill unblock wifi

Error: "No IP Address" or "Limited Access"

Problem with DHCPTry getting the IP manually:

sudo dhclient -r wlan0 # reset current IP

sudo dhclient wlan0 # request a new one

Error: "Failed to activate connection"

Reset settings NetworkManager:

sudo systemctl restart NetworkManager

sudo nmcli networking off

sudo nmcli networking on

What to do if Wi-Fi connects but the internet doesn't work?

Check your DNS settings: ping 8.8.8.8If you have ping but can't access websites, there's a DNS issue. Add Google DNS:

sudo nano /etc/resolv.conf

Enter the line:

nameserver 8.8.8.8

Save and reboot the network: sudo systemctl restart systemd-resolved.

6. Optimizing Wi-Fi connection in Ubuntu

If the network is working, but the speed is slow or the connection is unstable, try the following settings:

  • 📶 Change the channel on the router: in densely populated areas canals 2.4 GHz often overloaded. Use 5 GHz or manual channel selection (for example, 1, 6, 11).
  • 🔄 Update your router firmware: Outdated firmware may conflict with modern adapters (for example, Intel AX210).
  • 🛠️ Disable power saving for Wi-Fi: create a config:
  • sudo nano /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf

    Add the line:

    [connection]
    

    wifi.powersave = 2

    Reboot NetworkManager.

Critical detail for laptops with Intel Wi-Fi 6: If the speed is limited to 54 Mbps, check the standard support 802.11ac in the router settings. Some models (for example, TP-Link Archer C6) require manual activation VHT (Very High Throughput) for high speed operation.

7. Alternative ways to connect to the Internet

If Wi-Fi still doesn't work, temporarily connect to the network using other methods to download drivers or update the system:

  • 🔌 Ethernet cable: The most reliable option. Connect to the router via LAN-port and install missing packages.
  • 📱 USB tethering from a smartphone: turn on USB modem in your phone's settings and connect it to your PC. Ubuntu will automatically detect the connection.
  • 📶 4G modem: If you have a USB modem (for example, Huawei E3372), install the package usb-modeswitch:
  • sudo apt install usb-modeswitch

For laptops with a disabled Wi-Fi adapter (for example, due to a breakdown), you can use an external one USB Wi-Fi adapterRecommended models with good Linux support:

  • TP-Link TL-WN725N (chip RTL8188EU)
  • Edimax EW-7811Un (chip RTL8188CUS)
  • Intel Wi-Fi 6 AX200NGW (for M.2 slot)

FAQ: Frequently Asked Questions about Wi-Fi in Ubuntu

Why can't Ubuntu see my Wi-Fi network, even though other devices can?

Possible reasons:

  1. Your adapter does not support the standard. 802.11ac (5 GHz), and the router is configured only for this range. Switch the router to the mode 802.11n (2.4 GHz).
  2. The router is in the enabled mode 802.11r (Fast Transition), which is not supported by Linux drivers. Disable it in your router settings.
  3. Hidden network (hidden SSID), and you did not add it manually through nmcli.
How to connect to Wi-Fi without a password (open network)?

For open networks use the command:

nmcli dev wifi connect "SSID" --ask

When prompted for a password, simply click EnterIf the network requires web-based authentication (for example, in hotels), open your browser after connecting and follow the instructions.

Can I use Wi-Fi 6 (AX) on Ubuntu?

Yes, but with some reservations:

  • Adapters Intel AX200/AX210 supported by the Linux kernel starting from version 5.4+.
  • For Broadcom BCM4373 And Realtek RTL8852AE Drivers from repositories may be required ppa or manual compilation.
  • The maximum speed depends on the router firmware. For example, Asus RT-AX88U requires firmware Merlin for stable operation with Linux.
How do I save my Wi-Fi password so I don't have to enter it after a reboot?

By default NetworkManager saves passwords in /etc/NetworkManager/system-connections/If the network is not saved:

  1. Check the permissions on the configuration file:
  2. sudo chmod 600 /etc/NetworkManager/system-connections/*
  3. Disable the option MAC Address Randomization in network settings (may interfere with the connection).
The Wi-Fi works, but the speed is very slow. What's wrong?

Please check the following parameters:

  • Router operating mode: if it is configured to 802.11b/g, maximum speed is 54 Mbps. Switch to 802.11n/ac.
  • Channel width: set in the router settings 40 MHz (for 2.4 GHz) or 80 MHz (for 5 GHz).
  • Interference: Use a utility iwlist wlan0 scanningto check the channel load.

If the problem is with the driver, try disabling power saving:

sudo iw dev wlan0 set power_save off