NVM Update Package ================== June 8, 2020 Contents ======== Overview Limitations and Prerequisites Updating Your NVM Using Interactive Mode Updating Using a Script Results Legal / Disclaimers Release Notes ============= Bug Fixes: Shared network port not responding to NC-SI Reset Channel Command: When X722 port is configured in shared mode for manageability and host traffic, appropriate response for NC-SI Reset Channel commands were not being sent by the X722 Ethernet controller. X722 4.11 NVM addresses this issue. When “link_down_to_close” set_private flag is enabled and MTU or ring size parameters are modified, Link failures were observed with the error “failed to get phy cap., ret = I40E_ERR_ADMIN_QUEUE_ERROR last_status = I40E_AQ_RC_EIO”. In X722 4.30 NVM and later, the timeout on I2C transactions was increased to address the issue. In X722 4.50 NVM and later, removed an AQ command that should not be a part of recovery mode. The change was made to align with the internal recovery mode specification. In X722 4.50 NVM and later, PLDM fields in the platform data region were reported in integer format instead of real32 (IEEE-754 notation). The fields are now reported as real32. PLDM responses in prior firmware releases might get misinterpreted by the Memory Controller (MC). Feature Enhancements: Multiple enhancements were made to improve access to external PHY: Added Admin Queue command to allow SW/Tools to access external PHY without any interference with FW link management. AQ command extension was introduced to access InPhi CS4223 external PHY NVM registers for SW/Tool Access. For external PHY connected to non-PF0 ports, direct access to PHY NVM was enabled since AQ command access cannot be done through non-PF0 ports. Allowed NVM update to function from a non-zero physical function (PF). This release addresses the lack of a Tools Admin Queue access from a non-zero PF that resulted in an update failure when non-zero ports were used for update. Improve FW-SW interaction during Recovery mode entry. Implemented to expose KR-FEC control by port so it can be enabled or disabled by SW. This change is only for the FPK PHY (external PHY/cards are not supported). The SW control was enabled in i40e driver version 2.12.6. OVERVIEW ======== This package contains all the required files to update the NVM on the Intel(R) Ethernet* adapters in your system. It contains the NVMUpdate utility, configuration file, updated NVM binaries, and required driver files. Note: Some Intel(R) Ethernet Converged Network Adapter X710-T4 adapters may display the message "Image differences found at offset 0x7..." when performing an update using the 700 Series NVM Update Package. This behavior is expected. Updating the Option ROM on a device with Device ID 1586 is a two step process. The first update will change the Device ID to 1589. Reboot your system and run the update tool a second time to update the Option ROM for the new Device ID. Adapters based on the Intel(R) Ethernet Controller 800 Series ------------------------------------------------------------- NVM binaries in the NVM Update Package are in the Platform Level Data Model (PLDM) format defined by the DMTF in DSP0240. Refer to your vendor's platform documentation for instructions on how to update your device NVM using the baseboard management controller (BMC) or UEFI. Limitations and Prerequisites ============================= This package is intended to be used on Intel branded adapters. Please contact your OEM vendor for an appropriate package. In some cases this package may update an OEM device. This package only updates the NVM image for the device family listed on the package. Each Intel Ethernet product family has its own NVM Update Package. DO NOT - Power down your system during the NVM Update. - Remove the NIC before the NVM Update completes. - Interrupt the NVM Update in any other way. Doing so may make your device unusable. Link Loss during and after NVM update ------------------------------------- When you update a device based on the Intel(R) Ethernet Controller X710 and Intel(R) Ethernet Controller XL710, the device may lose link during and after the update. Power cycle your system after the NVM update completes to resolve the issue. Linux, FreeBSD, and ESX Requirements ------------------------------------ The base driver for your NIC must already be installed. UEFI Requirements ----------------- Create a bootable disk or other media and extract the update package onto the media. Boot your system from the media and run the tool from there. Firmware Recovery Mode ---------------------- When a device is in Firmware Recovery mode it will not pass traffic or allow any configuration; you can only attempt to recover the device's firmware. A device will enter Firmware Recovery mode if it detects a problem that requires the firmware to be reprogrammed. NOTE: Before starting the recovery process, make sure that your operating system, drivers, and tools have been installed properly. NOTE: You must power cycle your system after using Recovery Mode to completely reset the firmware and hardware. Updating Your NVM Using Interactive Mode ======================================== 1. Extract the update package into a temporary folder. 2. Start the NVMUpdate utility by running the executable. For example, on an x64 Microsoft* Windows* system, type: nvmupdatew64e On an x64 Linux* system, type: nvmupdate64e 3. Follow the prompts to update the NVM image on the desired device. Using a Script ============== You can use a script to perform an inventory of all the Intel Ethernet devices in the system or update the Intel Ethernet devices in the system. Update script example: nvmupdate64e -u -l -o update.xml -b -c nvmupdate.cfg This causes the NVMUpdate utility to check the installed Intel Ethernet devices against those contained in nvmupdate.cfg. If a device contains an NVM version older than that specified in the config file, the utility will update the device's NVM. It will create an xml file containing the results of the update. Note that -b is optional. Specifying -b will create a backup of the current NVM image(s). This may add about 30% to the tools execution time. Inventory script example: nvmupdate64e -i -l -o inventory.xml This causes the NVMUpdate utility to perform an inventory of all the Intel Ethernet devices in the system and creates an output file (called inventory.xml) of the results of the inventory. Results ======= The NVMUpdate utility will return an exit code of zero if the update completed successfully. LEGAL / DISCLAIMERS =================== Copyright (C) 2018 - 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.