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

NAME

       chknvm2 - Qualcomm Atheros PLC Image File Validator

SYNOPSIS

       chknvm2 [options] file [file] [...]

DESCRIPTION

       Check  Atheros  HomePlug  AV firmware files for obvious errors, including obsolete format,
       incorrect file size, bad checksums and read errors.  Make no attempt to check any internal
       information  other  than  firmware  header  checksums,  image lengths and image checksums.
       Optionally, display header and image information on stdout.

       This program handles both the older Thunderbolt and Lightning and the  newer  Panther  and
       Lynx  firmware  file formats.  It validates files directly from memory and so it is faster
       than program chknvm but needs more memory at runtime.

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

OPTIONS

       -i     Print  revision  string  identity  fields  in  fixed-width columns.  This option is
              useful when searching .nvm folders for a specific build.

       -m     Display manifest content, if present.  The manifest is a special  module,  included
              in  some  image  chains,  that  contains  useful information about the chain.  This
              option suppresses the summary 'looks good' message.

       -r     Print firmware revision string on stdout.  This option automatically suppresses the
              summary 'looks good' message.

       -q     Suppresses  printing  of routine messages.  Specifically, it suppresses the summary
              'looks good' message.

       -v     Print additional information such as the image header  for  each  image  processed.
              This  information can be used to distinguish one firmware file from another, if you
              know what to look for.

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

       file   The name of an Atheros image file.  By convention, Atheros Image files have a  .nvm
              file extension but this program does not enforce this convention.

DISCLAIMER

       Qualcomm  Atheros  firmware file structure and content is proprietary to Qualcomm Atheros,
       Ocala FL USA.  Consequently,  public  information  is  not  available.   Qualcomm  Atheros
       reserves  the  right  to  change  firmware file structure or content or change the name or
       behavior of any program that inspects  or  changes  firmware  files,  in  future  software
       releases without any obligation to notify or compensate users of such programs.

EXAMPLES

       This  example  reads  file abc.nvm and validates it.  The message shown indicates that the
       file is the correct length, image headers and images have the correct length and  checksum
       and there are no read errors.  The file can be have either the newer or older format.

           # chknvm2 abc.nvm
           abc.nvm looks good

       The  following  example  reads three files in succession and reports on each one.  You can
       suppress good news with the -q option.

          # chknvm2 INT6400.nvm AR7400.nvm AR7420.nvm
          INT6400.nvm looks good
          AR7400.nvm looks good
          AR7420.nvm looks good

       This next example prints the firmware revision string found inside older image files.  The
       option  can  be  used  to identify the actual firmware image present when the filename has
       been changed.  Newer image files have a manifest, instead.  Observe that  file  AR7420.nvm
       shows  no  revision  string  since  it is the newer image format where firmware images are
       compressed.

          # chknvm2 -r INT6400.nvm AR7400.nvm AR7420.nvm
          INT6400.nvm (3) INT6000-MAC-4-1-4122-01-4020-20100219-FINAL
          AR7400.nvm (5) INT7400-MAC-7-0-7011-01-52-20110811-FINAL

       The following example displays the firmware revision strings, from the  last  example,  as
       fixed  width  columns.  Observe that the external filename may, in some cases, not reflect
       the file content.

          # chknvm2 -i INT6400.nvm AR7400.nvm AR7420.nvm
          INT6000 4020 20100219 4.1 INT6400.nvm (3)
          INT7400 0052 20110811 7.0 AR7400.nvm (5)

       This example prints the manifest found inside newer firmware files.  This can be  used  to
       distinguish  firmware  files  from  parameter files, determine exact firmware or parameter
       file revisions and so forth.  Observe that we specified several files on the command  line
       but only one file, AR7420.nvm, contained a mainfest.

          # chknvm2 -m INT6400.nvm AR7400.nvm AR7420.nvm
          ------- AR7420.nvm (0) -------
                  Signature: 1234ABCD
                  Hardware Compatibility: AR74200
                  Chain Major Version: 0
                  Chain Minor Version: 1
                  Chain Type: Firmware
                  Build Major Version: 0
                  Build Minor Version: 0
                  Build Type: Special
                  Manifest Version: 1
                  Build Number: 0
                  Build Date: 20110811
                  Build Time: 203853
                  Device Type: 29728
                  Build Hostname: TOR-SW-SIM04
                  Build Username: buildbot
                  Build Description: Custom
                  Build   Version   String:   AR-7420-FW-0_0-0_2-20110811:203853-buildbot:TOR-SW-
       SIM04-1-0_1

SEE ALSO

       chknvm(1), chkpib(1), chkpib2(1), int6ktest(7), nvmmerge(1), nvmsplit(1), plctest(7)

CREDITS

        Charles Maier