WPA_ACTION
Section: (8)
Updated: 26 May 2006
Index
Return to Main Contents
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 /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).
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- IFACE
-
- ACTION
-
- ENVIRONMENT
-
- USAGE
-
- SEE ALSO
-
- AUTHOR
-
This document was created by
man2html,
using the manual pages.
Time: 11:02:20 GMT, April 25, 2024