The transition to a Linux operating system is often marred by one of the most common problems: the lack of a wireless connection immediately after installation. The user is faced with a situation where Ubuntu The system boots up and the interface welcomes you, but the Wi-Fi icon in the upper right corner is either missing or shows the network is disabled. This is a common occurrence, caused by the distribution not including proprietary drivers for your specific network adapter due to licensing restrictions.
Unlike Windows, where hardware manufacturers often provide installation discs or pre-integrate software into the system, in the open source world, hardware support depends on the community and the vendors' willingness to provide specifications. Often network card It's simply not detected by the kernel without additional firmware, which must be downloaded separately. There's no need to panic in this situation, as in 99% of cases, the problem can be solved with software.
To start the diagnostics you will need a temporary internet connection via Ethernet A cable or network sharing from an Android smartphone via USB. Without access to package repositories, installing the missing components will be extremely difficult. Below, we'll detail the steps for various scenarios, from simple BIOS changes to manually compiling kernel modules.
Hardware diagnostics and adapter model identification
Before looking for a solution, it's important to understand exactly what hardware we're dealing with. Different chipset manufacturers require fundamentally different approaches to installing drivers. The most reliable way to obtain information is using the terminal. Open it with a keyboard shortcut. Ctrl+Alt+T and enter the command to view the list of PCI devices.
Team lspci will show all devices connected via the PCI bus, including internal network cards. If you have a USB adapter, use the command lsusbIn the output, look for lines containing the words Network controller, Wireless, or brand names like Broadcom, Realtek, Intel, Qualcomm AtherosWrite down the device ID, it looks like this 8086:3165 or similar.
It is also useful to check whether the system even detects the presence of a wireless interface, even if the driver is not loaded. The command lshw -C network will output a detailed configuration. Note the line configuration: if it is indicated there driver= (empty), then the driver is really missing. If it is specified driver=iwlwifi or similar, but the network does not work, the problem may be in the settings or blocking.
Basic Checks: Airplane Mode and RFKILL Blocks
Sometimes the problem isn't a lack of drivers, but a software blocking the interface. There's a utility available in Linux rfkill, which manages the state of wireless devices. It can block Wi-Fi at the kernel level, ignoring attempts to enable it through the graphical interface.
Run the command rfkill list allYou'll see a list of devices with their status. We're interested in the fields Soft blocked And Hard blocked. If Soft blocked does it matter yes, this is a software lock that can be removed with the command sudo rfkill unblock wifiThis is a common reason why the network stops working after a system update or an improper shutdown.
The situation with Hard blocked more complicated. This refers to a physical switch on the laptop case or a key combination (e.g. Fn+F2). A "hard" lock can also occur due to BIOS/UEFI settings, where the wireless module may be globally disabled. Check your BIOS settings, find the section Wireless or Onboard Devices and make sure WLAN Controller is enabled.
⚠️ Attention: If Hard blocked If the light stays on, even after rebooting and checking the keys, try completely powering off the laptop (remove the battery if it's removable, or turn off the power and hold the power button for 15 seconds). This will reset the power controller.
Installing Broadcom and Realtek drivers via Additional Drivers
The easiest solution for owners of popular chips that require proprietary software is to use Ubuntu's built-in tool. The system automatically scans the hardware and offers to install the necessary drivers if it has internet access. This method is ideal for devices Broadcom and some models Realtek.
Open the Software & Updates app from the app drawer or search for it in the Dash search. Go to the tab Additional drivers (Additional Drivers). The system will search for suitable proprietary software and, if it finds it, will prompt you to activate it. Select the option labeled "using ... (proprietary)" and click "Apply Changes."
After the installation is complete and the modules are loaded, be sure to restart your computer. Drivers are often Broadcom STA (bcmwl-kernel-source) require a reboot to initialize correctly. If nothing is found in the list, but you know the exact adapter model, you'll have to resort to manual installation via the terminal.
☑️ Driver installation algorithm
Manual driver installation for Realtek and Intel
For modern adapters Realtek (especially for the RTL8821CE and RTL8822BE series), the standard Ubuntu repositories may not contain up-to-date drivers, as they are added to the Linux kernel with a delay. In such cases, you need to use DKMS (Dynamic Kernel Module Support) to compile the module for the current kernel version.
First, you need to install the build tools. Run the command: sudo apt update && sudo apt install build-essential git dkmsNext, you need to find a driver repository on GitHub. For example, for many Realtek chips, the driver from lwfingerClone the repository, navigate to the folder, and run the installation.
git clone https://github.com/lwfinger/rtw88.gitcd rtw88
make
sudo make install
For devices Intel the situation is usually simpler: support is built into the kernel (iwlwifi). If Wi-Fi doesn't work, you often need to update the firmware itself. firmware. Plastic bag linux-firmware Contains binaries for operating the equipment. It can be updated with the command sudo apt install --reinstall linux-firmware Often solves the problem with new Intel AX200/AX210 cards.
What should I do if driver compilation fails?
If you see errors when running the make command, you likely don't have the kernel headers installed. Run sudo apt install linux-headers-$(uname -r) and try again. Also, check your kernel version: on very new or very old versions, the driver code may need to be edited.
Problems with power saving mode and kernel module
One of the hidden causes of unstable Wi-Fi performance or complete failure is an aggressive power-saving policy. The driver may attempt to "sleep" and fail to wake up correctly, resulting in connection drops. This is especially true for battery-powered laptops.
To disable power saving for a module iwlwifi (Intel), create a configuration file. In the terminal, enter: sudo nano /etc/modprobe.d/iwlwifi.conf. Add the line there. options iwlwifi 11n_disable=1 power_save=0. Save the file (Ctrl+O) and exit (Ctrl+X).
It's also worth checking the overall power management status. Sometimes completely disabling the mode for a specific interface via iwconfig. Team sudo iwconfig wlan0 power off (replace wlan0 (the name of your interface) forces the card into active mode. For permanent use, create a script in /etc/network/if-up.d/.
| Module parameter | Meaning | Description of the effect |
|---|---|---|
| 11n_disable=1 | 0 or 1 | Disables 802.11n mode (helps with instability) |
| power_save=0 | 0 (off) or 1 (on) | Manages adapter power saving |
| swcrypto=1 | 0 or 1 | Use software encryption (rare, for older cards) |
| bt_coex_active=0 | 0 or 1 | Disables Bluetooth communication (reduces interference) |
NetworkManager Configuration and Configuration Reset
If the drivers are installed but there is no connection, the network manager configuration may be corrupted. NetworkManager — is a daemon that manages network connections in Ubuntu. Its settings may conflict after updates or hardware changes.
Try restarting the service: sudo systemctl restart NetworkManagerIf this doesn't help, you can delete the saved connection configurations (don't forget the passwords!). The files are stored in /etc/NetworkManager/system-connections/Deleting the problematic file will force the system to request the data again.
It's also worth checking your IPv4 settings in the graphical interface. Sometimes automatic address acquisition (DHCP) doesn't work correctly with certain routers. Try temporarily setting a static IP address or changing your DNS servers to public ones (e.g., 8.8.8.8 from Google) to avoid name resolution issues.
Frequently Asked Questions (FAQ)
Why does WiFi work on Windows but not on Ubuntu on the same laptop?
This is because Windows already has proprietary drivers installed from the manufacturer, either bundled with the OS or installed via Microsoft Update. In Linux, these drivers are often closed source, and it takes time for the community to create compatible modules or integrate them into the kernel.
How do I know if Wi-Fi is blocked in BIOS?
When booting your computer, press F2, F10, or Del (depending on the model) to enter the BIOS/UEFI. Look for the Advanced, Configuration, or Security sections. Find the Wireless, WLAN Device, or Network Adapter entry and make sure it's set to Enabled.
Is it possible to install a Wi-Fi driver without internet on Ubuntu?
Yes, but it's more complicated. You'll need to download the driver deb packages and all their dependencies on another computer, transfer them to a flash drive, and install them manually via sudo dpkg -i package.debThe easiest way to share internet from a smartphone is via USB, since Android drivers are usually built into the Ubuntu kernel.
What is a kernel module and why do you need to compile it?
A kernel module is a piece of operating system code that controls a specific device. Compilation is necessary when a ready-made binary file is not available in the repositories and must be built from source code specifically for your Linux kernel version to ensure compatibility between processor instructions and system functions.
⚠️ Attention: When manually installing drivers from third-party repositories (PPA) or GitHub, always check the date of the last code update. If the repository hasn't been updated in more than 2-3 years, it may be incompatible with the modern Ubuntu 22.04/24.04 kernel and cause system boot errors.