
How to Get Wifi on Arch Linux? Linux Network Setup
Introduction If you have ever installed Arch Linux from scratch, you already know that it gives you a completely bare system and expects you to build everything yourself. That minimalism is part of its charm, but it also means that getting online, especially o
Introduction
If you have ever installed Arch Linux from scratch, you already know that it gives you a completely bare system and expects you to build everything yourself. That minimalism is part of its charm, but it also means that getting online, especially over Wi-Fi, can feel intimidating the first time. The question of How to Get Wifi on Arch Linux? is one of the most common stumbling blocks for new users, and it is completely normal to feel stuck here.
Unlike Ubuntu or Fedora, Arch does not ship with a pre-configured graphical network manager out of the box. You are handed a shell and a basic set of tools, and the rest is up to you. The good news is that once you understand the moving parts, setting up wireless networking on Arch is actually straightforward and gives you far more control than any point-and-click distro ever could.
In this guide, we will walk through every step of getting Wi-Fi working on Arch Linux. We will cover how to identify your wireless adapter, install the right drivers and firmware, and connect using several different methods, including iwd, wpa_supplicant, and NetworkManager. We will also tackle common errors, share practical tips, and answer frequently asked questions so you can get online quickly and stay connected reliably.
Table of Contents
- Introduction
- Prerequisites Before You Begin
- Understanding Networking on Arch Linux
- Identifying Your Wireless Hardware
- Installing Drivers and Firmware
- Method 1: Using iwd and iwctl
- Method 2: Using wpa_supplicant
- Method 3: Using NetworkManager
- Comparison of Wi-Fi Tools
- Connecting to Different Network Types
- Making the Connection Persistent
- Troubleshooting Common Issues
- Tips and Best Practices
- Frequently Asked Questions
- Conclusion
Prerequisites Before You Begin
Before you can answer the question of How to Get Wifi on Arch Linux? for your own machine, make sure you have a few things ready. First, you need a working Arch Linux installation. If you are still in the live ISO environment, Wi-Fi tools are already included, but on an installed system you may need to bootstrap connectivity using Ethernet or a USB tether from your phone.
Here is a quick checklist:
- A laptop or desktop with a wireless adapter
- Root or sudo access
- An Ethernet cable or phone USB tether as a fallback (highly recommended)
- Basic familiarity with the terminal
- Your Wi-Fi SSID and password
If you have no wired fallback and no Wi-Fi yet, you can still use the Arch ISO to chroot into your system and install packages, but having a backup connection makes life much easier.
Understanding Networking on Arch Linux
Arch Linux does not impose a single networking stack. Instead, it gives you the freedom to choose. The kernel provides the low-level wireless drivers through the cfg80211 and mac80211 subsystems, while user-space tools handle scanning, authentication, and connection management.
The three most popular user-space options are:
- iwd (iNet Wireless Daemon) – A modern, lightweight wireless daemon with its own configuration. It is fast and has excellent WPA3 support.
- wpa_supplicant – The classic, battle-tested tool that almost every Linux distribution has used for years. It is stable but more manual.
- NetworkManager – A full-featured connection manager with both CLI and GUI frontends. Best for laptops that roam between networks.
Understanding this layered approach is key. The driver talks to the hardware, the daemon handles authentication, and a frontend or service manager keeps it running across reboots.
Identifying Your Wireless Hardware
The first real step in solving How to Get Wifi on Arch Linux? is figuring out exactly which wireless card you have. Run the following command:
lspci | grep -i network
For USB adapters, use:
lsusb | grep -i wireless
You can also check kernel messages for firmware or driver errors:
dmesg | grep -i -E "wifi|wireless|firmware|iwl|ath|rtw"
Common chipsets include Intel (iwlwifi), Atheros/Qualcomm (ath9k, ath10k), Realtek (rtw88, rtl8xxxu), and Broadcom (broadcom-wl). Knowing your chipset tells you which driver and firmware package to install.
Installing Drivers and Firmware
Most wireless drivers are already in the Linux kernel. What you usually need is the firmware. Arch provides the linux-firmware package, which covers the majority of chipsets.
sudo pacman -S linux-firmware
For specific hardware, you may need additional packages:
- Intel:
linux-firmware(iwlwifi firmware included) - Broadcom:
broadcom-wl-dkmsfrom the AUR - Realtek: often
linux-firmware, but some newer cards needrtw89-dkms-git - MediaTek:
linux-firmwareplus sometimesmt76drivers
After installing firmware, reload the driver or reboot:
sudo modprobe -r iwlwifi && sudo modprobe iwlwifi
Replace iwlwifi with your actual driver module name. You can verify the interface appeared with:
ip link show
Look for an interface named something like wlan0 or wlp2s0.
Method 1: Using iwd and iwctl
iwd is arguably the cleanest modern solution. It is lightweight, handles WPA2 and WPA3, and integrates well with systemd. Many Arch users prefer it for its simplicity.
Installing and Enabling iwd
sudo pacman -S iwd
sudo systemctl enable --now iwd.service
Connecting with iwctl
Launch the interactive shell:
iwctl
Then run these commands inside iwctl:
device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect "YourSSID"
You will be prompted for the password. Once connected, exit with quit. Verify with:
ip addr show wlan0
ping -c 4 archlinux.org
iwd stores credentials in /var/lib/iwd/, so the connection persists across reboots automatically.
Method 2: Using wpa_supplicant
If you prefer the traditional route, wpa_supplicant is rock solid and universally supported. It requires a bit more manual configuration but is extremely reliable.
Installation
sudo pacman -S wpa_supplicant dhcpcd
Configuration File
Create /etc/wpa_supplicant/wpa_supplicant.conf:
ctrl_interface=/run/wpa_supplicant
update_config=1
network={
ssid="YourSSID"
psk="YourPassword"
}
For better security, generate the PSK hash instead of storing plaintext:
wpa_passphrase "YourSSID" "YourPassword" | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf
Running wpa_supplicant
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
sudo dhcpcd wlan0
To make it persistent, enable the systemd service:
sudo systemctl enable [email protected]
sudo systemctl enable dhcpcd.service
Method 3: Using NetworkManager
For laptop users who move between networks frequently, NetworkManager is the most convenient choice. It provides a command-line tool (nmcli) and integrates with desktop environments.
Installation
sudo pacman -S networkmanager
sudo systemctl enable --now NetworkManager.service
Connecting via nmcli
Scan for networks:
nmcli device wifi list
Connect:
nmcli device wifi connect "YourSSID" password "YourPassword"
NetworkManager stores profiles in /etc/NetworkManager/system-connections/ and reconnects automatically. If you use a desktop environment like GNOME or KDE, their applets will also work out of the box with NetworkManager.
Comparison of Wi-Fi Tools
Choosing the right tool depends on your workflow. Here is a side-by-side comparison to help you decide which fits your needs when figuring out How to Get Wifi on Arch Linux?:
| Feature | iwd | wpa_supplicant | NetworkManager |
|---|---|---|---|
| Resource Usage | Very Low | Low | Moderate |
| WPA3 Support | Excellent | Good | Good |
| Ease of Use | Easy (iwctl) | Manual config | Very Easy (nmcli/GUI) |
| Auto-Reconnect | Yes | With service | Yes |
| Best For | Minimal systems | Servers / embedded | Laptops / desktops |
| GUI Integration | No | No | Yes |
Connecting to Different Network Types
Real-world networks are not all the same. Here is how to handle common scenarios.
Open Networks
With iwd: station wlan0 connect "OpenNetwork". With NetworkManager: nmcli device wifi connect "OpenNetwork". No password needed.
WPA2-Enterprise (802.1X)
Enterprise networks require username and password. NetworkManager handles this most gracefully:
nmcli connection add type wifi con-name "WorkWiFi" ifname wlan0 ssid "CorpSSID"
nmcli connection modify "WorkWiFi" wifi-sec.key-mgmt wpa-eap 802-1x.eap peap 802-1x.identity "user" 802-1x.password "pass"
nmcli connection up "WorkWiFi"
Hidden SSIDs
Hidden networks do not broadcast their name. With iwd, use station wlan0 connect-hidden "HiddenSSID". With NetworkManager, add the connection manually and set wifi.hidden yes.
Making the Connection Persistent
A connection that drops after reboot is frustrating. Persistence depends on your chosen tool:
- iwd: Credentials are saved automatically in
/var/lib/iwd/. Enableiwd.serviceto start on boot. - wpa_supplicant: Enable
[email protected]anddhcpcd.service. - NetworkManager: Enable
NetworkManager.service. Profiles are stored automatically.
Also ensure your interface is not blocked by rfkill:
rfkill unblock wifi
rfkill list
Troubleshooting Common Issues
Even with careful setup, things can go wrong. Here are the most common problems and fixes.
No Wireless Interface Detected
Check that the driver loaded: lsmod | grep -i wifi. Verify firmware: dmesg | grep -i firmware. Some cards need linux-firmware updates or specific DKMS packages.
Authentication Failed
Double-check your password. For WPA2-Enterprise, verify the EAP method and identity. Time sync matters for some enterprise auth; run timedatectl set-ntp true.
Connected but No IP Address
Run dhcpcd wlan0 or check systemctl status dhcpcd. Ensure no conflicting service (like systemd-networkd) is also trying to manage the interface.
Slow Speeds or Frequent Disconnects
Check power management: iw dev wlan0 get power_save. Disable with iw dev wlan0 set power_save off. Also check for interference and router channel congestion.
Tips and Best Practices
Here are practical recommendations for keeping your wireless setup healthy:
- Always keep
linux-firmwareupdated:sudo pacman -Syu. - Use only one network manager at a time to avoid conflicts.
- Prefer iwd for minimal installs and NetworkManager for daily-driver laptops.
- Store passwords securely; avoid plaintext in config files when possible.
- Test connectivity with
ping archlinux.organd DNS resolution withnslookup archlinux.org. - Use
journalctl -u iwdorjournalctl -u NetworkManagerfor debugging. - Enable NTP for correct time, which helps with TLS and enterprise auth.
Frequently Asked Questions
Can I get Wi-Fi working during the Arch installation?
Yes. The Arch ISO includes iwd. Use iwctl to connect before running pacstrap. This is the standard way to install Arch over wireless.
Which tool is best for beginners?
NetworkManager is usually the easiest because of its GUI and nmcli. iwd is a close second for minimal setups.
Why is my Wi-Fi interface named wlan0 on some systems and wlp2s0 on others?
Arch uses predictable network interface names by default. You can disable them by adding net.ifnames=0 to your kernel parameters if you prefer classic names.
Do I need to install drivers manually?
Usually no. The kernel includes most drivers. You mainly need firmware via linux-firmware. Broadcom cards are the common exception.
How do I switch from one tool to another?
Stop and disable the old service, then enable the new one. Remove conflicting packages to avoid two daemons fighting over the interface.
Is WPA3 supported on Arch?
Yes, both iwd and recent wpa_supplicant support WPA3-SAE. Your hardware and router must also support it.
Conclusion
Answering How to Get Wifi on Arch Linux? comes down to understanding your hardware, installing the right firmware, and choosing a connection manager that fits your workflow. Whether you go with the modern simplicity of iwd, the rock-solid reliability of wpa_supplicant, or the convenience of NetworkManager, Arch gives you the tools to build exactly the setup you want.
Start with lspci to identify your card, install linux-firmware, then pick your preferred method and follow the steps above. With a little patience, you will have a stable, persistent wireless connection tailored to your needs. Once you are online, do not forget to enable NTP, keep your system updated, and enjoy the freedom that Arch Linux provides.