Intel(R) NVM Integrity Verification Tool Release Notes ====================================================== October 20, 2020 Contents ======== - OVERVIEW - RUNNING THE UTILITY - OPTIONS - BASIC USAGE GUIDELINES - EXIT CODES - INSTALLATION - CUSTOMER SUPPORT -LEGAL INFORMATION OVERVIEW ======== Intel(R) NVM Integrity Verification Tool (NVMCHECK) verifies that the NVM image is an authentic image. NOTE: If the tool displays an error such as "Access error" or "Cannot initialize port" you may be using an outdated driver. Please download the latest driver from https://support.intel.com and try again. NOTE: If the tool displays the error: "Unable to load the driver. Please close all other applications and try again", you have a mix of old and new versions of the utility tool on your system. Quit all open applications and retry your operation. If the issue persists: Download the latest version of the utility tools Run the uninstall script to remove the old version of the tool driver Run the install script from the downloaded tools package Retry your operation You may also need to download and install the latest Intel Ethernet driver/PROSet package for your device. Supported Operating Systems --------------------------- Microsoft* Windows* Microsoft Windows Server* Linux* Kernel Red Hat* Enterprise Linux* SUSE* Linux Enterprise Server UEFI VMWare* ESXi* FreeBSD Notes: - On systems running Linux, FreeBSD, or ESXi, the base driver must be present for NVMCHECK to function correctly. - On Microsoft Windows systems, if the driver required to run the tool is not present on the system, it will automatically be installed when NVMCHECK is run. RUNNING THE UTILITY =================== Using the "/?" option will display a list of supported command line options. OPTIONS: -------- NVMCHECK can be run with any of the following command line options: /HELP or /? Displays command line help. /DEVICES Displays the device list. /EXITCODES Displays the list of exit codes and descriptions returned for the run. /NIC=XX Selects a specific device (1-32). /VERIFY Verifies the NVM signature of the selected device. /VERSION Displays the tool version and Quartzville SDK information. Technical support options: /HEADER Displays the NVM header of the selected device. /KEY Displays the NVM key of the selected device. BASIC USAGE GUIDELINES ---------------------- To display a list of installed adapters call NVMCHECK using the /DEVICES option. NVMCHECK will display a list of network adapters installed in the system similar to the following: NIC B/D/F Ven-Dev MAC ENA Branding string === ======== ========= ============ === ====================================== 1) 01/00/00 8086-15D1 341278560000 NO Intel(R) Ethernet Controller X550-T1 2) 02/00/00 8086-1583 000000000100 YES Intel(R) Ethernet Converged Network Ada 3) 04/00/00 8086-1533 94DE80A0381C YES Intel(R) I210 Gigabit Network Connectio To perform an operation on an installed network adapter you must specify the "/NIC=" parameter. For example, to verify the NVM on NIC 1 from the list above call NVMCHECK like this: NVMCHECK/NIC=1 /VERIFY The tool will return: NVM Integrity verification [PASSED/FAILED] EXIT CODES ========== 0 Success. 1 Unsupported operating system detected. 2 Incorrect command line parameters. 3 Unknown device. 4 The selected device is not supported. 5 Internal tool error. 6 Incorrect device index entered. 7 Error during adapter initialization. 8 Error when writing to register. 9 Memory allocation error. 10 Incorrect argument passed to a command line parameter. 11 Verification unsuccessful. 12 Failed to collect NVM data (e.g. key/header). 13 Communication with the base driver failed. 14 Desired device is in recovery mode. This device cannot be selected. 15 Tool initialization failed. The PCIe BAR address threshold was exceeded. INSTALLATION ============= Installing the tool on Microsoft* Windows* ------------------------------------------ To install the tools' drivers on Windows, run install.bat from the appropriate directory of the install package. Although the tool are not installed with install.bat, the driver that the tool requires is copied into the local machine Windows driver directory. To run the tool, launch a Command Prompt window from the Windows Start Menu. Go to the media and directory where the tool is located and run the utility. The readme files for each tool are found in the same directory as the tool. These tools can be manually installed on the local hard drive in any directory. The tool uses its own driver file (not the same as the system network driver). If the driver sys file already exists in the drivers directory, install.bat may fail to copy. Using the /y switch with install.bat will override and copy the driver file regardless. However, this can be dangerous if an older version of the driver is being used by another application such as Intel(R) PROSet for Windows Device Manager. If a driver is already present in the drivers directory, try running the tool from the command prompt. If it runs, then the driver is fine. The tool will not run if the driver version present does not match the driver version expected. Note that you must have access to the %systemroot%\system32\drivers directory. Only the administrator account has these privileges. You must be logged in as administrator or the tools must be run as administrator. Note that on Windows, any device that is disabled in device manager will not be accessible by tools due to no memory resources. You would get an error code 0xC86A800E. To solve this problem, you can do one of the following: 1) Re-enable the device in device manager. Never disable this device when using tools. 2) Install an NDIS device driver for the device and make sure that it does not have a yellow or red bang by it in device manager. 3) Delete the device from device manager and restart the system. The install new hardware wizard should appear on next reboot. Do not cancel this. Just move the window aside and run the tool(s). Generally, you can click "cancel" on the wizard but there are some cases where Windows will disable the memory resources causing you to get back into the same state. Installing the tool on EFI -------------------------- The EFI 1.x tools are not supported in this release. There is no installation required for EFI tools. The tools can simply be copied from the appropriate directory to the drive that they will run from. The EFI2 binaries are for use with the UEFI Shell 2.X with the UEFI 2.3 HII protocol. EFI2 tools will not run on the EFI Shell 1.X or if the UEFI 2.3 HII protocol is not present. Note that while EFI supports USB drives, there may be issues running tools from the USB drive. Whether or not there are issues are BIOS specific. If you experience issues, run the tool from hard disk instead. Installing the tool on DOS -------------------------- This tool no longer supports DOS. If you require DOS support, please download a prior version. Installing the tool on Linux* ---------------------------- In order to run this tool on Linux*, the base driver must be installed on the system. On kernel 4.16 or higher, ensure iomem parameter set to relaxed --------------------------------------------------------------- On Linux* kernel 4.16 and higher, the iomem parameter is set to "strict" by default, which may prevent the tool from accessing the MMIO of the device. Trying to update a device when "strict" is set causes the device to lose link during the update process. If you wish to update a device without losing link, you can either: 1. Install Linux base drivers (igb or ixgbe) from Release 24.1, or newer. 2. Set the iomem kernel parameter to "relaxed" (i.e., iomem=relaxed) and reboot the system before running the update utility. INSTALLING THE TOOL ON VMWare* ESXi* ----------------------------------- In order to run this tool on VMWare* ESXi*, the base driver must be installed on the system. INSTALLING THE TOOL ON FreeBSD* ------------------------------ In order to run this tool on FreeBSD*, the base driver must be installed on the system. CUSTOMER SUPPORT ================ - Main Intel web support site: http://support.intel.com - Network products information: http://www.intel.com/network LEGAL / DISCLAIMERS =================== Copyright (C) 2002-2020, Intel Corporation. All rights reserved. Intel Corporation assumes no responsibility for errors or omissions in this document. Nor does Intel make any commitment to update the information contained herein. Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. This software is furnished under license and may only be used or copied in accordance with the terms of the license. The information in this manual is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Intel Corporation. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document. Except as permitted by such license, no part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without the express written consent of Intel Corporation.