Switching to an open source operating system often encounters the first hurdle: lack of network access immediately after installation. Unlike Windows, where drivers are often built-in or installed automatically, Linux Manual intervention may be required to activate the wireless module. This is especially true for laptops with specific hardware or server builds without a graphical user interface.
The inclusion process Wi-Fi depends on many factors: the distribution used, the architecture of the graphical environment, and the model of the network adapter. Modern distributions, such as Ubuntu, Fedora or Linux Mint, have powerful network managers that handle this task automatically. However, knowledge of the command line remains a critical skill for any system administrator or enthusiast.
In this guide, we'll walk you through every step, from diagnosing your adapter's status to installing proprietary drivers. The key is to accurately determine the chipset model before attempting to install drivers. We'll cover both GNOME and KDE graphical interfaces, as well as console utilities, allowing you to solve the problem on any configuration.
Diagnosing the status of a wireless adapter
Before attempting to configure anything, you need to determine whether the system can even see your hardware. Users often attempt to configure the network when the adapter is physically disabled or blocked at the kernel level. The first step should always be to check the list of network devices and their current status.
To obtain detailed information about hardware in Linux, there is a utility lshwIt shows the technical specifications of each component. Run the command in a terminal with superuser privileges to see if the wireless controller is recognized:
sudo lshw -class network
In the output of this command, look for lines containing the description Wireless interfaceIf there is no such entry, the system may not see the device. Also, pay attention to the field configuration: there may be a driver listed there (for example, iwlwifi, ath9k), which is currently in use. If the driver is specified as UNCLAIMED, this means that the device has been found, but the software for it has not been installed.
⚠️ Attention: If the team lshw If the wireless device isn't showing up, check your BIOS/UEFI. In some cases, the adapter may be disabled in the motherboard firmware.
Additionally, it's worth checking whether the module is blocked by software or hardware. Utility rfkill is a standard for managing radio modules. Run the command:
rfkill list all
You will see a list of devices with fields Soft blocked And Hard blockedIf at least one of them matters Yes, the network won't work. The hardware lock is usually released with a physical switch on the laptop case or a key combination (often F2, F12 or PrtSc with an antenna icon).
📊 How do you prefer to manage your network in Linux?Graphical user interface (GUI)Command line (CLI)NetworkManager TUIAutomatically
Managing WiFi via a graphical interface
For most users of desktop distributions, interaction with the network occurs through a graphical shell. In desktop environments such as GNOME or KDE PlasmaNetwork management is built into the taskbar. This is the easiest way, requiring no command knowledge.
In the standard GNOME interface (Ubuntu's default), click the system menu in the upper-right corner of the screen. A network icon will be displayed there. If WiFi is disabled, the slider will be grayed out. Toggle it on, and the system will begin searching for available access points.
- 📡 Click on the network icon in the tray to expand the list of available SSIDs.
- 🔑 Select your network from the list and enter the security password (usually WPA2/WPA3).
- ⚙️ For a static IP, go to network settings and change the method from DHCP to Manual.
In distributions with an environment KDE Plasma (For example, Kubuntu or Manjaro KDE) is controlled via the Plasma NetworkManager widget. The principle is similar: click the icon, select the network, and enter credentials. However, KDE often provides more detailed settings for each connection, including connection scripts.
Sometimes the graphical interface may freeze when attempting to connect. In such cases, it's helpful to know that there's a daemon behind the graphics. NetworkManagerIt manages all connections, and its logs can be viewed to diagnose authorization errors or obtain an IP address.
Configuring the network via the command line (nmcli)
For servers or in cases where the graphical interface does not work, an indispensable tool becomes nmcli (NetworkManager command line interface). This powerful tool allows you to manage your network completely without a mouse. It comes pre-installed in most modern distributions.
First, check the status of your devices. Command nmcli device status will show a list of all interfaces. Find the device of the type in the list wifi. If his status disconnected or unavailable, which means the module is disabled or not configured.
To enable the WiFi adapter, use the following construction, replacing wlp2s0 to the name of your interface:
nmcli radio wifi on
nmcli device set wlp2s0 managed yes
After enabling the radio module, you need to scan for available networks. This initiates a search for beacon frames from nearby routers:
nmcli device wifi list
To connect to the network, use the command with the SSID and password. Be sure to escape any special characters in the password:
nmcli device wifi connect "MyHomeNetwork" password "SuperSecretPassword123"
☑️ Nmcli Configuration Checklist
Completed: 0 / 4
If the connection was successful, NetworkManager will create a connection profile that will automatically activate whenever the network is available in the future. This is especially convenient for mobile devices moving between different access points.
Working with drivers and kernel modules
The hardest part of setting up Linux is the lack of drivers. The Linux kernel (kernel) contains many open source drivers, but some WiFi chip manufacturers (especially Broadcom and some models Realtek) use proprietary firmware that cannot be distributed with the distribution due to licensing restrictions.
For Debian-like systems (Ubuntu, Mint, Debian) there is a mechanism for additional drivers. The utility ubuntu-drivers can automatically find and offer installation of the required software. Run:
sudo ubuntu-drivers autoinstall
After the process is complete, a reboot is required. The system will load the new kernel module, and the adapter should appear in the list of available devices.
Chip manufacturer
Typical driver (module)
Package in Ubuntu/Debian
Status
Intel
iwlwifi
linux-firmware
Open (in core)
Realtek
rtl8xxxu / rtlwifi
firmware-realtek
Partially open
Broadcom
b43 / bcmwl
bcmwl-kernel-source
Proprietary
Atheros
ath9k / ath10k
linux-firmware
Open (in core)
In the case of Broadcom There is often a conflict between the open driver b43 and proprietary bcmwl-kernel-sourceIf one doesn't work, you need to blacklist it and enable the other one. This is done by editing the modprobe configuration files.
⚠️ Note: Package manager interfaces and repository names may change with the release of new distribution versions. Always check your distribution's official Wiki (Arch Wiki, Ubuntu Wiki) for up-to-date package names.
Troubleshooting connection and stability issues
Even with the driver installed, connection stability issues may still occur. A common cause is power saving mode. By default, Linux tries to conserve laptop power by periodically powering down the WiFi adapter, which can lead to connection interruptions.
To disable power saving for a wireless interface, create or edit a NetworkManager configuration file. Create a file /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf with the following contents:
[connection]
wifi.powersave = 2
Here is the meaning 2 means the economy mode is disabled (DISABLED). Meaning 3 Enables it. After changing the file, restart the network service.
Another common issue is IPv6 conflicts. Some ISPs or routers incorrectly process IPv6 requests, causing the system to spend a long time trying to obtain an address before switching to IPv4, creating the illusion of a "slow" connection. Disabling IPv6 in the specific connection settings often resolves the issue.
Why does WiFi turn off after sleep?
This is often due to the kernel module incorrectly restoring the device's state after suspend-to-ram. Solution: Reload the module via systemctl or update the system kernel.
Alternative methods: Wicd and Connman
If standard NetworkManager If you find it too heavy or causing conflicts, there are lightweight alternatives. For minimalist window managers (i3, sway, openbox) or older computers, Wicd or Connman.
Wicd Wicd is a lightweight network manager with a simple graphical and text-based interface. It is completely independent of NetworkManager. Before installing Wicd, you must uninstall NetworkManager, as they cannot run simultaneously to control the same devices.
Connman (Connection Manager) is developed by Intel and is used in distributions like Chromium OS or AntergosIt is extremely fast and consumes minimal resources, making it ideal for embedded systems and IoT devices running Linux.
Frequently Asked Questions (FAQ)
How can I find out the exact model of my WiFi adapter without internet access?
Use the command lspci | grep -i network for PCIe devices or lsusb For USB dongles. You'll receive a vendor and device ID (e.g., 8086:08b1), which can be used to find the driver on another device with network access.
Why doesn't WiFi work after updating the kernel?
When updating the kernel (kernel) DKMS (Dynamic Kernel Module Support) modules should be rebuilt automatically. If this does not happen, proprietary drivers (NVIDIA, Broadcom) will stop working. Run sudo dkms autoinstall and reboot.
Is it possible to share WiFi from a Linux laptop?
Yes, it's possible. The GNOME graphical interface has a "Hotspot" feature. You can use utilities in the terminal. create_ap or customize hostapd manually to create an access point.
How to completely delete a network profile?
Use the command nmcli connection delete "Profile_Name"This will remove the saved password and settings for this access point from the system.