Installing iwctl (iwd) and Enabling Wi-Fi on Minimal Arch Linux Without Internet
I recently installed minimal Arch Linux in my homelab system, but I had a big problem: no internet connection. My Wi-Fi device was detected, but I couldn’t connect. After some testing, I found I needed to install extra packages manually and also use the rfkill unblock command to enable Wi-Fi. Here are the steps I followed to fix it.
1. Required Packages
To make Wi-Fi work, these packages are needed:
- ell → dependency for iwd
- iwd → provides
iwctlfor Wi-Fi management - dhcpcd → needed to get an IP address
2. Download from an Arch Mirror
Since I had no internet on Arch, I used another system to download the packages from an Arch Linux mirror.
Example files (versions may change):
If versions are different, just download the latest ones from the same directory.
3. Transfer to Arch
Copy the .pkg.tar.zst files to a USB stick.
On Arch, mount the USB:
sudo mount /dev/sdX1 /mnt
cd /mnt
(Replace /dev/sdX1 with your USB device name check with lsblk.)
4. Install the Packages
Install them in the right order:
sudo pacman -U ell-*.pkg.tar.zst iwd-*.pkg.tar.zst dhcpcd-*.pkg.tar.zst
5. Enable and Start Services
Start iwd (Wi-Fi service):
sudo systemctl enable --now iwd
Start dhcpcd (IP address service):
sudo systemctl enable --now dhcpcd
6. Unblock Wi-Fi (rfkill)
Sometimes the Wi-Fi card is blocked. To unblock:
rfkill unblock all
7. Connect to Wi-Fi Using iwctl
Open iwctl shell:
iwctl
Inside:
[iwd]# device list
[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
[iwd]# station wlan0 connect "YourSSID"
(Replace wlan0 with your Wi-Fi device name, found from device list.)
Enter your Wi-Fi password when asked.
8. Get an IP Address
After connecting, run:
sudo dhcpcd wlan0
Check IP:
ip addr show wlan0
You should see something like inet 192.168.x.x.
Test internet:
ping -c 3 archlinux.org
Summary
- No internet at first → needed packages from mirror.
- Installed ell, iwd, and dhcpcd.
- Enabled iwd and dhcpcd services.
- Used
rfkill unblock allto fix blocked Wi-Fi. - Connected with
iwctland got IP with dhcpcd.
Now Wi-Fi works fine on minimal Arch Linux.