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

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