int6kwait(1)                                 Qualcomm Atheros Open Powerline Toolkit                                int6kwait(1)

NAME
       int6kwait - Qualcomm Atheros INT6x00 Powerline Device Procrastinator

SYNOPSIS
       int6kwait [options] [device] [device] [...]

DESCRIPTION
       Poll  a  Qualcomm  Atheros powerline device, waiting for one or more events to occur before continuing or returning.  The
       events include reset or power off, restart or power on and network association.  It is used to  pause  shell  scripts  at
       critical points where a device must be in a known state before continuing.

       This  program  is  part of the Qualcomm Atheros Powerline Toolkit.  See the plc man page for an overview and installation
       instructions.

OPTIONS
       -a     Poll the device every few seconds using VS_NW_INFO messages until the device indicates that a networks exists  and
              has  at  least  one  station.   This option can give false readings if other devices have dropped off-line and the
              device bridging table still holds information about them.  The program always checks for this event last if  other
              event options are specified.

       -c count
              The  number  of times the program will poll the device before declaring an event failure.  The program will wait a
              fixed period of time between each poll attempt.  Overall wait time is count/frequency where count can be  modified
              using  option  -c.   Overall  wait  time is always approximate since operating system overhead and latency are not
              taken into account.  The default count is 300.

       -e     Redirects stderr messages to stdout.  By convention status and error messages are printed on stderr while  primary
              program output is printed on stdout.  This option prints all output on stdout in cases where this is desired.

       -f firmware
              The identification string for firmware that should be running after the device starts.  This option can be used to
              detect a failed firmware load.  If the actual identification string does not match this one once the device starts
              then  an  error is reported.  If option -x is present then the program terminates with a non-zero exit code.  This
              option   has   no   effect   unless   option   -s   is   present.    An   identification   string    looks    like
              "INT6000-MAC-3-1-3143-1690-20071107-FINAL-B" and can be obtained using int6k -r.

       -i     Select  the host Ethernet interface.  All requests are sent via this host interface and only reponses received via
              this host interface are recognized.  The default interface is eth1 because most people use eth0 as their principle
              network  connection;  however,  if  environment  string "PLC" is defined then it takes precedence over the default
              interface.  This option then takes precedence over either default.

       -p frequency
              The polling frequency expressed in polls-per-second.  For example, 1 means one poll per second and  10  means  ten
              polls per second.  Overall wait time is count/frequency where count may be modified using option -c.  Overall wait
              time is always approximate since operating system overhead and latency are not taken into  account.   The  default
              frequency is 5.

       -q     Enter quiet mode.  Progress messages are suppressed.

       -r     Poll  the  device  every  few  seconds  using VS_SW_VER messages until the bootloader or runtime firmware fails to
              respond or the poll count exhausts.  The absence of a response indicates that the device either lost connection to
              the  host,  lost  power or has reset.  The program always checks for this event first when other events are speci‐
              fied.

       -R     Reset the device then check return status.  Exit program on error if option -x is present; otherwise,  repeat  the
              reset request until the device either accepts the request or the wait time is exceeded.

       -s     Poll  the  device  every few seconds using VS_SW_VER messages until the bootloader or runtime firmware responds or
              the poll count exhausts.  The presence of a response indicates that the device has either connected to  the  host,
              received power or finished reboot.

       -t     Display the actual time in seconds taken for successful completion, or waited for unsuccessful completion, of ecah
              event.

       -v     Enter verbose mode.  All Etherenet frames sent or received by the program are displayed on stdout.

       -w seconds
              Additional time to wait once all events have occured.  This wait does not occur if  any  of  the  events  timeout.
              When  no  other  events  are specified this option is effectively equivalent to sleep.  This option can be used to
              allow the device or the network to settle.  For example, a nominal 5 second wait is  recommended  after  a  device
              successfully associates before attempting to transfer data.

       -x     Exit  program  on  first  error  with  a non-zero exit code.  This option allows shell scripts to detect failed or
              incomplete operations and take the appropriate action.

       -?, --help
              Print program help summary on stdout.  This option takes precedence over other options on the command line.

       -!, --version
              Print program version information on stdout.  This option takes precedence over other options on the command line.
              Use  this option when sending screen dumps to Atheros Technical Support so that they know exactly which version of
              the Linux Toolkit you are using.

ARGUMENTS
       device The Media Access Control (MAC) address of some device.  Addresses are 6 hexadecimal octets optionally separated by
              colon.   For  example,  the  addresses  "00b052000001",  "00:b0:52:00:00:01" and "00b052:000001" are all valid and
              equivalent.  For convenience, the symbolic address  "local"  resolves  to  "00:b0:52:00:00:01"  and  the  symbolic
              addresses "all" and "broadcast" both resolve to "ff:ff:ff:ff:ff:ff".

REFERENCES
       See the Qualcomm Atheros HomePlug AV Firmware Technical Reference Manual for more information.

DISCLAIMER
       Atheros  HomePlug  AV  Vendor Specific Management Message Entry structure and content is proprietary to Qualcomm Atheros,
       Ocala FL USA.  Consequently, public information may not be available.  Qualcomm Atheros reserves the right to modify mes‐
       sage  structure and content in future firmware releases without any obligation to notify or compensate users of this pro‐
       gram.

EXAMPLES
       The following command polls the local device until firmware stops running then polls the  device  until  firmware  starts
       running again.  This command can be inserted into a shell script at a point where the device must reset and reboot before
       proceeding.  Observer that the program waits up to 60 seconds for each event, in turn.  The 60 seconds is the product  of
       60 poll attempts spaced 1 second apart.

          # int6kwait -rs
          eth0 00:B0:52:BA:BA:01 Allow 60 seconds for Reset
          eth0 00:B0:52:BA:BA:01 Allow 60 seconds for Start

       The  following  example specifies 5 poll attempts spaced 10 seconds apart.  Less frequent polling reduces network traffic
       but makes the program less responsive to events.  Observe that the allotted time applies to each event in turn.

          # int6kwait -rs -p 10 -c 5
          eth0 00:B0:52:BA:BA:01 Allow 50 seconds for Reset
          eth0 00:B0:52:BA:BA:01 Allow 50 seconds for Start

       The next example reports the actual amount of time taken for each event to occur.  Observe that the  last  event,  device
       association, did not occur within the allotted time.

          # int6kwait -rsat
          eth0 00:B0:52:BA:BA:01 Allow 60 seconds for Reset
          etho 00:B0:52:BA:BA:01 Waited 22 seconds to Reset
          eth0 00:B0:52:BA:BA:01 Allow 60 seconds for Start
          etho 00:B0:52:BA:BA:01 Waited 4 seconds to Start
          eth0 00:B0:52:BA:BA:01 Allow 60 seconds for Assoc
          etho 00:B0:52:BA:BA:01 Waited 60 seconds for Assoc
          etho 00:B0:52:BA:BA:01 Device did not Assoc

       The  following  example  illustrates use of the revision string to detect mismatched firmware.  In this example, we reset
       the device first, using program int6k, then wait for it to reset then start up again.  There are also operation that  can
       cause the device to reset.

          # int6k -R
          # int6kwait -xrsf INT6000-MAC-3-1-3143-1690-20071107-FINAL-B
          eth0 00:B0:52:BA:BA:01 Device started wrong firmware

       Immediately  after  a  reset we wait for the firmware to stop responding, with option -r, and then start responding, with
       option -s, and then perform a string comparison against the actual firmware revision string,  with  option  -f.   If  the
       strings  do  not  match then an error is reported.  In this case, the program will exit with a non-zero return code since
       option -x is present.

DISCLAIMER
       Atheros HomePlug AV Vendor Specific Management Message Entry structure and content is proprietary  to  Qualcomm  Atheros,
       Ocala FL USA.  Consequently, public information may not be available.  Qualcomm Atheros reserves the right to modify mes‐
       sage structure and content in future firmware releases without any obligation to notify or compensate users of this  pro‐
       gram.

SEE ALSO
       plc(1), int6k(1), int6kf(1), int6khost(1), int6kid(1), int6krate(1), int6krule(1), int6kstat(1)

CREDITS
        Charles Maier <cmaier@qca.qualcomm.com>

open-plc-utils-0.0.3                                        Mar 2014                                                int6kwait(1)