Users switching to Linux Users with Windows or macOS often encounter an unexpected obstacle immediately after installing the operating system: lack of wireless network access. The situation, when there's no internet access on the laptop and drivers need to be downloaded from the internet, creates a vicious circle that initially seems insurmountable. However, modern distributions such as Ubuntu 24.04 LTS or 22.04 LTS, have powerful tools for automatic equipment recognition, which often operates without human intervention.
In most cases, the problem lies not in the physical failure of the adapter, but in the absence of proprietary drivers or specific power saving settings. NetworkManager — the standard network management tool in Ubuntu — can solve 90% of connection problems if you provide it with the correct information. You don't need to be a command-line expert to establish a connection, although knowledge of basic terminal commands will significantly speed up the diagnostic process.
Our task today is to analyze all possible scenarios: from the banal activation of a button on the case to manual installation of drivers for complex chipsets Broadcom or RealtekWe'll cover both the graphical interface and console utilities that may be useful in emergency situations when the graphical shell fails to load or operates incorrectly.
Wireless adapter diagnostics
Before attempting any repairs, you need to determine whether the operating system even recognizes your device. It's often the case that the adapter is physically disabled by software or is in a "soft block" state. The first step should always be checking the hardware status via the terminal, as the graphical interface can obscure important details.
Use the command lspci for devices connected via the PCI bus (usually internal laptop cards), or lsusb for external USB dongles. These utilities will output a list of hardware identifiers that can be used to determine the exact chip model. If the output lspci | grep -i network If you see the name of your adapter, it means the system has identified it at the hardware level, and the problem is most likely software-related.
Next, you should check the status of the locks using the utility rfkill. Enter the command rfkill list all and carefully examine the output. You will see the lines Soft blocked (software blocking) and Hard blocked (hardware lock). If the "soft blocked" option says "yes," simply execute the unlock command. If it's hardware locked, look for a physical switch on the laptop case or a key combination. Fn with an antenna icon.
⚠️ Note: If the adapter is not displayed in anylspci, not inlsusbIt may be disabled in the BIOS/UEFI or physically damaged. Check your BIOS settings for the Wireless or WLAN Controller options.
After removing the blocks, try restarting the network manager with the command sudo systemctl restart NetworkManagerThis action often "shakes" the system and forces it to rescan the airwaves for available networks.
Connection via graphical interface
In the standard desktop environment GNOME, which is the default in Ubuntu, Wi-Fi management is as intuitive as possible. In the upper right corner of the screen is the system tray, where clicking the speaker or network icon opens the quick settings menu. Here you'll see the Wi-Fi toggle and a list of available access points.
To connect to a known network, simply select it from the list and enter the password. The system will automatically save the connection settings and attempt to connect to this network each time it is detected. If the network is hidden (not broadcasting its SSID), select "Connect to hidden network" and manually enter the name and encryption type.
More detailed settings are available through the main settings menu. Go to Settings → Network → Wi-FiHere you can not only connect but also configure settings for specific profiles. For example, an office network may require a static IP address, while a home network may require an automatic (DHCP) address.
In the network properties window, which is opened by clicking on the gear next to the network name, there is a tab IPv4Switch the method from "Automatic (DHCP)" to "Manual" if your ISP or system administrator requires fixed addresses. You can also specify DNS servers here, such as Google's public servers (8.8.8.8) or Cloudflare (1.1.1.1), if the standard ones work slowly.
Installing drivers through "Additional Drivers"
One of the most common reasons for Wi-Fi not working is the lack of proprietary drivers. Ubuntu, following an open source philosophy, uses free drivers by default, which work well but don't always support all the features of the latest hardware. For card owners Broadcom and some models Realtek The situation is resolved through the built-in utility.
Find the "Additional Drivers" program in the application menu (or software-properties-gtk (in the terminal). The system will scan your hardware and offer a list of available drivers. If you see your wireless adapter listed with an open source driver marked "in use" and a proprietary version offered, select it.
After selecting, click "Apply Changes." The system will download the necessary packages from the repositories and install them. This process may take several minutes. Once complete, you will need to restart your computer to ensure the new kernel module loads correctly.
☑️ Checking driver installation
It's worth noting that this utility still requires a temporary internet connection. If Wi-Fi isn't working, use an Ethernet cable or connect your smartphone via USB tethering, which Ubuntu will usually recognize as a wired connection without any questions.
Manually installing drivers in the terminal
In cases where graphics utilities don't help or drivers aren't available in the standard repositories, manual installation is necessary. This requires precise knowledge of the chip model. Let's assume you have a popular chip. Realtek RTL8821CE, which is often found in laptops HP And Lenovo and often causes problems.
First, you need to install the compiler and kernel header files, without which building modules is impossible. Run the command sudo apt update, and then install the packages: sudo apt install build-essential git dkmsThese tools will allow you to compile drivers on the fly when updating the system kernel.
Next, you need to find a driver repository on GitHub. A commonly used repository for the mentioned chip is tomtomoh or lwfingerClone the repository with the command git clone, navigate to the folder, and run the installation script. This usually looks like this:
git clone https://github.com/tomtomoh/rtl8821ce.gitcd rtl8821ce
sudo ./dkms-install.sh
After successful compilation and installation of the module, it must be loaded into the kernel using the command sudo modprobe 8821ce (The module name may vary.) If the command runs without errors, the Wi-Fi icon should appear in the system tray.
⚠️ Note: When manually installing drivers from third-party sources (GitHub), you take responsibility for system stability. Make sure the repository is up-to-date for your Linux kernel version.
What should I do if an error occurs during compilation?
Errors often occur due to missing dependencies or incompatible GCC versions. Check the terminal output for lines containing "error." You may need to install the linux-headers-generic package corresponding to your kernel version (uname -r).
Setting up static IP and DNS
Sometimes automatic DHCP address acquisition doesn't work correctly, especially in complex corporate networks or when using specialized routers. In such cases, manually assigning addresses can help. This is also relevant if you're setting up a server or smart home device that requires constant access.
To configure via the command line in modern versions of Ubuntu, a utility is used netplanConfiguration files are located in the directory /etc/netplan/You need to edit the file with the extension .yaml (For example, 01-network-manager-all.yaml). Be careful with indentation: in YAML it is critical.
An example configuration for a static IP might look like this:
network:version: 2
renderer: NetworkManager
ethernets:
wlo1:
addresses: [192.168.1.50/24]
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Here wlo1 — the name of your wireless interface (you can find it out through ip link). After making changes, apply the configuration with the command sudo netplan apply. If the syntax is correct, the network will switch to the new parameters instantly.
| Parameter | Description | Example of meaning |
|---|---|---|
| addresses | IP address and subnet mask | 192.168.1.50/24 |
| via | Gateway (router) address | 192.168.1.1 |
| nameservers | DNS servers | 8.8.8.8 |
| renderer | Management backend (NetworkManager or networkd) | NetworkManager |
Troubleshooting common problems and errors
Even after successfully installing the drivers, intermittent connection interruptions may occur. A common cause is an aggressive power-saving policy that disables the adapter to conserve battery life. To prevent the system from "putting the Wi-Fi to sleep," you need to create a configuration file.
Create a file /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf and write the value in it wifi.powersave = 2 (where 2 means power saving is disabled). This often solves the problem of Wi-Fi dropping out on laptops.
Another problem is module conflicts. Sometimes the wrong driver is loaded in the system, blocking the correct one from working. Use the command lsmod | grep <module_name>to check the loaded modules. You can remove unnecessary ones with the command sudo modprobe -r <module_name>, and then add the name of the unnecessary module to the blacklist in the file /etc/modprobe.d/blacklist.conf.
⚠️ Note: Network manager interfaces and configuration file locations may vary between different distribution versions. Always consult the official documentation for your Ubuntu version if the default paths don't work.
Keep in mind that dual-band routers (2.4 GHz and 5 GHz) can create two networks with the same name. If you have an older adapter, it may try to connect to the 5 GHz band and lose the signal. Separate the network names (SSIDs) in your router to explicitly select the desired band.
Frequently Asked Questions (FAQ)
Why doesn't Ubuntu detect the Wi-Fi adapter after installation?
Most likely, the system is missing a proprietary driver for your chip. Try connecting to the internet via a cable or USB modem, run "Additional Drivers," and install the recommended version. Also, check if the adapter is blocked by rfkill.
How can I find out the exact model of my Wi-Fi adapter without internet access?
Use the command lspci -nn for internal cards or lsusb For external devices, find the device labeled "Network" or "Wireless" in the list. You can enter the ID (e.g., 8086:24f3) into the search on another device to find the required driver.
Is it possible to share Wi-Fi from an Ubuntu laptop?
Yes, this is possible. In the network settings, select the Wi-Fi tab and enable "Hotspot Mode." The system will create a virtual network through which other devices can access the internet as long as the primary interface (Ethernet or Wi-Fi) is connected.
What to do if Wi-Fi keeps disconnecting?
Try disabling power saving for Wi-Fi, updating the system kernel, or, conversely, rolling back to a more stable version. Also, check your router settings: changing the channel or operating mode (802.11n/ac only) may improve stability.