Provided by: plc-utils-extra_0.0.6+git20250517.7fb8ac5-1_amd64 bug

NAME

       chknvm - Qualcomm Atheros PLC Image File Validator

SYNOPSIS

       chknvm [options] file [file] [...]

DESCRIPTION

       Validate  the image chain found inside a Qualcomm Atheros PLC firmware or parameter file by checking file
       structure, file size, image header sizes and  checksums  and  image  sizes  and  checksums.   Optionally,
       display  internal  image  header  information  or  information  extracted from selected image types, when
       present.  Use this program to detect corrupted firmware or parameter files  or  inspect  image  files  to
       determine content.

       This  program  handles  both  the older Thunderbolt and Lightning and the newer Panther and Lynx firmware
       file formats.  It validates files directly from disk and so it is slower than program chknvm2  but  needs
       less 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  suppresses  the  summary  'looks  good'
              message.

       -s     Print  SDRAM  configuration  block  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.

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

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

       This next example displays the SDRAM parameter block found in the named files.   SDRAM  parameter  blocks
       are  a  legacy feature.  They were to configure memory.  Powerline device now run a configuration applet,
       instead.  Observe that file AR6400.nvm us the only one that contains SDRAM parameters.

          # chknvm -s INT6400.nvm AR7400.nvm AR7420.nvm
          ------- INT6400.nvm (0) -------
                  SIZE=0x04000000 (64mb)
                  CONF=0x00143188
                  TIM0=0x01E1D491
                  TIM1=0x000883D6
                  CNTRL=0x00003089
                  REF=0x00000366
                  CLOCK=0x00000001

       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 firmware revision string because it has
       the newer image file format.

          # chknvm -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

       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.

          # chknvm -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

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

CREDITS

        Charles Maier

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