Setup and Configuration

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

HowToFixWiFi

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

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-dkms from the AUR
  • Realtek: often linux-firmware, but some newer cards need rtw89-dkms-git
  • MediaTek: linux-firmware plus sometimes mt76 drivers

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/. Enable iwd.service to start on boot.
  • wpa_supplicant: Enable [email protected] and dhcpcd.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-firmware updated: 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.org and DNS resolution with nslookup archlinux.org.
  • Use journalctl -u iwd or journalctl -u NetworkManager for 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.