How to use the command iwctl (with examples)
- Linux
- December 25, 2023
iwctl is a command used to control the iwd network supplicant. It allows users to interact with the iwd daemon to manage network connections and perform various Wi-Fi related tasks. Whether you want to connect to a Wi-Fi network, scan for available networks, or get information about your network stations, iwctl provides a simple and intuitive way to accomplish these tasks.
Use case 1: Start the interactive mode
Code:
iwctl
Motivation: Starting the interactive mode allows users to directly enter commands and interact with the iwctl command without having to type the command each time. This can be helpful, especially when you need to perform multiple actions in succession.
Explanation: The command iwctl
is used to start the interactive mode, where users can enter commands directly and benefit from autocompletion. Once started, you can enter subsequent commands directly without the need to prefix them with iwctl
.
Example output:
[iwd]#
Use case 2: Call general help
Code:
iwctl --help
Motivation: When you are unsure about the available commands and their usage, calling the general help provides a quick reference to understand the capabilities of the iwctl
command.
Explanation: By using the --help
option with the iwctl
command, you can retrieve a list of available commands along with a brief description of each. This helps users familiarize themselves with the command’s capabilities and understand how to use it effectively.
Example output:
Usage: iwctl [OPTIONS] COMMAND [ARGS]...
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
agent Control the pairing agent.
device Control devices.
help Show this message and exit.
network Control networks.
passphrase Control passphrases.
peer Control peers.
Use case 3: Display your Wi-Fi stations
Code:
iwctl station list
Motivation: Before connecting to a Wi-Fi network, it is essential to identify the available stations. Using the station list
command helps you obtain a list of available Wi-Fi stations.
Explanation: By running the station list
command, iwctl displays a list of Wi-Fi stations detected by the iwd network supplicant. Each station is identified by its unique station name, which can be useful when connecting to a specific station.
Example output:
* wlan0
wlan1
Use case 4: Start looking for networks with a station
Code:
iwctl station station scan
Motivation: To discover available Wi-Fi networks, it is necessary to initiate a network scan. The station scan
command allows you to search for nearby networks, which can then be examined or connected to.
Explanation: The station scan
command is used to instruct a specific Wi-Fi station to initiate a network scan. It triggers the station to search for available networks and collect relevant information about each network, including network name (SSID), signal strength, encryption type, etc.
Example output:
Scanning started on station wlan0
Use case 5: Display the networks found by a station
Code:
iwctl station station get-networks
Motivation: After performing a network scan, it is useful to view the details of the discovered networks. The station get-networks
command can provide valuable information about the available Wi-Fi networks.
Explanation: By using the station get-networks
command, iwctl retrieves a list of Wi-Fi networks detected by the specified station. The list includes information such as network names (SSIDs), signal strengths, encryption type, and other parameters, helping users choose the most suitable network to connect to.
Example output:
SSID BSSID FREQ CHAN RATE SIGNAL SECURITY
-------------------------------------------------------------------------------------------
MyWiFiNetwork 12:34:56:78:90:AB 2.4 6 65 Mbit/s ▂▄▆█ -43 dBm WPA2
AnotherNetwork123 98:76:54:32:10:FE 5.0 36 45 Mbit/s ▂▄▆_ -67 dBm WEP
HiddenNetwork (hidden) 2.4 1 1 Mbit/s ▂___ -84 dBm Open
Use case 6: Connect to a network with a station
Code:
iwctl station station connect network_name
Motivation: Once you have identified the network you want to join, the station connect
command helps initiate a connection to that network using the specified station.
Explanation: By executing the station connect
command, you can connect the specified station to a specific Wi-Fi network identified by its network_name (SSID). If the network requires credentials (e.g., a password), iwctl will prompt for the required information during the connection process.
Example output:
Please enter the passphrase for network_name: ********
Successfully connected to network_name
Conclusion:
Using the iwctl command, you can effectively manage your Wi-Fi connections and perform various tasks related to Wi-Fi networks. Whether you need to connect to a network, scan for available networks, or retrieve information about your network stations, iwctl provides a straightforward and efficient way to accomplish these tasks. With the examples provided in this article, you should have a solid understanding of how to use the iwctl command and leverage its capabilities to enhance your Wi-Fi experience.