Installing the Archlinux operating system is often the first major challenge for users, especially when the basic installation is complete and the wireless connection isn't activated. Unlike distributions with an out-of-the-box graphical interface, you'll have to manually configure the network stack, select a suitable backend for managing wireless devices, and configure it. This may seem complicated, but understanding networking principles in Linux opens up a wealth of opportunities for fine-tuning and optimization.
The modern approach to network management in Archlinux has shifted towards the utility iwctl, which is part of the project iwd (Intel Wireless Daemon). This tool replaces older, cumbersome solutions, offering a simple and intuitive command-line interface. However, in some scenarios, such as when working with corporate networks or specific equipment, it may be necessary to use wpa_supplicant or NetworkManagerThe choice of a specific method depends on your needs and preferences.
In this guide, we'll cover in detail how to diagnose your adapter's status, install the necessary packages, and set up automatic connection to an access point. We'll cover both a minimalist approach and systemd-networkd, as well as more familiar methods of managing connections.
Hardware diagnostics and driver selection
The first step before attempting a connection is to check whether the operating system detects your wireless adapter. Often, a device requires proprietary firmware that isn't included in the core kernel package set. If the device isn't detected, no network settings will help, so you should always start at the hardware level.
To check the list of connected network interfaces, use the command ip link or more specialized lspci for internal cards and lsusb for external USB adapters. In the command output, you should see an interface, the name of which usually begins with wl or wlanIf the status is displayed instead of the interface name NO-CARRIER or there is no interface at all, this is a direct indicator of a problem with the drivers.
⚠️ Note: If you're using laptops with hybrid graphics or the latest Wi-Fi 6E adapters, make sure your Linux kernel is up-to-date. Older kernel versions may not contain the necessary modules to support new hardware.
If the firmware is missing, the system may report this in the logs. You can use the utility to find the required package. pacman Search the database or consult the community wiki. Driver installation is a critical step, without which further configuration will be impossible. archlinux wifi impossible.
How do I know which driver I need?
Run the command lspci -k | grep -A 3 -i network . The "Kernel driver in use" line will list the active driver, and the "Kernel modules" line will list the available modules. If the driver field is empty and a module is listed, you need to download it or install the firmware.
Installing the required network packages
Once you've verified you have the hardware, you need to install software to manage the connection. A minimalist Archlinux installation by default may not even include basic WiFi utilities if you installed the system without a network cable. You'll need a package manager. pacman to load components.
The most recommended modern solution is a bundle iwd And systemd-networkdThe first is responsible for network scanning and authorization, while the second is responsible for assigning IP addresses and DNS. To install them, run the command:
pacman -S iwd systemd-networkd
If you prefer a more traditional approach or work in an environment that requires compatibility with older security protocols, you may need wpa_supplicant. Also, for convenience, many users install NetworkManager, which provides both a console interface nmtui, as well as graphical applets for desktops.
- 📡 iwd — a modern daemon from Intel, fast and lightweight, the standard for new installations.
- 🔌 wpa_supplicant — a classic solution that supports a wide range of devices and protocols.
- 🖥️ NetworkManager — a powerful tool with plugin support, ideal for mobile devices and laptops.
- 🛠️ net-tools - a set of obsolete, but sometimes necessary utilities (ifconfig), although it is better to use iproute2.
Setting up a wireless network via iwd
Utility iwctl provides an interactive mode that significantly simplifies the connection process. This is the most direct way to quickly gain internet access immediately after installing the system. Run the utility with the command iwctl in the terminal.
Inside the interactive shell, first check the status of the devices. The command device list will show all available adapters. Make sure your device's status is listed as powered onIf the device is turned off, turn it on with the command device <device_name> set-property Powered on.
Next, you need to scan for available networks. Use the command station <device_name> scanAfter the scan is complete (usually takes a couple of seconds), list the networks with the command station <device_name> get-networksFind your network in the list and connect to it:
station <device_name> connect SSID_of_your_network
The system will ask for a password (Passphrase). Enter it and press Enter. If the password is correct, the device will automatically obtain an IP address via DHCP. To exit interactive mode, enter quit. Now yours archlinux wifi should work.
☑️ Checklist for connecting via iWD
Configuring systemd-networkd for autostart
After successfully connecting manually, it's important to configure the system so that the connection is restored automatically after a reboot. A daemon is used for this. systemd-networkd. It reads configuration files from the directory /etc/systemd/network/ and manages network interfaces at a low level.
Create a configuration file for your wireless interface, for example 20-wireless.network. In this file, you need to specify that the interface should use DHCP to obtain an address. You also need to make sure that the service systemd-networkd And systemd-resolved (for DNS) are enabled and running.
| Parameter | Meaning | Description |
|---|---|---|
| Match.Name | wl* | Interface name (pattern) |
| DHCP | ipv4 | IP Acquisition Protocol |
| Name | 20-wireless.network | Config file name |
| Service | systemd-networkd | Management service |
Don't forget to activate the services with the command systemctl enable --now systemd-networkdIf you use iwd, you also need to enable the service iwd.serviceAfter rebooting, the system should automatically find a known network and connect to it.
⚠️ Warning: Configuration files in
/etc/systemd/network/are syntax-sensitive. One extra space error can cause the interface to not come up. Always check the service status viasystemctl status.
Alternative methods: wpa_supplicant and nmcli
Although iwd is a modern standard, in some cases, especially on servers or specific equipment, it may be necessary to use wpa_supplicantThis method is more labor-intensive, as it requires generating a configuration file with a hashed password or storing it in plaintext, which is less secure.
For users who need powerful functionality and support for VPNs, plugins, and complex connection schemes, the best choice is NetworkManagerIts console client nmtui provides a pseudo-graphical interface reminiscent of BIOS, which is very convenient for beginners. The command nmtui-connect will allow you to select a network from the list and enter the password in visual mode.
If you have installed NetworkManager, be sure to enable its service while disabling systemd-networkdto avoid interface control conflicts. The command nmcli Allows you to manage your network completely from the command line without entering interactive mode, which is convenient for automation scripts.
Troubleshooting and diagnostics
Even with proper configuration, connection stability issues may still occur. A common cause of disconnects is power saving mode, which disables the adapter to conserve battery life. In ArchLinux, this behavior can be disabled in the settings. TLP or by creating an appropriate configuration file for iw.
To diagnose problems, use the utility journalctlNetwork daemon logs contain detailed information about the reasons for connection failure. For example, logs iwd You can see it with the command journalctl -u iwd -fThis will help you understand whether the error occurs at the access point association stage or at the IP address acquisition stage.
It is also worth checking whether a software or hardware key is blocking the connection. rfkill. Team rfkill list will show the status of all wireless devices. If you see the status blocked: yes, unlock the device with the command rfkill unblock wifi.
FAQ: Frequently Asked Questions
Why doesn't WiFi connect automatically after a reboot?
Most likely, you have not activated the services. systemd-networkd And iwd (or NetworkManager) through systemctl enableWithout this step, the services will not start at system startup, and manual connection via iwctl is required each time anew.
How to connect a hidden network (Hidden SSID) in ArchLinux?
In interactive mode iwctl use the command station <device> connect-hidden <SSID>You will be prompted to enter the network name and password manually, as scanning does not reveal hidden identifiers.
Is it possible to use a GUI to configure WiFi?
Yes, by installing the package network-manager-applet and when you launch it, you'll get the standard network icon in the tray if you're using a window manager or desktop. For pure Wayland or minimalist WMs, nmtui or iwgtk.
What should I do if the adapter doesn't see 5 GHz networks?
Check your Wi-Fi region. Command iw reg get will show the current region. Some 5 GHz channels are restricted in certain countries. You can change the region with the command iw reg set US (or your country code), but this requires an installed database crda or settings via kernel config.