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)