Linux Commands Examples

A great documentation place for Linux commands


wpa_cli action script

see also : wpa_cli - wpa_supplicant - ifup


wpa_action IFACE ACTION

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


no example yet ...

... Feel free to add your own example above to help other Linux-lovers !


wpa_action is a shell script designed to control the ifupdown framework according to ACTION events received from wpa_supplicant. wpa_cli receives CONNECTED and DISCONNECTED events from wpa_supplicant via the crtl_iface socket and gives the ACTION event to the wpa_action script as an argument, along with the IFACE to be acted upon.

wpa_action also receives an environment variable from wpa_cli, WPA_ID_STR, containing an alphanumeric identification string for the CURRENT network block. WPA_ID_STR is provided by the ’id_str’ network block option of wpa_supplicant.conf, and provides a means to map the ACTION to a LOGICAL interface configured in the interfaces file.

If either the ifupdown interfaces or ifstate file cannot be found, wpa_action will exit silently (status 0). wpa_action will search the following locations for their existance:





An ACTION to be performed on the IFACE.

wpa_supplicant has completed authentication. ifup IFACE=WPA_ID_STR is invoked and the action is logged to syslog. Network settings for the LOGICAL interface WPA_ID_STR are applied.


wpa_supplicant has detected disconnection. ifdown IFACE=WPA_ID_STR is invoked and the action is logged to syslog. Network settings for the LOGICAL interface WPA_ID_STR are undone.


The ’stop’ ACTION is a called manually by the user, to stop the wpa_cli daemon, invoke ifdown IFACE (if the IFACE is present in the ifstate file) and stop the wpa_supplicant daemon.


The ’reload’ ACTION can be used to reload the wpa_supplicant configuration file specified by wpa-roam . ’restart’ is a synonym for ’reload’ and can be used equally. The action is logged to /var/log/wpa_action.log.


An alphanumeric identification string provided by the ’id_str’ network block option of wpa_supplicant.conf is exported to wpa_action as an environment variable, WPA_ID_STR. When ’id_str’ is not configured for the CURRENT network block, ’default’ is substituted for the absent WPA_ID_STR environment variable.

A unique network identifier, WPA_ID, is exported to wpa_action. It is the number assigned to the CURRENT wpa_supplicant network block (network_id).


Network interface to be acted upon, for example ’eth1’ or ’wlan0’.


The only reasons for wpa_action to be explicitly executed by the user is to stop wpa_cli from controlling ifupdown or reload the wpa_supplicant.conf file after editing.

wpa_action eth1 stop

Otherwise, wpa_action is given as an argument to a wpa_cli daemon.

wpa_cli -i eth1 -a /sbin/wpa_action -B

This can be done by using the wpa-roam option in the interfaces file. wpa-roam takes one argument, a user provided wpa_supplicant.conf file.

The inet METHOD must be ’manual’ for this interface, as it will be configured according to wpa_cli action events. Also supply a ’default’ interfaces stanza using the dhcp inet METHOD so that networks without an ’id_str’ option can fallback to attempting to receive an ip via dhcp. If one or more networks requires additional network configuration, provide an unique ’id_str’ for each network, and an interfaces stanza using the ’id_str’ value as a LOGICAL interface. The following interfaces file is configured to use dhcp for any network without an ’id_str’, a static ip for the network with an ’id_str’ of ’home_static’ and dhcp plus an additional post-up command for the network with an ’id_str’ of ’uni’.

An example wpa_supplicant.conf configured to roam between 3 different networks:















The corresponding interfaces file would contain LOGICAL interfaces, that correlate to each unique ’id_str’ provided by the configuration file:

iface eth1 inet manual

wpa-driver wext

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

iface uni inet dhcp

iface home_static inet static

see also

wpa_cli , wpa_supplicant , wpa_supplicant.conf, ifup , interfaces


This manual page was written by Kel Modderman <kel[:at:]otaku42[:dot:]de> for the Debian GNU system (but may be used by others).

How can this site be more helpful to YOU ?

give  feedback