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 outputlspciorlsusbThere'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(chapterAdvanced → Onboard Devices Configuration).
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:
- Click on the network icon in the upper right corner (next to the clock).
- From the drop-down menu, select the name of your Wi-Fi network (SSID).
- If the network is protected by a password, enter it in the field
Passwordand pressConnect.
If there is no network icon at all, run NetworkManager manually:
sudo systemctl restart NetworkManager
For hidden networks (hidden SSID):
- In the network menu, select
Wi-Fi Settings(orEdit Connectionsin older versions). - Click
Add→ specifySSID, security type (WPA2-PSK) and password. - Save and try to connect.
☑️ Check before connection
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 gitgit 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
- View the list of available networks:
- Connect to the network (replace
SSIDAndpassword): - Check your connection status:
nmcli dev wifi list
nmcli dev wifi connect "SSID" password "password"
nmcli connection show
Method 2: via wpa_supplicant (for advanced)
- Edit the config
/etc/wpa_supplicant/wpa_supplicant.conf: - Add a network settings block (example for
WPA2-PSK): - Connect:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
network={ssid="your_SSID"
psk="your_password"
key_mgmt=WPA-PSK
}
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 NetworkManagersudo 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 GHzoften overloaded. Use5 GHzor 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 modemin 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:
- 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 mode802.11n(2.4 GHz). - The router is in the enabled mode
802.11r(Fast Transition), which is not supported by Linux drivers. Disable it in your router settings. - Hidden network (
hidden SSID), and you did not add it manually throughnmcli.
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
ppaor manual compilation. - The maximum speed depends on the router firmware. For example, Asus RT-AX88U requires firmware
Merlinfor 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:
- Check the permissions on the configuration file:
- Disable the option
MAC Address Randomizationin network settings (may interfere with the connection).
sudo chmod 600 /etc/NetworkManager/system-connections/*
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 to802.11n/ac. - Channel width: set in the router settings
40 MHz(for 2.4 GHz) or80 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