
How to Connect Arch to Wifi? Network Setup Step Guide
Introduction If you have just installed Arch Linux, one of the first practical questions is How to Connect Arch to Wifi?. Unlike many beginner-focused distributions, Arch Linux gives you a minimal base system and expects you to configure networking yourself. T
Introduction
If you have just installed Arch Linux, one of the first practical questions is How to Connect Arch to Wifi?. Unlike many beginner-focused distributions, Arch Linux gives you a minimal base system and expects you to configure networking yourself. That flexibility is powerful, but it can feel confusing when you boot into a terminal and realize that Wi-Fi is not automatically connected.
This guide explains how to connect Arch Linux to a wireless network from the command line using several reliable methods. You will learn how to identify your wireless adapter, install the required packages, connect with NetworkManager, use iwd directly, configure wpa_supplicant manually, set a static IP address, automate connections at boot, and troubleshoot the most common wireless problems. Whether you prefer a convenient network manager or a lightweight manual setup, this article gives you a complete network setup path.
Because Arch Linux changes quickly and package names can occasionally vary, always check the official Arch Wiki if a command behaves differently on your system. Still, the methods below represent the standard and widely used approaches for connecting Arch Linux to Wi-Fi.
Table of Contents
- Introduction
- What You Need Before Connecting Arch Linux to Wi-Fi
- Check Your Network Interface and Hardware Support
- Install Required Wireless Packages
- Connect Using NetworkManager
- Connect Using iwd
- Connect Using wpa_supplicant Manually
- Static IP and DNS Configuration
- Automate Wi-Fi Connection at Boot
- Comparison of Wi-Fi Connection Methods
- Troubleshooting Common Arch Wi-Fi Issues
- Security Best Practices for Arch Wi-Fi
- Advanced: Hidden SSIDs, Enterprise Wi-Fi, and MAC Randomization
- Frequently Asked Questions
- Conclusion
What You Need Before Connecting Arch Linux to Wi-Fi
Before answering How to Connect Arch to Wifi? in a practical way, make sure your system has the basic requirements. Arch Linux does not include every wireless driver or firmware file by default, especially on a minimal installation. A missing firmware package is one of the most common reasons a wireless card appears but cannot scan for networks.
You will need:
- An installed Arch Linux system with terminal access.
- A user account with
sudoprivileges, or root access. - A working wireless network adapter, internal or USB.
- The correct SSID and password for your Wi-Fi network.
- Internet access through another method if possible, such as Ethernet or USB tethering, so you can install packages.
- The
linux-firmwarepackage for most wireless chipsets.
If you cannot use Ethernet, you can temporarily connect through a mobile phone USB tether, install the required packages, and then configure Wi-Fi. Another option is to download packages on another machine and transfer them, but that is more complicated and usually unnecessary.
It is also helpful to know whether your wireless adapter supports modern standards such as WPA2 or WPA3. Most adapters from the last decade support WPA2. WPA3 support depends on both hardware and software, and you should not assume it is available unless your adapter and access point both advertise it.
Check Your Network Interface and Hardware Support
The first technical step is to confirm that Linux detects your wireless adapter. Open a terminal and run:
ip link show
Look for an interface with a name such as wlan0, wlp2s0, or wlp3s0. Wireless interface names often begin with wl. If you only see lo and an Ethernet interface such as enp3s0, your wireless adapter may not be detected.
You can also inspect hardware with:
lspci -k | grep -A 3 -i network
lsusb
For internal cards, lspci should show the network controller and the kernel driver in use. For USB adapters, lsusb should list the device. If the adapter appears but no driver is loaded, you may need firmware or a specific driver package.
Check whether the interface is blocked by rfkill:
rfkill list
rfkill unblock wifi
Sometimes Wi-Fi is soft-blocked or hard-blocked. A soft block can be removed with rfkill unblock wifi. A hard block usually requires a physical switch or keyboard combination on the laptop. If the adapter is hard-blocked, software commands cannot enable it.
You can also check the kernel log for firmware errors:
dmesg | grep -i -E "wifi|wireless|firmware"
If you see messages about missing firmware, install linux-firmware and reboot. This single step solves many Arch Wi-Fi setup problems.
Install Required Wireless Packages
Once your adapter is detected, install the packages needed for wireless networking. A practical base set includes firmware, NetworkManager, iwd, wpa_supplicant, and wireless tools:
sudo pacman -S linux-firmware networkmanager iwd wpa_supplicant wireless_tools
What each package does:
- linux-firmware: Provides firmware files for many wireless chipsets.
- networkmanager: A high-level network management daemon with command-line and graphical clients.
- iwd: A modern wireless daemon that can replace wpa_supplicant in some setups.
- wpa_supplicant: The traditional tool for WPA/WPA2/WPA3 authentication.
- wireless_tools: Older utilities such as
iwconfig, still useful for diagnostics.
If you plan to use NetworkManager with iwd as its backend, install both. If you want a very minimal system, you may choose only iwd or only wpa_supplicant. However, installing a small set of tools gives you flexibility when troubleshooting.
After installation, update your system if needed:
sudo pacman -Syu
On Arch Linux, partial upgrades are not recommended. If you install packages on an outdated system, dependency conflicts can occur. A full upgrade is safer, though it requires internet access.
Connect Using NetworkManager
For most users, NetworkManager is the easiest answer to How to Connect Arch to Wifi?. It handles scanning, authentication, DHCP, DNS, reconnection, and profile storage. It also integrates well with desktop environments and window managers.
Enable and Start NetworkManager
Enable the service so it starts at boot, then start it now:
sudo systemctl enable --now NetworkManager
Check its status:
systemctl status NetworkManager
If NetworkManager is running, you can use nmcli, its command-line interface.
Scan and Connect with nmcli
List available Wi-Fi networks:
nmcli device wifi list
Connect to a network with a password:
nmcli device wifi connect "YourSSID" password "YourPassword"
If the SSID contains spaces, keep the quotation marks. NetworkManager will create a connection profile and connect automatically. You can verify the connection with:
nmcli connection show --active
ip a
ping -c 4 archlinux.org
To connect to a hidden network, add the hidden flag:
nmcli device wifi connect "HiddenSSID" password "YourPassword" hidden yes
To disconnect:
nmcli device disconnect wlan0
code>
Replace wlan0 with your actual interface name.
Manage Saved Profiles
NetworkManager saves profiles in /etc/NetworkManager/system-connections/. You can list them with:
nmcli connection show
Delete a profile:
nmcli connection delete "YourSSID"
Modify a profile, for example to set autoconnect:
nmcli connection modify "YourSSID" connection.autoconnect yes
code>
This method is ideal for laptops, desktops with Wi-Fi, and users who want reliable roaming between multiple networks.
Connect Using iwd
iwd, the iNet Wireless Daemon, is a modern alternative to wpa_supplicant. It is lightweight, fast, and designed to work well with minimal systems. You can use iwd directly or as a backend for NetworkManager.
Enable iwd
If you are using iwd directly, enable and start the service:
sudo systemctl enable --now iwd
code>
Check status:
systemctl status iwd
code>
Connect with iwctl
Open the interactive iwd client:
iwctl
code>
Inside the prompt, list devices:
device list
code>
Scan for networks:
station wlan0 scan
code>
Show available networks:
station wlan0 get-networks
code>
Connect to a network:
station wlan0 connect "YourSSID"
code>
You will be prompted for the password. iwd stores the passphrase and can reconnect automatically in the future. Exit with:
exit
code>
Verify with:
ip a
ping -c 4 archlinux.org
code>
Use iwd as NetworkManager Backend
If you prefer NetworkManager's interface but want iwd's wireless handling, configure NetworkManager to use iwd. Edit or create:
/etc/NetworkManager/NetworkManager.conf
code>
Add:
[device]
wifi.backend=iwd
code>
Then restart NetworkManager:
sudo systemctl restart NetworkManager
code>
This combination can be very stable and is popular on Arch Linux systems.
Connect Using wpa_supplicant Manually
Although NetworkManager and iwd are more convenient, understanding wpa_supplicant is valuable. It is the traditional tool behind many Linux wireless setups and remains useful for minimal installations, servers, and custom scripts.
Generate a Configuration File
Use wpa_passphrase to create a secure configuration:
wpa_passphrase "YourSSID" "YourPassword" | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf
code>
This generates a file containing the SSID and a hashed passphrase. You can inspect it:
cat /etc/wpa_supplicant/wpa_supplicant.conf
code>
For a hidden network, add scan_ssid=1 inside the network block.
Run wpa_supplicant
Start wpa_supplicant in the background:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
code>
Then obtain an IP address. If you use dhcpcd:
sudo dhcpcd wlan0
code>
If you use dhclient:
sudo dhclient wlan0
code>
Check connectivity:
ip a
ping -c 4 archlinux.org
code>
This manual method gives you full control but requires you to manage the daemon and DHCP client yourself. It is less convenient for roaming between networks, but it is excellent for learning how Linux networking works.
Static IP and DNS Configuration
Most home networks use DHCP, which automatically assigns an IP address. However, you may need a static IP for servers, port forwarding, or consistent remote access. When deciding How to Connect Arch to Wifi?, consider whether your network requires a fixed address.
Static IP with NetworkManager
Set a static IPv4 address, gateway, and DNS:
nmcli connection modify "YourSSID" ipv4.addresses 192.168.1.50/24
nmcli connection modify "YourSSID" ipv4.gateway 192.168.1.1
nmcli connection modify "YourSSID" ipv4.dns "1.1.1.1 8.8.8.8"
nmcli connection modify "YourSSID" ipv4.method manual
code>
Reactivate the connection:
nmcli connection up "YourSSID"
code>
Make sure the chosen IP address is outside your router's DHCP range to avoid conflicts.
Static IP with systemd-networkd
If you use systemd-networkd instead of NetworkManager, create a network file such as /etc/systemd/network/20-wifi.network:
[Match]
Name=wlan0
[Network]
Address=192.168.1.50/24
Gateway=192.168.1.1
DNS=1.1.1.1
DNS=8.8.8.8
code>
Then enable systemd-networkd:
sudo systemctl enable --now systemd-networkd
code>
Be careful not to run multiple network managers at the same time. NetworkManager and systemd-networkd can conflict if both try to manage the same interface.
Automate Wi-Fi Connection at Boot
A good network setup should survive reboots. The exact automation method depends on the tool you choose.
- NetworkManager: Enable
NetworkManager.service. Setconnection.autoconnect yeson your profile. - iwd: Enable
iwd.service. iwd remembers known networks and reconnects automatically. - wpa_supplicant: Create a systemd service or use
[email protected]if available, then enable DHCP automation. - netctl: Older Arch users may use netctl profiles, but NetworkManager or iwd is generally preferred today.
For NetworkManager, a complete automation setup looks like this:
sudo systemctl enable NetworkManager
nmcli connection modify "YourSSID" connection.autoconnect yes
nmcli connection modify "YourSSID" connection.autoconnect-priority 10
code>
For iwd, enabling the service is usually enough:
sudo systemctl enable iwd
code>
Always test by rebooting and checking:
ping -c 4 archlinux.org
code>
If the connection fails after reboot, inspect logs:
journalctl -u NetworkManager -b
journalctl -u iwd -b
code>
Comparison of Wi-Fi Connection Methods
Different tools serve different needs. The following table compares common Arch Linux Wi-Fi methods.
| Method | Best For | Pros | Cons |
|---|---|---|---|
| NetworkManager | Most users, laptops, desktops | Easy, automatic, supports VPNs and many profiles | Heavier than minimal tools |
| iwd | Minimal systems, fast boot | Lightweight, modern, fast scanning | Fewer high-level features than NetworkManager |
| wpa_supplicant | Manual setups, learning, servers | Universal, highly configurable | More manual work, less convenient roaming |
| systemd-networkd | Static IP and server-style setups | Integrates with systemd, predictable | Not a full wireless manager by itself |
In practice, many Arch users choose NetworkManager for daily use. Advanced users may combine iwd with NetworkManager for a good balance of convenience and performance.
Troubleshooting Common Arch Wi-Fi Issues
Even with the right commands, wireless setup can fail. Here are common problems and practical fixes.
No Wireless Interface Appears
If ip link shows no wireless device:
- Install or reinstall
linux-firmware. - Check
lspciorlsusbfor the adapter. - Load the correct kernel module if known.
- Reboot after firmware installation.
- Check whether the adapter is disabled in BIOS or by a hardware switch.
Wi-Fi Is Blocked by rfkill
Run:
rfkill list
rfkill unblock wifi
code>
If a hard block remains, use the laptop's wireless key or BIOS setting.
Wrong Password or Authentication Failure
Double-check the SSID and password. Passwords are case-sensitive. If your router uses WPA3 only, older adapters or software may fail. Try WPA2/WPA3 mixed mode on the router, or update your wireless stack.
DHCP Does Not Assign an IP
If authentication succeeds but there is no internet:
- Restart the connection.
- Check router DHCP settings.
- Try a static IP address.
- Verify that only one network manager is running.
- Inspect logs with
journalctl.
DNS Resolution Fails
If you can ping an IP address but not a domain name, DNS is the issue. Set DNS servers manually:
nmcli connection modify "YourSSID" ipv4.dns "1.1.1.1 8.8.8.8"
code>
Then reconnect. You can also inspect /etc/resolv.conf, but remember that NetworkManager may manage it.
Power Saving Causes Disconnects
Some adapters disconnect under power-saving mode. You can disable Wi-Fi power saving in NetworkManager:
nmcli connection modify "YourSSID" 802-11-wireless.powersave 2
code>
A value of 2 often disables power saving, depending on your version and driver. Check the Arch Wiki for driver-specific guidance.
Security Best Practices for Arch Wi-Fi
Connecting to Wi-Fi is only part of the task. Securing the connection matters, especially on laptops and portable devices.
- Use WPA2 or WPA3 with a strong, unique passphrase.
- Avoid WEP and open networks whenever possible.
- Disable WPS on your router if it is enabled.
- Keep
linux-firmwareand network packages updated. - Use a firewall such as
ufwornftables. - Avoid connecting to unknown networks without a VPN.
- Do not store plaintext passwords in shared or insecure locations.
- Consider MAC address randomization for privacy on public networks.
On Arch Linux, security is largely your responsibility. The system gives you tools, but it does not impose many defaults. Reviewing your router settings and your installed services is just as important as configuring the client.
Advanced: Hidden SSIDs, Enterprise Wi-Fi, and MAC Randomization
Some networks require extra configuration. Hidden networks do not broadcast their SSID. With NetworkManager, use:
nmcli device wifi connect "HiddenSSID" password "YourPassword" hidden yes
code>
With wpa_supplicant, add scan_ssid=1 to the network block.
Enterprise networks use 802.1X authentication, often with a username, password, and CA certificate. NetworkManager supports this through connection profiles. You may need to specify EAP method, identity, password, and CA certificate path. The exact settings depend on your organization or university.
MAC randomization can improve privacy. NetworkManager supports MAC address randomization for scanning and connections. You can configure it in /etc/NetworkManager/NetworkManager.conf or per-connection. Be aware that some networks bind access to a specific MAC address, so randomization can cause connection issues in those environments.
If you travel between networks, save multiple profiles and assign priorities. NetworkManager can automatically choose the best available network based on signal strength and priority.
Frequently Asked Questions
How do I know which Wi-Fi method to use on Arch Linux?
Use NetworkManager if you want the easiest experience. Use iwd if you prefer a lightweight modern daemon. Use wpa_supplicant if you want full manual control or are building a minimal system.
Why does my Wi-Fi adapter show up but not connect?
The most common causes are missing firmware, rfkill blocking, incorrect password, WPA3 incompatibility, or another network manager conflicting. Check logs and verify that only one service manages the interface.
Can I use a graphical tool to connect to Wi-Fi on Arch?
Yes. If you install a desktop environment, tools such as GNOME Settings, KDE Plasma's network applet, or nm-applet can manage NetworkManager connections graphically. The underlying service still needs to be enabled.
Do I need to install wireless_tools?
Not always. Modern tools such as ip, iw, and nmcli cover most needs. However, wireless_tools can still help with diagnostics on older setups.
How can I reconnect automatically after reboot?
Enable your chosen network service and mark your connection profile for autoconnect. For NetworkManager, use connection.autoconnect yes. For iwd, enabling the service is usually sufficient.
Is it safe to use public Wi-Fi on Arch Linux?
It can be safe if you use a VPN, keep your system updated, avoid sensitive transactions on open networks, and use a firewall. Arch Linux does not add many protective defaults, so you should configure security consciously.
Conclusion
Learning How to Connect Arch to Wifi? is an essential step in making Arch Linux practical for everyday use. The minimal nature of Arch means you must choose and configure your networking tools, but that also gives you clarity and control. For most users, NetworkManager provides the smoothest experience. iwd offers a fast and modern alternative, while wpa_supplicant remains a powerful manual option. After connecting, automate the service, configure DNS or a static IP if needed, and follow basic security practices. With these steps, your Arch Linux system can connect reliably to Wi-Fi at boot and across different networks.