plcset - Qualcomm Atheros PLC Set Property
plcset [options] [type data]
[type data] [device] [device] [...]
Set a specific property value on an Qualcomm Atheros powerline
device using the VS_SET_PROPERTY message. Properties are specified
using their numeric property identifier. Property names are not supported.
Property values are entered using type and data pairs. Users
familiar with program setpib should already understand this method of
entering data values.
Only selected properties can be set using this message type. See
the Qualcomm Atheros Firmware Technical Reference Manual for
supported property identifiers, versions, values and data formats.
This program is part of the Qualcomm Atheros Powerline
Toolkit.
- -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.
- -n number
- The property identifier or peoperty version. Property identifiers and
versions are entered as 32-bit decimal integers. Property names are not
supported. The default is 0. This option may appear more than once
on the command line. The first occurance specifies the property
identifier. The second occurances specifies the property version. See the
Firmware Technical Reference Manual for an list of valid property
identifiers and versions.
- -i interface
- Select the host Ethernet interface. All requests are sent via this
interface and only reponses received via this 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.
- -o option
- The update option (or method) expressed as an 8-bit hexadecimal integer.
The prefix "0x" is optional. Option values are constructed from
the logical OR of 0x01=ApplyNow, 0x02=Persist
and 0x04=Reset. The only legal option values are
0x01, 0x02, 0x03 and 0x06.
- -q
- Suppresses status messages on stderr.
- -v
- Prints additional information on stdout. In particular, this option dumps
outgoing Ethernet packets on stdout.
- -?,--help
- Displays program help information on stderr. This option takes precedence
over all other options on the command line except version information.
- -!,--version
- Displays program version information on stderr. This option takes
precedence over all other options on the command line except help
information. Use this option when sending screen dumps to Atheros
technical staff.
- device
- The MAC address of some powerline device. More than one address may be
specified. If more than one address is specified then operations are
performed on each device in turn. The default address is local. See
DEVICES for information about symbolic device addresses.
Each property is assigned one or more values. Each value may have
a different type and size. The expected type, size and order of property
values is described in the Firmware Technical Reference Manual under
the VS_SET_PROPERTY message description. Expected data types and
values must be entered on the command line in the order specified in the
manual and must appear on the command line before any device addresses
appear.
- byte
integer
- An unsigned integer stored as 8 bits or 1 byte. The value is expressed in
decimal by default. A binary value may be expressed with a 0b
prefix. A hexadecimal value may be expressed using a 0x prefix. The
offset increments by 1 prior to the next insertion.
- word
integer
- An unsigned integer stored as 16 bits or 2 bytes. The value is expressed
in decimal by default. A binary value may be expressed with a 0b
prefix. A hexadecimal value may be expressed using a 0x prefix. The
result will be sent in little endian byte order. The offset increments by
2 prior to the next insertion.
- long
integer
- An unsigned integer stored as 32 bits or 4 bytes. The value is expressed
in decimal by default. A binary value may be expressed with a 0b
prefix. A hexadecimal value may be expressed using a 0x prefix. The
result will be sent in little endian byte order. The offset increments by
4 prior to the next insertions.
- huge
integer
- An unsigned integer stored as 64 bits or 8 bytes. The value is expressed
in decimal by default. A binary value may be expressed with a 0b
prefix. A hexadecimal value may be expressed using a 0x prefix. The
offset increments by 8 prior to the next insertion. The result will be
sent in little endian byte order. This type is only available on hosts
that support 64 bit data values.
- data
hex
- A sequence of hexadecimal octets. Octets may be separated by a colon for
clarity. The number of octets determines the number of bytes written. The
result is sent in the byte order specified on the command line. The offset
increments by the number of bytes written. This is similar to
"key" and "mac" below but accepts
variable length input.
- key hex
- A sequence of hexadecimal octets. Octets may be separated by a colon for
clarity. The number of octets must convert to 16 bytes or an error will
occur. The result is sent in the byte order specified on the command line.
The offset increments by 16 prior to the next insertion. This is similar
"data" above but accepts ony fixed length input. This
option may be used to set the DAK, NMK or NVAK values.
- mac hex
- A sequence of hexadecimal octets. Octets may be separated by a colon for
clarity. The number of octets must convert to 6 bytes or an error will
occur. The result is sent in the byte order specified on the command line.
The offset increments by 6 prior to the next insertion. This is similar
"data" above but accepts only fixed length input. This
option may be used to set the DAK, NMK or NVAK values.
- hfid
string
- An ASCII character string. The string is always stored as 64 bytes. Short
strings are padded on the right with NUL characters. Long strings are
truncated on the right and the last byte is forced to NUL. The offset
increments by 64 prior to the next insertion. This option may be used to
enter user, network and manufacturer identification strings.
- zero
count
- An unsigned integer representing the number of consecutive bytes to fill
with 0x00. The offset increments by the number of bytes written.
This option may be used to erase regions of the PIB.
- fill
count
- An unsigned integer representing the number of consecutive bytes to fill
with 0xFF. The offset increments by the number of bytes written.
This option may be used to erase regions of the PIB.
- skip
count
- An unsigned integer indicating the number of bytes to skip over before
staring another change. Intervening data data locations are unchanged.
These data types are not currently recognized by the runtime
firmware and so errors will certainly result if they are used.
- accesspassword
string
- An ASCII character string. The string is always stored as 257 bytes. Short
strings are padded on the right with NUL characters. Long strings are
truncated on the right and the last byte is forced to NUL. The offset
increments by 257 prior to the next insertion.
- accessusername
string
- An ASCII character string. The string is always stored as 33 bytes. Short
strings are padded on the right with NUL characters. Long strings are
truncated on the right and the last byte is forced to NUL. The offset
increments by 33 prior to the next insertion.
- adminpassword
string
- An ASCII character string. The string is always stored as 33 bytes. Short
strings are padded on the right with NUL characters. Long strings are
truncated on the right and the last byte is forced to NUL. The offset
increments by 33 prior to the next insertion.
- adminusername
string
- An ASCII character string. The string is always stored as 33 bytes. Short
strings are padded on the right with NUL characters. Long strings are
truncated on the right and the last byte is forced to NUL. The offset
increments by 33 prior to the next insertion.
- password
string
- An ASCII character string. The string is always stored as 257 bytes. Short
strings are padded on the right with NUL characters. Long strings are
truncated on the right and the last byte is forced to NUL. The offset
increments by 257 prior to the next insertion.
- url
string
- An ASCII character string. The string is always stored as 257 bytes. Short
strings are padded on the right with NUL characters. Long strings are
truncated on the right and the last byte is forced to NUL. The offset
increments by 257 prior to the next insertion.
- username
string
- An ASCII character string. The string is always stored as 257 bytes. Short
strings are padded on the right with NUL characters. Long strings are
truncated on the right and the last byte is forced to NUL. The offset
increments by 257 prior to the next insertion.
Powerline devices use Ethernet Media Access Control (MAC)
addresses. A MAC address is a 48-bit value entered as 12 hexadecimal digits
in upper, lower or mixed character case. Octets may be separated with colons
for clarity. For example, "00b052000001",
"00:b0:52:00:00:01" and "00b052:000001" are valid and
equivalent.
The following MAC addresses are special and may be entered by name
instead of number.
- all
- Same as "broadcast".
- broadcast
- A synonym for the Ethernet broadcast address, FF:FF:FF:FF:FF:FF.
All devices, whether local, remote or foreign recognize messages sent to
this address. A remote device is any device at the far end of a powerline
connection. A foreign device is any device not manufactured by Atheros.
- local
- A synonym for the Qualcomm Atheros vendor specific Local Management
Address (LMA), 00:B0:52:00:00:01. All local Atheros devices
recognize this address but remote and foreign devices do not. A remote
device is any device at the far end of a powerline connection. A foreign
device is any device not manufactured by Atheros.
See the Qualcomm Atheros HomePlug AV Firmware Technical Reference
Manual for the latest information on available properties.
Atheros HomePlug AV Vendor Specific Management Message 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 message structure and content in future firmware releases without
any obligation to notify or compensate users of this program.
The following example sets the "time-to-live" property
for each channel access priority type: CAP0, CAP1,
CAP2, CAP3 and MME. The property identifier is
101. It needs five 32-bit decimal integer values in microseconds.
Data type long specifies a 32-bit decimal value that will be
converted to little endian format on output.
# plcset -n 101 long 100 long 200 long 250 long 300 long 100
The next example set the User HFID. The first occurance of option
-n specifies the property by number as 105. The second
occurance specifies the property version as 1. This is merely an
example of how to specify the propery version. At the time of writing,
property 105 is still version 0.
# plcset -n 105 -n 1 hfid "Intergalactic Software Pirates"
plc(1), getpib(1),
modpib(1), plcset(1),
setpib(1)