DGX A100 System Firmware Update Container Version 20.12.3.3

The DGX Firmware Update container version 20.12.3.3 is available.

  • Package name:nvfw-dgxa100_20.12.3.3_210205.tar.gz
  • Run file name: nvfw-dgxa100_20.12.3.3_210205.run
  • Image name: nvfw-dgxa100:20.12.3.3

Highlights and Changes in this Release

Contents of the DGX A100 System Firmware Container

This container includes the firmware binaries and update utilities for the firmware listed in the following table. The update time for each component is provided for reference. Total update time if all components are updated is approximately 2 hours and 20 minutes.

Component Version Key Changes Update Time
BMC (via CEC) 00.13.16 No change 25 minutes
SBIOS 0.33 See DGX A100 SBIOS Changes 7 minutes
Broadcom 88096 PCIe switch board 0.1.8 No change 8 minutes
BMC CEC SPI v3.25 No change 8 minutes
PEX88064 Retimer 0.F.0 No change 7 minutes
PEX88080 Retimer 0.F.0 No change 7 minutes
NvSwitch BIOS 92.10.14.00.01 No change 8 minutes
VBIOS (A100 40GB) 92.00.19.00.10 No change 7 minutes
VBIOS (A100 80GB) 92.00.36.00.01 No change
U.2 NVMe (Samsung) EPK99B5Q No change 6 minutes
FPGA (GPU sled) 2.9c No change 40 minutes
CEC1712 SPI (GPU sled) 3.5 No change 7 minutes

Updating Components with Secondary Images

Some firmware components provide a secondary image as backup. The following is the policy when updating those components:
  • SBIOS: The two images are referred to as active and inactive, where the active is the currenly running image and the inactive is the backup image. When using update_fw all, the update container updates both active and inactive images.
  • BMC: The two images are referred to as active and inactive, where the active is the currenly running image and the inactive is the backup image. The update container can only update the inactive image, and will update it only if the active image needs to be updated. After the update is completed, the updated inactive image becomes the active image. Because the active image is now updated, subsequent update_fw all commands will not update the inactive image. To update the inactive image in this case, use update_fw BMC --inactive --force.

Special Instructions for Red Hat Enterprise Linux

This section describes the actions that must be taken before updating firmware on DGX A100 systems installed with Red Hat Enterprse Linux. There are two options for meeting these requirements.

Option 1: Update to EL7-21.01 or later

Refer to the DGX Software for Red Hat Enterprise Linux 7 Release Notes for more information.
Important: Updating the DGX software for Red Hat Enerprise Linux will update the Red Hat Enterprise Linux installation to 7.9 or later. If you do not want to update your Red Hat Enterprise Linux 7 installation, then choose Option 2.

Option 2: Install mpt3sas 31.101.01.00-0

These instructions apply if
  • You do not want to update your Red Hat Enterprise Linux installation, and
  • Your system is currently installed with Red Hat Enterprise Linux 7.7 or later.

    If your system is installed with Red Hat Enterprise Linux 7.6 or earlier, contact NVIDIA Enterprise Support for assistance.

  1. Perform this step if your system is no longer pointing to the NVIDIA DGX software repository.
    1. On Red Hat Enterprise Linux, run the following commands to enable additional repositories required by the DGX software.
      sudo subscription-manager repos --enable=rhel-7-server-extras-rpms
      sudo subscription-manager repos --enable=rhel-7-server-optional-rpms
    2. Run the following command to install the DGX software installation package and enable the NVIDIA DGX software repository.

      Attention:By running these commands you are confirming that you have read and agree to be bound by the DGX Software License Agreement. You are also confirming that you understand that any pre-release software and materials available that you elect to install in a DGX may not be fully functional, may contain errors or design flaws, and may have reduced or different security, privacy, availability, and reliability standards relative to commercial versions of NVIDIA software and materials, and that you use pre-release versions at your risk.
      yum install -y \
      https://international.download.nvidia.com/dgx/repos/rhel-files/dgx-repo-setup-20.03-1.el7.x86_64.rpm
  2. Install mpt3sas 31.101.01.00-0.
    sudo yum install mpt3sas-dkms
  3. Load the mpt3sas driver into the Red Hat Enterprise Linux kernel.
    sudo modprobe mpt3sas 
    You can verify the correct mpt3sas version is installed by issuing the following.
     yum list installed

Instructions for Updating Firmware

This section provides a simple way to update the firmware on the system using the firmware update container. It includes instructions for performing a transitional update for systems that require it. The commands use the .run file, but you can also use any method described in Using the DGX A100 FW Update Utility.
CAUTION:
  • Stop all unnecessary system activities before attempting to update firmware.
  • Stop all GPU activity, including accessing nvidia-smi, as this can prevent the VBIOS from updating.
  • Do not add additional loads on the system (such as user jobs, diagnostics, or monitoring services) while an update is in progress. A high workload can disrupt the firmware update process and result in an unusable component.
  • When initiating an update, the update software assists in determining the activity state of the DGX system and provides a warning if it detects that activity levels are above a predetermined threshold. If the warning is encountered, you are strongly advised to take action to reduce the workload before proceeding with the update.
  1. Check if updates are needed by checking the installed versions.
    $ sudo ./nvfw-dgxa100_20.12.3.3_210205.run show_version
    • If there is "no" in any up-to-date column for updatable firmware, then continue with the next step.
    • If all up-to-date column entries are "yes", then no updates are needed and no further action is necessary.
  2. Perform the update for all firmware supported by the container.
    $ sudo ./nvfw-dgxa100_20.12.3.3_210205.run update_fw all
    Depending on the firmware that is updated, you may be prompted to either reboot the system or power cycle the system.
    • If you are prompted to reboot, issue
      $ sudo reboot
    • If you are prompted to power cycle, you can issue the following two commands (there is no output with the first command).
      $ sudo ipmitool raw 0x3c 0x04
      $ sudo ipmitool chassis power cycle
  3. After rebooting or power cycling the system, you may need to perform another update_fw all to update other firmware.
    • Either repeat Step 1 to check if updates are needed and then perform Step 2 if needed, or
    • Repeat Step 2 just in case updates are needed.
    If you perform another update_fw all, you may be prompted again to either reboot the system or power cycle the system. See DGX A100 Firmware Update Process for more information about the update process.
You can verify the update by issuing the following.
$ sudo ./nvfw-dgxa100_20.12.3.3_210205.run show_version

Example output for a DGX A100 320GB system

 CEC
============
                                             Onboard Version   Manifest       up-to-date
MB_CEC(enabled)                              3.25              3.25               yes
Delta_CEC(enabled)                           3.05              3.05               yes

 BMC DGX
=========
Image Id              Status         Location      Onboard Version   Manifest  up_to_date
0:Active   Boot       Online         Local         00.13.16          00.13.16     yes
1:Inactive Updatable                 Local         00.13.16          00.13.16     yes

 SBIOS
=======
Image Id                           Onboard Version   Manifest        up_to_date
0:Inactive Updatable               0.33              0.33               yes
1:Active   Boot Updatable          0.33              0.33               yes

  Switches
============
PCI Bus#                      Model          Onboard Version   Manifest        FUB Updated?  up-to-date
DGX - 0000:91:00.0(U261)      88064_Retimer  0.F.0             0.F.0                 N/A        yes
DGX - 0000:88:00.0(U260)      88064_Retimer  0.F.0             0.F.0                 N/A        yes
DGX - 0000:4f:00.0(U262)      88064_Retimer  0.F.0             0.F.0                 N/A        yes
DGX - 0000:48:00.0(U225)      88080_Retimer  0.F.0             0.F.0                 N/A        yes


DGX - 0000:01:00.0(U1)        PEX88096       1.8               1.8                   N/A        yes
DGX - 0000:b1:00.0(U4)        PEX88096       1.8               1.8                   N/A        yes
DGX - 0000:41:00.0(U2)        PEX88096       1.8               1.8                   N/A        yes
DGX - 0000:81:00.0(U3)        PEX88096       1.8               1.8                   N/A        yes


DGX - 0000:c4:00.0            LR10           92.10.14.00.01    92.10.14.00.01        yes        yes
DGX - 0000:c5:00.0            LR10           92.10.14.00.01    92.10.14.00.01        yes        yes
DGX - 0000:c8:00.0            LR10           92.10.14.00.01    92.10.14.00.01        yes        yes
DGX - 0000:c6:00.0            LR10           92.10.14.00.01    92.10.14.00.01        yes        yes
DGX - 0000:c9:00.0            LR10           92.10.14.00.01    92.10.14.00.01        yes        yes
DGX - 0000:c7:00.0            LR10           92.10.14.00.01    92.10.14.00.01        yes        yes



 Mass Storage
==============
Drive Name/Slot         Model Number         Onboard Version   Manifest        up-to-date
nvme0n1          Samsung MZWLJ3T8HBLS-00007  EPK99B5Q          EPK99B5Q           yes
nvme1n1          Samsung MZ1LB1T9HALS-00007  EDA7202Q          EDA7202Q           yes
nvme2n1          Samsung MZ1LB1T9HALS-00007  EDA7202Q          EDA7202Q           yes
nvme3n1          Samsung MZWLJ3T8HBLS-00007  EPK99B5Q          EPK99B5Q           yes
nvme4n1          Samsung MZWLJ3T8HBLS-00007  EPK99B5Q          EPK99B5Q           yes
nvme5n1          Samsung MZWLJ3T8HBLS-00007  EPK99B5Q          EPK99B5Q           yes

 Video BIOS
============
Bus            Model            Onboard Version   Manifest         FUB Updated?  up-to-date
0000:07:00.0   A100-SXM4-40GB   92.00.19.00.10    92.00.19.00.10         yes        yes
0000:0f:00.0   A100-SXM4-40GB   92.00.19.00.10    92.00.19.00.10         yes        yes
0000:47:00.0   A100-SXM4-40GB   92.00.19.00.10    92.00.19.00.10         yes        yes
0000:4e:00.0   A100-SXM4-40GB   92.00.19.00.10    92.00.19.00.10         yes        yes
0000:87:00.0   A100-SXM4-40GB   92.00.19.00.10    92.00.19.00.10         yes        yes
0000:90:00.0   A100-SXM4-40GB   92.00.19.00.10    92.00.19.00.10         yes        yes
0000:b7:00.0   A100-SXM4-40GB   92.00.19.00.10    92.00.19.00.10         yes        yes
0000:bd:00.0   A100-SXM4-40GB   92.00.19.00.10    92.00.19.00.10         yes        yes


FPGA
========
Onboard version     Manifest  up-to-date
02.9c               02.9c        yes


  CPLD
============
                                             Onboard Version   Manifest       up-to-date
MID_CPLD                                     1.03              1.03               yes
MB_CPLD                                      1.03              1.03               yes

* CPLD won't be updated by default (`update_fw all`), use `update_fw CPLD` if it's needed

Known Issues

BMC UI May not be Accessible from Mac OS

Issue

When attempting to connect to the DGX A100 BMC from a system with Mac OS, a "Your connection is not private" message appears that prevents access to the BMC.

Explanation

BMC version 0.13.6 provides a self-signed certificate which Mac OS flags in the browser. Most browsers will let you either accept the risk and continue, or add the certificate to the keychain and continue. The Chrome and Opera browsers, however, do not provide these options and so Mac OS users will not be able to access the BMC from the Chrome or Opera browser.

To access the DGX A100 BMC, Mac OS users can use Safari or Firefox, which provide an access path.

Update Timeout Reported for Motherboard CEC

Issue

The update progress output reports "Update_timeout" for the motherboard CEC (MB_CEC) when using the .run file without Docker installed.

Example

+----------------------------------------------------------------------------------+
|+--------------------------------------------------------------------------------+|
||                   !!!!! Firmware Update In Progress !!!!!                      ||
||                        Status: reflash BMC firmware                            ||
|+--------------------------------------------------------------------------------+|
|                                 Onboard         Manifest          Update Status  |
|MB_CEC                           3.05            3.25              Update timeout |

Explanation

This message can be ignored provided that the MB_CEC update is successful.

Example success message:

Success:
  Installed firmware 3.25 on MB_CEC

Boot Order in the SBIOS Reverts to the Default

Issue

After updating the SBIOS, any changes in the boot order that you have made are not preserved and the boot order specified in the SBIOS reverts to the following.

Boot Option #1  [Hard Disk]
Boot Option #2  [NVME]
Boot Option #3  [USB CD/DVD]
Boot Option #4  [USB Hard Disk]
Boot Option #5  [USB Key]
Boot Option #6  [Network]

Explanation

You will need to prepare for the change when restarting the system, and then enter the SBIOS setup to edit the boot order as needed.