iwctl
Manage wireless connections using command line
TLDR
Run iwctl in interactive mode
Display Wi-Fi stations
Look for networks with a station
Display the networks found by a station
Connect to a network with a station, if credentials are needed they will be asked
Display help
SYNOPSIS
iwctl [--help] [--version] [command [arguments]...]
PARAMETERS
--help, -h
Display general help or help for specific command.
--version, -V
Show version information.
DESCRIPTION
iwctl is the primary command-line client for the iwd (iNet Wireless Daemon), a lightweight wireless daemon developed as an alternative to wpa_supplicant. It offers an interactive prompt for managing Wi-Fi devices, scanning networks, connecting to access points, and viewing connection status.
Launch iwctl to enter the [iwd]# prompt. Key workflows include:
• device list to identify interfaces (e.g., wlan0).
• device wlan0 scan or station wlan0 scan to discover networks.
• station wlan0 get-networks to list results.
• station wlan0 connect SSID to join (supports PSK passphrases, WPA3, and EAP via agents).
Supports open networks, WPA/WPA2/WPA3-Personal/Enterprise. Minimal configuration needed; iwd handles state internally. Non-interactive use allows single commands like iwctl station wlan0 scan.
Requires iwd service active (systemctl enable --now iwd). Uses external agents (e.g., iwd-agent) for secrets. Simpler than NetworkManager or wpa_cli but lacks some advanced features.
CAVEATS
iwd service must be running. Root or PolicyKit privileges often required. Limited support for vendor-specific features or complex 802.11 configs vs. wpa_supplicant. Passphrases handled via agents.
KEY SUBCOMMANDS
device list: List devices.
station <dev> scan: Scan networks.
station <dev> get-networks: Show networks.
station <dev> connect <SSID>: Connect.
station <dev> disconnect: Disconnect.
AGENTS
iwd uses external agents for passphrases/EAP (e.g., iwd-agent-record for GUI prompts).
HISTORY
Developed by Intel's Linux WiFi team starting 2016; iwd/iwctl 0.1 released April 2017. Focuses on systemd integration, simplicity, and modern kernel APIs.
SEE ALSO
iwd(8), wpa_cli(8), iw(8), nmcli(1), wpa_supplicant(8)


