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

NAME

       int6kmod - Qualcomm Atheros Powerline Device Module Manager

SYNOPSIS

       int6kmod [options] [device] [device] [...]

DESCRIPTION

       Read  or  write  Atheros  custom  powerline  modules  using  VS_MODULE_OPERATION messages.
       Modules may be read from a device and written to a file or read from a file and written to
       a  device.   Modules  may  have  any  of several formats and purposes.  Where the firmware
       permits, this program can now read modules in excess of 1400 bytes and can write  multiple
       modules that exceed 1400 bytes in one operation.

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

OPTIONS

       -d     Read the specified module from NVRAM and write to standard  output  in  hexadecimal
              dump  format.   The  module is identified by module and sub-module using options -t
              and -s.  Runtime firmware will report an error if the module is not available.  The
              session identifier is not required for a module read operation and is ignored.  The
              largest module that can be read is 1400 bytes.   This  option  and  option  -m  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.

       -m filename
              Read the specified module from NVRAM and write it to the named file.  The module is
              identified by module and sub-module using options -t and -s.  Runtime firmware will
              report an error if the module is not available.   The  session  identifier  is  not
              required  for  a module read operation and is ignored.  The largest module that can
              be read is 1400 bytes.  This option and option -d are mutually exclusive.

       -M filename
              Read the named module file and download it to the named device  and  commit  NVRAM.
              The  module  is assigned to a module and sub-module identifier using options -t and
              -s.  Runtime firmware will reject modules  having  invalid  module  and  sub-mocule
              identifiers.  Module files must be a multiple of four bytes or an error will occur.
              As  implemented,  int6kmod  will  reject  files  exceeding  1400  bytes  but   this
              restriction will be removed in later versions.

       -q     Suppresses status messages on stderr.

       -s sub-module-id
              The  sub-module identifier expressed as a 16-bit hexadecimal value with optional 0x
              prefix.  This  identifier  indicates  a  specific  module  with  the  module  class
              specified  using  option -t.  Any 16-bit value is permitted but only certain values
              are accepted by device firmware depending  on  firmware  type  and  revision.   The
              default value is 0x0000.

       -S session-id
              The  session  identifier  expressed  as a 32-bit hexadecimal value with optional 0x
              prefix.  The session identifier value is arbitrary  and  so  any  32-bit  value  is
              permitted but 0x00000000 and 0xFFFFFFFF are illegal.  The 0x prefix is optional for
              this argument.  The default session-id is 0x78563412.

       -t module-id
              The module identifier expressed as a 16-bit  hexadecimal  value  with  optional  0x
              prefix.   This  identifier indicates the module type or class.  Option -s indicates
              the specific member of a module class.  Any 16-bit  value  is  permitted  but  only
              certain values will be accepted by device firmware.  The default value is 0x0000.

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

       -w     Write settings to the device instead of  reading  settings  from  the  device.   If
              omitted then settings are read from the device and displayed.  If present, the user
              should specify all settings to avoid writing default values to the device.

       -?,--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
              on  the  command  line.   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.

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  structure  and  content  is
       proprietary to Qualcomm Atheros, Ocala FL USA.  Consequently, public  information  is  not
       available.   Qualcomm Atheros reserves the right to modify message structure or content in
       future firmware releases without any obligation to notify  or  compensate  users  of  this
       program.

EXAMPLES

       The  following  command  reads module file abc.bin and writes it to the local device.  The
       module identifier 0x1000 indicates that  it  is  an  MDIO  Init  module.   The  sub-module
       identifer  defaults  to  0x0000  because  option  -s  is  omitted.  The session identifier
       defaults to 0x78563412 because option -S is omitted.  The operation takes place  in  three
       steps.  The last step may take 2 or 3 seconds to complete.

          # int6kmod -M abc.bin -t 0x1000
          eth1 00:B0:52:00:00:01 Request Session
          eth1 00:B0:52:BE:EF:03 Request Granted
          eth1 00:B0:52:00:00:01 Write abc.bin
          eth1 00:B0:52:BE:EF:03 Written
          eth1 00:B0:52:00:00:01 Commit Modules
          eth1 00:B0:52:BE:EF:03 Committed

       The  next  example  does  the  same  thing but writes module file def.bin to remote device
       00:B0:52:BA:BE:02.  The module identifier 0x4000 indicates that it is  an  Advanced  Power
       Management  uC  module.   The  session  identifier  used  is  0xA5A5A5A5.   The sub-module
       identifer defaults to 0x0000 because option -s is omitted.

          # int6kmod -M def.bin -t 0x4000 -S A5A5A5A5 00:B0:52:BA:BE:02
          eth1 00:B0:52:00:00:01 Request Session
          eth1 00:B0:52:BE:EF:03 Request Granted
          eth1 00:B0:52:00:00:01 Write abc.bin
          eth1 00:B0:52:BE:EF:03 Written
          eth1 00:B0:52:00:00:01 Commit Modules
          eth1 00:B0:52:BE:EF:03 Committed

       The next example reads back the module written in the first example and saves it  in  file
       zyx.bin.

          # int6kmod -m xyz.bin -t 0x1000
          eth1 00:B0:52:00:00:01 Read zyx.bin
          eth1 00:B0:52:BE:EF:03 Read

SEE ALSO

       plc(1), int6kmdio(1), int6kmdio2(1), mdioblock(1), mdioblock2(1), mdiodump(1), mdiogen(1)

CREDITS

        Charles Maier