Provided by: wpasupplicant_2.10-9ubuntu1_amd64 bug


       wpa_action - wpa_cli action script


       wpa_action IFACE ACTION


       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:


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


       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.

       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.


       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).


       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


       wpa_cli(8), wpa_supplicant(8), wpa_supplicant.conf(5), ifup(8), interfaces(5)


       This manual page was written by Kel Modderman <> for the Debian  GNU  system
       (but may be used by others).

                                           26 May 2006                              WPA_ACTION(8)