The Ubuntu operating system has long established itself as a stable and secure platform, but wireless hardware compatibility with the Linux kernel remains a pressing issue for many users. Unlike proprietary systems, where drivers are often pre-installed by the manufacturer, in the open source world, support WiFi adapters Depends on the specific chipset and the openness of the manufacturer's documentation. Choosing the right hardware before purchasing or finding a solution for an existing device requires an understanding of driver architecture.
The main difficulty is that most network equipment manufacturers target the mass Windows market, providing binary drivers that don't work on Linux without special wrappers. That's why Realtek chipsets often require manual compilation of kernel modules, while Intel and Atheros solutions typically work out of the box. Understanding this difference will help you avoid purchasing incompatible hardware and save time on system setup.
In this article, we'll take a detailed look at which adapter models are guaranteed to work with Ubuntu, how to identify your device model, and the various methods for installing wireless network software. We'll cover both built-in modules and external USB solutions, and also address connection stability and data transfer rates across various frequency bands.
Linux WiFi support architecture and kernel
The foundation of any network interface in Ubuntu is the Linux kernel, which contains a set of drivers for thousands of devices. Most modern network cards supported through an open interface mac80211, which ensures standardized operation with wireless protocols. If your adapter's chipset has an open driver in the kernel repository, the system will automatically recognize the device and enable the network interface immediately after booting.
However, the situation with proprietary drivers, known as binary blobs, remains controversial. Some manufacturers, such as Broadcom, provide specifications that allow for the creation of wrappers, but these drivers are often less stable or do not support the latest encryption standards. Users must balance the freedom of open source with the need to use closed modules to ensure high connection speeds.
It's important to understand that the Ubuntu kernel version directly affects the list of supported hardware. New releases of the distribution often include updated drivers for the latest gland, whereas on older LTS versions, the latest adapter may not work without manually installing packages. Therefore, before purchasing hardware, it's important to check compatibility with the kernel version you plan to use.
⚠️ Warning: Updating the system kernel may temporarily disable proprietary WiFi modules, as they must be recompiled for the new version. Always have a wired Ethernet connection or a hotspot from your phone handy in case of connection loss after the upgrade.
The module loading mechanism in Linux allows for flexible driver management. You can manually blacklist a conflicting module or force the loading of the desired one. To view loaded network-related modules, use the command lsmod | grep wifi or lsmod | grep 80211This gives you an understanding of which driver is currently controlling your device.
Chipset selection: Intel, Realtek, Atheros, and MediaTek
When choosing an adapter, the key factor isn't the brand on the box (TP-Link, D-Link, Asus), but the chip installed inside. It's the chipset that determines whether WiFi will work in Ubuntu without any hassle. The company traditionally considered the leader in compatibility is Intel, whose series cards AX200, AX210 and older ones 7260 have excellent support in the kernel and provide high speed.
Company Atheros (now part of Qualcomm) is also known for its Linux-friendly nature. Their devices are often used in OpenWrt routers and work well in client mode. Chipsets MediaTek have also shown good results in recent years, especially in the budget segment and cards with Wi-Fi 6 support.
- 🔹 Intel — the gold standard for laptops and PCIe cards, full support for new standards without unnecessary fuss.
- 🔹 Atheros/Qualcomm - high stability, often found in older and mid-priced adapters.
- 🔹 MediaTek - good balance of price and performance, support improves with each kernel release.
- 🔹 Realtek — the most problematic segment, requiring manual installation of drivers, but popular due to its low price.
The chip situation Realtek requires special attention. These are the most common adapters in the world, but their drivers are often missing from the main Ubuntu repository. Users must download the source code from GitHub and compile it manually. While the process is not difficult, it does require the package build-essential and kernel header files.
If you're building a PC from scratch or replacing a module in a laptop, prioritize Intel-based devices. This will save you from potential headaches down the road. The situation is similar for USB adapters: models with Realtek chips (for example, RTL8812AU) are popular, but require installation of drivers through dkms to save work after updating the kernel.
Diagnostics: How to determine the adapter model in Ubuntu
Before searching for a driver or purchasing a new device, it's important to accurately identify your existing hardware. Linux has a powerful suite of diagnostic tools. glandThe easiest way is to use the terminal, as graphical interfaces may not display detailed information about the vendor and device.
Team lspci shows devices connected via the PCI Express bus (internal cards), and lsusb — USB devices. To narrow the search to network controllers, use filters. For example, the command lspci -nnk | grep -iA3 net will list network cards, their IDs and, most importantly, the kernel driver being used (line Kernel driver in use).
lspci -nnk | grep -iA3 net
If the device is connected via USB, the command lsusb will display a list of all connected controllers. Look for lines containing the words "Wireless," "WiFi," "802.11," or the names of chip manufacturers. Identifiers like 0bda:b812 (where the first 4 characters are the Vendor ID, the second are the Product ID) will help you find the exact driver you need on the Internet.
| Team | Description | What to look for in the output |
|---|---|---|
lspci -nnk |
Information about PCIe devices | Network controller, Kernel driver |
lsusb |
List of USB devices | 802.11, Wireless, Realtek, Intel |
ip link show |
Network interface status | Interface name (wlan0, wlo1) |
nmcli device |
NetworkManager Device Status | Device type, connection status |
It is also useful to use the utility inxi, which provides summary information about the system. If it is not installed, it can be added via sudo apt install inxi. Launch inxi -N will generate a compact report on network devices, immediately showing which driver is used for each interface.
What to do if the device is not visible in lspci or lsusb?
If the adapter isn't shown in any of the commands, check the physical connection. For PCIe cards, make sure they are firmly seated in the slot. For USB, try a different port. It's also possible that the adapter is software-disabled (RFKill) or locked in the BIOS/UEFI. Check the status with the rfkill list all command.
Installing Drivers: Repositories and DKMS
Ubuntu offers several ways to install WiFi software. The easiest and preferred method is to use the official repositories. The system will automatically offer to install missing proprietary drivers through the Additional Drivers tool. This is a graphical utility that scans the system and finds suitable modules.
For devices not supported out of the box, a mechanism is often used DKMS (Dynamic Kernel Module Support). It allows you to compile kernel modules for specific drivers so that they are automatically rebuilt when the system kernel is updated. Without DKMS, you would have to manually reinstall the driver after every major Ubuntu update.
- 🔸 Check for package updates:
sudo apt update. - 🔸 Install the required build tools:
sudo apt install build-essential dkms git. - 🔸 Find the driver repository (often on GitHub) and follow the README instructions.
- 🔸 After installation, be sure to reboot your computer or kernel module.
A popular solution for Realtek adapters is to use automated installation scripts, such as the project from lwfinger on GitHub. These scripts automatically detect the chip model, download the source code, compile the module, and register it in DKMS. This significantly simplifies life for users who don't want to delve into the intricacies of manual compilation.
⚠️ Warning: When installing drivers from third-party sources (PPA or GitHub), always check the repository's last update date. A driver that hasn't been updated in 3-4 years may not work on the modern Ubuntu 24.04 kernel and may cause the system to crash.
After successful installation of the driver, it is recommended to check its status with the command lsmodIf the module appears in the list, it means it is loaded into memory. The next step is to check if the wireless interface appears with the command ip linkIf the interface appears but there's no network connection, you may need to adjust your regional standards.
☑️ Driver installation checklist
Region settings and energy management
One common cause of WiFi problems in Linux is an incorrectly defined region. Different countries have different restrictions on signal strength and available channels. If the system believes you're in a region with limited spectrum, it may not see your network or operate at low speeds. To change the region, use the following utility: iw or settings NetworkManager.
To set the country code, for example, for Russia (RU) or the United States (US), you can run the command sudo iw reg set RUHowever, to ensure the settings are saved after a reboot, it's best to specify the region in the configuration file. /etc/default/crda or through settings NetworkManager. Parameter country must match your actual location.
Another important aspect is power consumption. By default, Ubuntu can aggressively save power by disabling the WiFi adapter when idle. This results in unstable ping and connection drops. To disable power saving mode, you need to edit the configuration. NetworkManager.
sudo nano /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
In this file you need to change the value wifi.powersave From 3 (on) to 2 (off). This simple step often solves issues with WiFi dropping out on laptops. After changing the file, you need to restart the service. NetworkManager team sudo systemctl restart NetworkManager.
Solving typical problems and conflicts
Even with the correct adapter selection, conflicts can still occur. A common problem is the wireless module being blocked by RFKillThis is a software or hardware switch that disables radio-emitting devices. You can check the status with the command rfkill list allIf you see the status Soft blocked: yes, unlock the device with the command sudo rfkill unblock wifi.
Driver conflicts are another common problem. Sometimes, the system can have "leftover" drivers from old drivers that interfere with the operation of new ones. For example, the driver bcma may conflict with wl for Broadcom devices. In such cases, it is necessary to add the conflicting module to the blacklist (blacklist) in the modprobe configuration file.
DNS issues often masquerade as WiFi problems. If you see a connection to the router but no internet access, try setting your public DNS (for example, Google's). 8.8.8.8 or Cloudflare 1.1.1.1) in your connection's IPv4 settings. This often helps if the router is assigning addresses incorrectly.
⚠️ Caution: When editing system configuration files (blacklist, NetworkManager), always make backups. One extra letter can cause the system to stop loading the network module.
If nothing helps, it's worth looking at the system logs. The command dmesg | grep firmware or journalctl -u NetworkManager will show errors that occurred during the connection attempt. Searching for the error text online usually leads to a specific solution for your chipset model.
Frequently Asked Questions (FAQ)
Is it possible to use Windows drivers in Ubuntu via Wine?
No, Wine is designed to run applications, not kernel drivers. However, there is a project ndiswrapper, which allows you to use Windows drivers (.sys and .inf files) on Linux. This is a complex and unstable solution, which should only be used as a last resort if a native driver is not available.
Why does Ubuntu only see 2.4 GHz networks but not 5 GHz?
Most likely, your country is set to a region where some 5 GHz channels are blocked, or the adapter driver doesn't support the required band. Check the command iw reg get and change the region to US or CN for testing. Also, make sure your adapter physically supports the 802.11ac/ax standard.
How do I reset my network settings to factory defaults if I messed everything up?
You can delete NetworkManager configuration files. The command sudo rm /etc/NetworkManager/system-connections/* This will delete saved WiFi profiles. Afterwards, restart the service. This won't affect system drivers, but it will reset passwords and connection settings.
Does Hotspot mode work on all adapters?
Not all of them. Access point mode support depends on the driver and chipset. Intel and Atheros adapters typically support this feature without issue. For Realtek, it may be unavailable or require patched drivers. You can check for support with the command iw list, looking for a section Supported interface modes.