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

open-plc-utils-0.0.3                              November 2013                                      int6kmod(1)