Provided by: plc-utils-extra_0.0.6+git20230504.1ba7d5a0-1_amd64 bug

NAME

       plcID - Echo Device Key

SYNOPSIS

       plcID [options] [device] [device] [ ... ]

DESCRIPTION

       This  program  prints  a single powerline device key or HFID on stdout.  It can be used to
       dynamically define environment variables or insert command line arguments  in  scripts  at
       runtime.   It  is  intended to echo a specific key read from a single device but it can be
       used to echo a specific key type read  from  several  devices  by  specifying  either  the
       Qualcomm Atheros Local Management Address or a broadcast address.

       This  program  is,  in  some  sense,  the  inverse of modpib but it reads the key and HFID
       directly from the powerline device instead of reading from a PIB file.

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

OPTIONS

       -A     Prints  the  Ethernet  address  (MAC)  for  each specified device.  This option and
              options -D, -M, -N, -S and -U are mutually exclusive.

       -D     Prints the Device Access Key (DAK) for each  specified  device.   This  option  and
              options -A, -M, -N, -S and -U are mutually exclusive.

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

       -i interface
              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.

       -n     Append a newline to the end of each key.  Newlines are omitted by default  so  that
              program  output  can  be used as the raw input to another program.  If you want the
              newline then you must request it with this option.

       -M     Prints the Network Membership Key (NMK) for each specified device.  This option and
              options -A, -D, -N, -S and -U are mutually exclusive.

       -N     Prints  the network HFID string for each specified device.  This option and options
              -A, -D, -M, -S and -U are mutually exclusive.

       -q     Suppresses status messages on stderr.

       -S     Prints the manufacturer HFID string for each specified  device.   This  option  and
              options -A, -D, -M, -N and -U are mutually exclusive.

       -t milliseconds
              Read  timeout  in milliseconds.  Values range from 0 through UINT_MAX.  This is the
              maximum time allowed for a response.  The default  is  shown  in  brackets  on  the
              program menu.

       -v     Print  additional information on stdout.  In particular, this option dumps incoming
              and outgoing packets which can be saved as text files for reference.

       -x     Cause the program to exit on the first error instead of continuing  with  remaining
              iterations,  operations or devices.  Normally, the program reports errors and moves
              on to the next operation, iteration or device depending on the command line.

       -?,--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 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.

DEVICES

       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.

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 message structure and content
       in future firmware releases without any obligation to notify or compensate users  of  this
       program.

EXAMPLES

       The  following  example prints the DAK of the local device on stdout.  The local device is
       interrogated because no MAC address was specified.  The default interface, eth1  on  Linux
       and  2  on Windows, is used unless environment variable PLC is defined.  The DAK is always
       printed by default.  Depending on your system, you may want to use option  -n  when  using
       this program interactively.

          # plcID
          00:11:22:33:44:55:66:77:88:99:AA:DD:CC:DD:EE:FF

       The  following  example  prints the NMK of device 00:B0:52:DA:DA:57 connected to interface
       eth2 on a Linux system.  Several devices could be specified  but  that  is  not  a  common
       request.

          # DAK -Mi eth2 00:B0:52:DA:DA:57
          F4:23:71:4A:51:39:C2:2D:E5:EA:87:43:99:A1:37:81

       The  following  example  dynamically inserts the DAK and NMK of the previous device on the
       command line of another program.  In this example, we want to insert the DAK and NMK  into
       PIB  file  abc.pib  using  program  modpib.  See the modpib man page for an explanation of
       command line syntax.  See the GNU bash manuals for an explanation of why this works.

          #  modpib  abc.pib  -D  $(plcID  -Di  eth2  00:B0:52:DA:DA:57)  -N  $(plcID  -Mi   eth2
       00:B0:52:DA:DA:57)

       The  following  example  is  an  alternate way of accomplishing the same thing using shell
       script variables.  This method may be  easier  to  read  and  maintain.   Notice  that  we
       'squished' all the options together for brevity.

          # PLC=00:B0:52:DA:DA:57
          # DAK=$(plcID -Dieth2 ${PLC})
          # NMK=$(plcID -Mieth2 ${PLC})
          # modpib abc.pib -D ${DAK} -N ${NMK}

SEE ALSO

       plc(1), plcboot(1), plcinit(1), plctool(1)

CREDITS

        Charles Maier