Man page - wpa_action(8)
Packages contains this manual
Manual
WPA_ACTION
NAMESYNOPSIS
DESCRIPTION
IFACE
ACTION
ENVIRONMENT
USAGE
SEE ALSO
AUTHOR
NAME
wpa_action - wpa_cli action script
SYNOPSIS
wpa_action IFACE ACTION
DESCRIPTION
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 existence:
|
/etc/network/run/ifstate |
||
|
/run/network/ifstate |
||
|
/etc/network/interfaces |
IFACE
Network interface to be acted upon, for example āeth1ā or āwlan0ā.
ACTION
An
ACTION
to be performed on the
IFACE
.
CONNECTED
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.
DISCONNECTED
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.
|
stop |
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. |
||
|
reload |
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 . |
ENVIRONMENT
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).
USAGE
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 /usr/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:
network={
|
ssid="foo" |
|
|
id_str="uni" |
|
|
key_mgmt=NONE |
}
network={
|
ssid="bar" |
|
|
id_str="home_static" |
|
|
psk=123456789... |
}
network={
|
ssid="" |
|
|
key_mgmt=NONE |
}
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
address 192.168.0.20
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
SEE ALSO
wpa_cli(8) , wpa_supplicant(8) , wpa_supplicant.conf(5) , ifup(8) , interfaces(5)
AUTHOR
This manual page was written by Kel Modderman <kel@otaku42.de> for the Debian GNU system (but may be used by others).