Installation and initial configuration of the operating system Arch Linux The lack of a graphical interface is a traditional daunting factor for many users. Once the base system is installed, the first critical step is connecting to the internet, and wireless is often the only available option. Unlike distributions with out-of-the-box configurations, you'll have to manage your network interfaces yourself, which requires an understanding of how network utilities work in Linux.
The connection process may seem complicated at first glance, but knowing the right tools turns it into a routine task. There are several proven methods: from manual control through wpa_supplicant before using advanced managers like NetworkManager or iwdThe choice of a specific method depends on your preferences, the availability of a graphical shell, and the required level of control over the network stack.
In this article, we'll cover all the current wireless connection setup methods in detail. You'll learn how to diagnose problems, select the right drivers, and configure automatic connection upon system startup. The key to success is to properly install the drivers for your Wi-Fi card before attempting to configure the network.
Hardware diagnostics and driver installation
Before running any commands to search for networks, you need to make sure that your network adapter is physically detected by the system and that the necessary proprietary or open source drivers are installed for it. In the Linux world, and especially in Arch Linux, the lack of a driver is the most common reason for the lack of an interface wlan0To begin, run the command lspci | grep -i network or lsusb, if you use a USB whistle to find out the exact model of your equipment.
Once you have the device ID, check the official wiki or repositories to find the corresponding package. It often happens that chips from Broadcom or Realtek installation of additional packages from the repository is required multilib or AURWithout this step, the system simply won't detect the wireless interface, and any further manipulations will be pointless.
⚠️ Note: Some adapters require firmware downloads separate from the driver. Make sure the package is
linux-firmwareis installed, otherwise the device may initialize but will not be able to enter operating mode.
After installing the required packages, be sure to reboot the kernel module or the entire system. You can check the interface status using the utility. ip linkIf you see a line with a name like wlp2s0 or wlan0 and status NO-CARRIER or DOWN, this is a good sign - the equipment has been found.
It's also important to check whether the wireless module is blocked by software or hardware. For this, use the following utility: rfkill. Enter the command rfkill list and make sure that the value next to your Wi-Fi adapter is unblocked. If displayed hard blocked, look for a physical switch on the laptop case; if soft blocked, unlock with the command rfkill unblock wifi.
Connecting via NetworkManager (recommended method)
The most universal and convenient solution for most users is to use NetworkManagerThis daemon manages network connections, supports automatic reconnection, VPN support, and has excellent integration with graphical environments such as GNOME, KDE Plasma And XFCETo get started, install the packages. networkmanager and, if necessary, network-manager-applet for the system tray.
After installing the service, you need to activate it. Arch Linux This is done via systemd. Run the command systemctl enable --now NetworkManagerso that the service starts automatically at system startup and is active immediately. Network management is now transferred from any manual settings to this daemon.
You can use the text interface to connect to the network. nmtui, which looks like a simple menu. Run it as root or with sudo, select "Activate a connection," find your network in the list, and enter the password. This is the fastest way to get a working internet connection without memorizing complex commands.
☑️ NetworkManager check
If you prefer the command line, use the utility nmcliIt's more powerful and allows you to script actions. To scan networks, enter nmcli dev wifi list, and for connection use the design nmcli dev wifi connect "SSID" password "your_password"The system will automatically create a profile and attempt to obtain an IP address.
Manual configuration via wpa_supplicant and systemd-networkd
For those who strive for minimalism and do not want to install heavy NetworkManager, the classic option is a bundle wpa_supplicant for authorization and systemd-networkd for managing IP addressing. This method requires manual configuration file creation, but provides complete control over the process and consumes minimal resources.
The first step is to generate a secure key for your network. Do not store passwords in plaintext in configuration files. Use the command wpa_passphrase "Your_SSID" "Your_Password", which will output a configuration block with the hashed PSK key. Copy this output to a file /etc/wpa_supplicant/wpa_supplicant-wlan0.conf, replacing wlan0 to the name of your interface.
ctrl_interface=/var/run/wpa_supplicantupdate_config=1
network={
ssid="MyHomeWiFi"
psk=hash_of_the_password_from_wpa_passphrase
}
After creating the config, you need to start the service wpa_supplicant, tied to a specific interface. The command looks like this: systemctl enable --now wpa_supplicant@wlan0. Please note the symbol @, which tells systemd to start a service instance for a specific device.
Next, we configure the acquisition of an IP address. Create a file /etc/systemd/network/20-wireless.network and add a section there [Match] with the interface name and section [Network] with parameter DHCP=yes. After that, activate systemd-networkd And systemd-resolvconf (or customize /etc/resolv.conf manually) for DNS operation.
⚠️ Note: When manually configured via systemd-networkd, automatic reconnection in the event of a connection loss is not guaranteed without additional scripting. This solution is best suited for stationary devices with a stable signal.
Using iwd (iNet Wireless Daemon)
A modern alternative to the classic wpa_supplicant is iwd (iNet Wireless Daemon), developed by Intel, is characterized by high speed, lower memory consumption, and no dependence on external libraries. Arch Linux iwd is often used as a backend for NetworkManager, but can also run as a standalone daemon.
To switch to iwd, you need to install the package iwd and disable other network managers to avoid conflicts. Basic configuration is performed through the interactive client. iwctlRun it with the command iwctl, and you will be taken to the tool's command line.
Inside iwctl The connection process looks logical and consistent. First, check the device's status with the command station wlan0 showThen scan the networks through station wlan0 scan and get a list of available points with the command station wlan0 get-networksTo connect, enter station wlan0 connect "SSID" and follow the prompts to enter your password.
IWD configuration for auto-connection
To automatically connect, create the /etc/iwd/wlan0.ssid file in the /var/lib/iwd/ directory with the contents of the [General] and [Security] sections, specifying the Type and Passphrase. This will allow the daemon to connect without user intervention.
The advantage of iwd is its modularity. You can easily switch between networks, manage known profiles, and even launch an access point. After a successful connection, don't forget to configure systemd-networkd similar to the previous section to get an IP address via DHCP.
Comparison of Wi-Fi management tools
Choosing the right tool depends on your goals: whether you need maximum simplicity, minimal resource consumption, or customization flexibility. Below is a table comparing the key features of popular solutions for Arch Linux.
| Tool | Resources | Complexity | Auto-reconnection | GUI support |
|---|---|---|---|---|
| NetworkManager | Average | Low | Yes (excellent) | Full |
| wpa_supplicant | Low | High | Yes (basic) | Via applets |
| iwd | Very low | Average | Yes | Limited |
| netctl | Low | High | Through profiles | No |
If you are a beginner, it is definitely worth starting with NetworkManagerIt hides complex implementation details and provides a single interface for managing Ethernet, Wi-Fi, and VPN. Experienced users building minimalist systems often choose this combination. iwd + systemd-networkd.
Common problems and their solutions
Even with proper configuration, Wi-Fi may become unstable or fail to connect at all. Common issues include driver conflicts or improper power saving. If the connection is constantly dropping, try disabling power saving mode for your wireless adapter.
To do this, create a configuration file, for example /etc/NetworkManager/conf.d/wifi-powersave.conf, and add a line there wifi.powersave = 2 (where 2 means power saving is disabled). This often solves chip problems. Realtek and some models Intel, which aggressively go into hibernation mode.
Another common error is an incorrect system time. WPA2/WPA3 security protocols are sensitive to time desynchronization, as certificates and hashes rely on timestamps. Make sure the service systemd-timesyncd or chrony is active and the time is set correctly.
⚠️ Note: Network manager interfaces and command syntax may be updated. Always consult the official manuals (man pages) if standard commands stop working after a system update.
It's also worth mentioning the MAC addressing issue. Some ISPs or routers may block unknown devices. NetworkManager You can configure MAC address cloning or use a random value to increase privacy in the connection settings.
Automation and optimization of connections
Once a connection is established, it's helpful to set its priority. If you have multiple known networks, NetworkManager allows you to prioritize them so that the device connects to the home network instead of the public one if both are available. This is configured by editing profile files in /etc/NetworkManager/system-connections/.
For users who frequently move between networks, it's useful to set up hook scripts. These can automatically launch a torrent client when connecting to a home network and block ports when connecting to public Wi-Fi. Scripts are placed in directories /etc/NetworkManager/dispatcher.d/.
Optimization also applies to DNS. By default, the system uses the provider's DNS, but for speed and security, you can specify static addresses, such as those from Cloudflare or Google. This is done in the same connection profile in the field ipv4.dns.
Regularly check your system logs for wireless network errors. Command journalctl -u NetworkManager -f or journalctl -u iwd -f will allow you to see the connection process in real time and identify the causes of failures if they occur in the future.
How to reset network settings in Arch Linux?
To completely reset NetworkManager settings, delete the connection configuration files from the folder /etc/NetworkManager/system-connections/ and restart the service. For iwd, it's enough to clear the directory /var/lib/iwd/This will return the network manager to its "as is" state after installation.
Why isn't Wi-Fi 6 (802.11ax) working?
Support for new standards depends on two factors: the card driver and the kernel version. Make sure you're using the latest kernel. linux or linux-lts, and also installed the latest firmware versions. Older cards do not physically support this standard.
Can I use Android as a Wi-Fi adapter for Arch?
Yes, this is possible using USB tethering. Connect your phone via USB and enable "USB tethering" in Android settings. The system will detect this as a wired Ethernet connection, and NetworkManager will automatically set up the network without having to configure Wi-Fi on your PC.
Where are Wi-Fi passwords stored in Arch Linux?
In NetworkManager they are stored in files /etc/NetworkManager/system-connections/*.nmconnection in encrypted form (system keys) or in plain text if the profile was created by the user without protection. In iwd, the keys are stored in /var/lib/iwd/ in files with the .80211 extension.