operating system Linux Mint is deservedly considered one of the most user-friendly operating systems for newcomers switching from Windows. It offers stable operation, a familiar interface, and excellent hardware support out of the box. However, even in such a well-designed environment, situations sometimes arise where the wireless module is not detected by the system immediately after installation. This is especially true for owners of laptops with specific network cards or users using external ones. USB adapters.
Lack of internet access when needed to download drivers creates a vicious cycle that frightens many novice users. Fortunately, most problems can be resolved using standard repository tools or package installations. DKMSIn this article, we'll discuss how to diagnose the problem, find a suitable solution, and get your adapter working at maximum speed.
Before moving on to complex commands, it's worth checking the basic settings. Sometimes the module is simply blocked by software or a physical switch on the device's case. Make sure airplane mode is off and the adapter itself isn't disabled in the BIOS/UEFI. If there are no hardware issues, the problem is probably software.
Equipment diagnostics and model identification
The first step should always be to accurately identify the device. Linux is great at working with hardware, but it needs to know exactly which chipset it's working with. For this, we'll need a terminal, which in Linux Mint is accessed with a keyboard shortcut. Ctrl+Alt+TIn the window that opens, you must enter a command to view a list of all USB devices.
If you are using an external adapter, the command lsusb will show it in the list. The device description line will contain the Vendor ID and Product ID—unique identifiers for the manufacturer and model. Write them down or copy them. For internal cards connected via the PCI bus, use the command lspciThis data will allow us to find the required driver.
After receiving the identifiers, it makes sense to check the current status of the network interfaces. The command ip link or older ifconfig (requires the net-tools package to be installed) will show whether the system sees the interface at all. If the interface is displayed as DOWN, you can try to enable it programmatically. If the device doesn't even show up as an interface, the problem lies deeper—a missing kernel driver.
- 🔍 Use
lsusbfor external USB adapters andlspcifor internal PCIe cards. - 📝 Write down the device ID (e.g. 2357:0109), this is the key to finding the driver.
- 🔌 Check the physical connection: try a different USB port, preferably USB 2.0.
- 📡 Team
nmcli devicewill show the device management status via NetworkManager.
Using additional drivers
The easiest and safest way to solve this problem is to use the built-in driver management tool. In Linux Mint, it's called "Driver Manager." The system automatically scans your hardware and offers to install proprietary or additional open-source drivers that aren't included in the default kernel distribution.
To launch the utility, open the application menu and search for "Drivers." You will need to enter your administrator password, as the program makes changes to system files. After scanning, the system will offer a list of available options. It is generally recommended to select the option marked recommendedAfter selecting, click the "Apply Changes" button and wait for the installation to complete.
☑️ Checking via Driver Manager
It's important to note that for this tool to work, your computer must be connected to the internet by some other means. You can use an Ethernet cable, share the internet from your smartphone via a USB modem (USB tethering is supported out of the box on Android and iOS), or download the driver deb packages on another device and transfer them via a flash drive.
⚠️ Note: If the driver list is empty or installation fails, this means the automatic search was unable to find a solution for your chipset. In this case, you will need to perform a manual installation via the terminal.
Installing drivers via terminal and repositories
Manual installation via the terminal gives more control over the process and is often the only way to revive chip-based adapters. Realtek or MediaTekFirst, you need to update your package lists so that the system knows about the latest software versions. To do this, enter the command sudo apt updateAfter the update, you can try installing universal firmware packages.
Installing firmware packages for wireless cards often solves the problem. Enter the command sudo apt install firmware-linux firmware-realtek firmware-misc-nonfreeThe package set may vary depending on the distribution, but in Mint, it's usually enough to specify a general meta-package or the specific firmware for your chip. After installation, be sure to reboot with the command sudo reboot.
sudo apt updatesudo apt install dkms git build-essential
sudo apt install linux-headers-$(uname -r)
Installing kernel headers (linux-headers) is critical if you plan to compile drivers manually. Without them, compiling kernel modules is impossible. Note the use of the command $(uname -r) - it will automatically insert the version of your current kernel, which eliminates errors when entering the version number manually.
Manually compiling drivers from GitHub
If ready-made packages don't help, you'll have to resort to compiling the driver from source code. Most often, owners of chip-based adapters Realtek (e.g. RTL8812AU, RTL8821CU) are faced with the need to use community-provided drivers. Popular repositories are often maintained by developers like aircrack-ng or morrownr.
The process begins with cloning the repository. Make sure you have installed gitFind the latest driver for your model (using the ID obtained in the first step) on GitHub. Copy the repository URL and run the command git clone [URL]. Once the files are downloaded, navigate to the created folder and run the installation script, usually called install.sh or dkms-install.sh.
- 📂 Clone the repository to your home folder for convenience:
git clone ... ~/wifi-driver. - 🔨 Run the installation with superuser rights:
sudo ./install.sh. - 🔄 After compilation, the module must be activated with the command
sudo modprobe [module_name]. - 🔒 Secure Boot in BIOS may block the loading of third-party kernel modules - disable it.
Compilation may take several minutes. Compiler messages will be displayed on the screen during the process. gccIf the process completes without errors (usually "Build complete" or "Installation successful"), the module is registered in the system. However, it has not yet been loaded. Sometimes manual intervention is required to add the module to the startup list.
⚠️ Warning: Manually installed drivers may stop working when updating the Linux kernel, as modules are tied to a specific kernel version. You will need to recompile the driver after each major system update.
What should I do if compilation fails?
Most often, this error occurs due to missing dependencies (build-essential, dkms) or an incompatible GCC version. Check the terminal output for lines containing the word "error." Cleaning the source folder (make clean) and trying again often helps. Also, try finding a more recent driver version on GitHub, as older versions may not support the new Linux 5.x and 6.x kernels.
Energy Management and Stability Settings
Even a successfully installed driver may become unstable due to Linux's aggressive power saving policy. The system may attempt to disable the WiFi adapter to save power, resulting in connection drops or complete network failure. This can be resolved by editing configuration files.
You need to create or edit a configuration file for NetworkManager. Open the file /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf using a text editor with root privileges (for example, nano or xed). Find the parameter wifi.powersave and change its value to 2 (which means turning off power saving) or 3 (inclusion).
[connection]
wifi.powersave = 2
After making changes, save the file and restart the network service with the command sudo systemctl restart NetworkManagerThis often resolves the issue of fluctuating speeds and constant reconnections, especially on laptops with batteries. Connection stability is a priority over saving a few milliwatts.
Table of common chipsets and solutions
To make your search easier, below is a table of the most popular chipsets and their corresponding packages or repositories. Please note that package names may vary slightly between different versions of Linux Mint (based on Ubuntu 20.04, 22.04, and later).
| Chipset (Vendor/Model) | Connection type | Package / Solution | Support status |
|---|---|---|---|
| Realtek RTL8812AU | USB (AC1200) | dkms rtl8812au (GitHub) | Requires manual installation |
| Intel AX200 / AX210 | PCIe / M.2 | firmware-iwlwifi | Works out of the box (Kernel 5.10+) |
| MediaTek MT7921 | PCIe / USB | firmware-misc-nonfree | Kernel 5.16+ required |
| Broadcom BCM43xx | PCIe | bcmwl-kernel-source | Available in "Additional Drivers" |
| Ralink RT5370 | USB | firmware-ralink | Works out of the box |
Using this table will help you quickly navigate the sea of information. If your chipset is listed as "Requires manual installation," skip to the GitHub section. If the status is "Works out of the box" but there's no WiFi, check your BIOS settings and rfkill blocking.
Frequently Asked Questions (FAQ)
Why did WiFi disappear after updating Linux Mint?
When updating the system, the Linux kernel is often updated as well. Drivers installed manually (not through the repository) are tied to the older kernel version. After the update, you need to rerun the driver installation script (dkms-install.sh) to compile the module for the new kernel.
How to disable Secure Boot to install drivers?
Secure Boot blocks the loading of kernel modules that aren't digitally signed. To disable it, enter the BIOS/UEFI during boot (press F2, Del, or F12). Find the Security or Boot section and toggle Secure Boot to Disabled. Then save the settings and reboot.
The modprobe command returns the error "Module not found", what should I do?
This means the driver module was not built or installed on the system. Check the compilation logs for errors. Make sure the packages are installed. build-essential, dkms And linux-headers for your current kernel version. Building without kernel headers is impossible.
Can I use an Android smartphone as a WiFi adapter for Linux?
Yes, this is a great temporary way to get internet access while downloading drivers. Connect your phone to your PC via USB, and enable "Tethering" and "USB Modem" in your phone's settings. Linux Mint will automatically detect the connection as a wired network (Ethernet), and you'll be able to download the necessary files.
Where can I find error logs if nothing helps?
To analyze problems, use commands dmesg | grep -i wifi or dmesg | grep -i firmwareIt's also useful to look at the NetworkManager logs: sudo journalctl -u NetworkManagerThese commands will show whether the system is attempting to load the driver and what errors are occurring.