Installing the Arch Linux operating system is just the beginning, as the user is faced with the task of setting up the environment, and the first critical step is often connecting to the internet. Without network access, it is impossible to install additional packages, update repositories, or configure the graphical interface, which makes the issue network configuration Priority immediately after the basic installation. Unlike distributions like Ubuntu or Linux Mint, there are no automatic graphical utilities out of the box, so all manipulations must be performed through the terminal.
Modern Arch Linux uses by default systemd for managing network interfaces, and often acts as a backend for wireless connections iwd (iNet Wireless Daemon), which replaced the outdated wpa_supplicantUnderstanding how these components interact will not only allow you to quickly access the global network but also manage connections effectively in the future, avoiding common beginner mistakes related to access rights and configuration files.
In this guide, we'll walk you through the connection process step by step: from checking your hardware to automatically starting the service at system startup. You'll learn how to use the command line to scan for available hotspots, enter a password, and check the connection status—a fundamental skill for any administrator or advanced user of this operating system.
Checking wireless network hardware and drivers
Before attempting a connection, you need to make sure that the operating system sees your wireless adapter and that the appropriate one is loaded for it. driverIn most cases, modern Linux kernels contain the necessary modules, but some specific cards, especially those from Broadcom or older Realtek models, may require manual installation of firmware packages if you are installing from a standalone ISO image.
To begin, run the command ip link or iwctl device listto see a list of network interfaces. Wireless interfaces usually have names starting with "w" (e.g. wlan0, wlp2s0), while wired ones are designated as "en". If in the command output lspci -k If you see the line "Kernel driver in use", it means the driver is active and working correctly.
⚠️ Important: If your adapter doesn't appear in the device list, check to see if it's hardware-blocked. Some laptops have a physical WiFi switch or a key combination (often Fn + F-key) that can disable the module at the BIOS level.
In situations where the driver is missing, you will need a temporary connection via an Ethernet cable or USB modem from an Android smartphone (USB tethering mode) to install the missing packages from the repository via pacman linux-firmwareWithout this step, further steps to configure the wireless network will be impossible, as the kernel simply doesn't know how to communicate with the hardware.
Using iwd to manage wireless connections
The main tool for working with WiFi in modern Arch Linux is the utility iwd, which is controlled through an interactive client iwctlRun this command in the terminal and you will be taken to a shell prompt [iwd]#, where all the necessary functions for scanning networks, connecting and managing profiles are available.
Inside the shell iwctl The first thing to do is to list the available devices with the command device listto ensure that the interface is visible and its status is "powered on". If the device is powered off, use the command device <device_name> set-property Powered onto activate the wireless module programmatically.
Next, you need to scan the surrounding area for available access points. To do this, enter the command station <device_name> scan, after which you can get a list of networks through station <device_name> get-networksThe list will display SSIDs (network names), their signal strength, and security type, which will help you choose the right connection point.
To connect to the selected network, enter the command station <device_name> connect
Setting up automatic IP address acquisition
The connection to the access point itself is via iwd It only establishes a link at the L2 (data link layer), but for the internet to function properly, an IP address, DNS servers, and a default route are required. In Arch Linux, this is usually handled by the service systemd-networkd, which must be configured and run in parallel with the wireless daemon.
You need to create a configuration file for your interface in the directory /etc/systemd/network/. The file must have the extension .network, For example, 20-wireless.networkThis file contains interface rules and instructions to use DHCP to obtain settings automatically.
[Match]
Name=wl*
[Network]
DHCP=yes
After creating the configuration file, be sure to enable and start the service. systemd-networkd And systemd-resolved (for DNS management). Commands systemctl enable --now systemd-networkd And systemctl enable --now systemd-resolved ensure that the network will be brought up automatically every time the computer boots.
☑️ Checking network settings
Completed: 0 / 4
It is important to note that iwd By default, it is configured to automatically connect to known networks if the corresponding service is enabled. However, the connection with systemd-networkd Provides more reliable routing and reconnection management in the event of a connection failure, which is critical for servers or workstations.
Troubleshooting Drivers and Kernel Modules
Even with properly configured software, users may experience unstable WiFi, frequent connection drops, or a complete lack of adapter functionality after a kernel update. This is often due to module conflicts or the need to load specific firmware that isn't included in the base kernel package.
Check the kernel message log using the command dmesg | grep firmware or dmesg | grep wlanto identify download errors. If you see "failed to load firmware" messages, you'll need to find and install the package. linux-firmware or a separate package for your chipset, for example, rtl88xxau-dkms-git for some Realtek adapters.
Manufacturer
A typical firmware package
Module check command
Support status
Intel
linux-firmware
lsmod | grep iwlwifi
Excellent
Realtek
linux-firmware / rtlwifi
lsmod | grep rtw
Good / Requires DKMS
Broadcom
linux-firmware / broadcom-wl
lsmod | grep wl
Requires proprietary drivers
Atheros
linux-firmware
lsmod | grep ath
Excellent
In some cases, adding a module to the file can help. /etc/modules-load.d/wifi.conf, where the name of the module is simply written (for example, iwlwifi). This forces the system to load the driver earlier in the boot process, which may resolve hardware initialization issues on some motherboards.
What should I do if WiFi disappears after a kernel update?
If WiFi stops working after a system update (pacman -Syu), try booting the previous kernel version from the GRUB or systemd-boot bootloader menu. New kernels often require reinstalling DKMS modules, so run "pacman -S linux-headers" and then reinstall the WiFi drivers.
Alternative methods: NetworkManager and Wicd
While Arch Linux's native tools are effective, many users prefer to use higher-level network managers such as NetworkManager or Wicd, especially if you plan to use a graphical interface. NetworkManager is the de facto standard for the GNOME, KDE and XFCE desktop environments, providing convenient tray applets.
To install NetworkManager, use the package manager: pacman -S networkmanager networkmanager-appletAfter installation, you must disable systemd-networkd And iwd (if they are used as primary) to avoid interface management conflicts and enable the service NetworkManager.service.
The advantage of using NetworkManager is its convenient storage of connection profiles, support for VPN, mobile broadband, and automatic switching between known networks. For terminal management without a graphical shell, the utility is ideal. nmtui, providing a pseudo-graphical menu.
⚠️ Warning: Do not run two network managers simultaneously! If you installed NetworkManager, ensure that the systemd-networkd and iwd services (in standalone mode) are stopped, otherwise IP address conflicts and connection interruptions will occur.
Diagnosing and optimizing connection speed
After a successful connection, it's important to ensure the connection is stable and fast. Use utilities ping to check the availability of the gateway and external resources, as well as speedtest-cli (requires installation) to measure the actual channel throughput.
If you're experiencing low speeds or high packet loss, try changing the WiFi channel on your router, switching from congested channels 1, 6, or 11 to less crowded ones. It's also worth checking whether your adapter is operating in the 5 GHz band, which is less susceptible to interference from household appliances and neighboring networks than 2.4 GHz.
For deep diagnostics use the command iw dev <interface> link, which will show the current connection speed (tx/rx rate), signal strength, and frequency. A low signal level (less than -75 dBm) may indicate the need to use an external USB adapter with an antenna or a repeater.
How to save WiFi password in configuration file?
iwd automatically saves connection profiles in the /var/lib/iwd directory as files with the .secret extension. Manually editing them is not recommended, as passwords are stored in hashed form. To manage saved networks, it's best to use iwctl commands within an interactive shell.
Why doesn't WiFi work after waking up from sleep mode?
This is a common driver issue, especially with Realtek drivers. The solution often involves adding a kernel module parameter that disables power saving, or creating a systemd script that reloads the driver module upon resuming from sleep.
Can Arch Linux be used as a Hotspot?
Yes, iwd supports access point mode. The command is "ap <device>" <password>" within iwctl will enable AP mode. However, complex routing and internet sharing to other devices will require additional configuration of iptables/nftables and a DHCP server.