chknvm.1
Author: cmaier@cmassoc.net

    chknvm(1)                                    Qualcomm Atheros Open Powerline Toolkit                                   chknvm(1)

    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 informa‐
           tion  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 con‐
                  tains 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  fea‐
           ture.   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 <cmaier@qca.qualcomm.com>

    open-plc-utils-0.0.3                                        Mar 2014                                                   chknvm(1)

[PREV] [HOME] [NEXT]