Using the DGX Station A100 FW Update Utility

The DGX Station A100 System Firmware Update utility is provided in a tarball and also as a .run file.

Forcefully Updating the VBIOS

Important

Run the following command only in a TTY console or an SSH console. Do not run it in the GUI-based terminal screen because the command will shutdown the X windows system.

  1. Run the following command:

    $ sudo systemctl stop gdm3
    

Here are some examples:

  • NVSM

    $ nvsm(/system/localhost/firmware/install)
    
    • Set Flags to update_fw\ VBIOS\ -f

    • When setting the flags, an escape is needed before blank spaces.

  • Docker

    $ sudo docker run --rm --privileged -ti -v /:/hostfs nvfw-dgxstationa100:24.1.1 update_fw VBIOS -f
    
  • A .run file

    $ sudo ./nvfw-dgxstationa100_24.1.1_240110.run update_fw VBIOS -f
    

Using NVSM

Here is some information about how to use NVSM in the firmware.

The DGX Station A100 system software includes Docker software that is required to run the container.

  1. Copy the tarball to a location on the DGX system.

  2. From the directory where you copied the tarball, enter the following command to load the container image.

    $ sudo docker load -i nvfw-dgxstationa100_24.1.1_240110.tar.gz
    
  3. To verify that the container image is loaded, enter the following command.

    $ sudo docker images
    
    REPOSITORY            TAG
    nvfw-dgxstationa100   24.1.1
    
  4. Using NVSM interactive mode, enter the firmware update module.

    $ sudo nvsm
    nvsm-> cd systems/localhost/firmware/install
    
  5. Set the flags that correspond to the action you want to take.

    $ nvsm(/system/localhost/firmware/install)-> set Flags=<option>
    

    See Command and Argument Summary for the list of common flags.

  6. Set the container image to run.

    $ nvsm(/system/localhost/firmware/install)-> set DockerImageRef=nvfw-dgxstationa100:24.1.1
    
  7. Run the command.

    $ nvsm(/system/localhost/firmware/install)-> start
    

Using docker run

The DGX Station A100 system software includes Docker software required to run the container.

  1. Copy the tarball to a location on the DGX system.

  2. From the directory where you copied the tarball, enter the following command to load the container image.

    $ sudo docker load -i nvfw-dgxstationa100_24.1.1_240110.tar.gz
    
  3. To verify that the container image is loaded, enter the following.

    $ sudo docker images
    
    REPOSITORY              TAG
    nvfw-dgxstationa100    24.1.1
    
  4. Use the following syntax to run the container image.

    $ sudo docker run --rm --privileged -ti -v /:/hostfs nvfw-dgxstationa100:24.1.1 <command> <[arg1] [arg2] ... [argn]
    

See Commands/Argument Summary for the list of common commands and argument.

Note

If you do not have the tarball file, but you do have the .run file, you can extract the tarball from the .run file by issuing the following:

$ sudo nvfw-dgxstationa100_24.1.1_240110.run -x

Using the .run File

The update container is also available as a .run file. The .run file uses the Docker software, if the software is installed on the system, but the file can also be run without Docker.

  1. After obtaining the .run file, make the file executable.

    $ chmod +x ./nvfw-dgxstationa100_24.1.1_240110.run
    
  2. Use the following syntax to run the container image.

    $ sudo .nvfw-dgxstationa100_24.1.1_240110.run <command> <[arg1] [arg2] ... [argn]
    

See Command and Argument Summary for the list of common commands and arguments.

Command and Argument Summary

Here are the most common commands and arguments:

  • To show the manifest:

    show_fw_manifest
    
    • An NVSM example:

      $ nvsm(/system/localhost/firmware/install)-> set Flags=show_fw_manifest
      
    • A Docker run example:

      $ sudo docker run --rm --network host --privileged -ti -v /:/hostfs nvfw-dgxstationa100:24.1.1 show_fw_manifest
      
    • A .run file example:

      $ sudo ./nvfw-dgxstationa100_24.1.1_240110.run show_fw_manifest
      
  • To show the version information:

    show_version
    
    • An NVSM example:

      $ nvsm(/system/localhost/firmware/install)-> set Flags=show_version
      
    • A Docker run example:

      $ sudo docker run --rm --network host --privileged -ti -v /:/hostfs nvfw-dgxstationa100:24.1.1 show_version
      
    • A .run file example:

      $ sudo ./nvfw-dgxstationa100_24.1.1_240110.run show_version
      
  • To check the onboard firmware against the manifest and update all down-level firmware:

    update_fw all
    
    • An NVSM example:

      $ nvsm(/system/localhost/firmware/install)-> set Flags=update_fw\ all
      

      For NVSM, when setting the flags, an escape is needed before blank spaces.

    • A Docker run example:

      $ sudo docker run --rm --network host --privileged -ti -v /:/hostfs nvfw-dgxstationa100:24.1.1 update_fw all
      
    • A .run file example:

      $ sudo ./nvfw-dgxstationa100_24.1.1_240110.run update_fw all
      
  • To check the specified onboard firmware against the manifest and update if down-level:

    update_fw [fw]
    

    Where [fw] corresponds to the specific firmware as listed in the manifest. Multiple components can be listed in the same command. The following are examples of updating the BMC and SBIOS.

    • An NVSM example:

      $ nvsm(/system/localhost/firmware/install)-> set Flags=update_fw\ BMC\ SBIOS
      

      For NVSM, when setting the flags, an escape is needed before blank spaces.

    • A Docker run example:

      $ sudo docker run --rm --network host --privileged -ti -v /:/hostfs nvfw-dgxstationa100:24.1.1 update_fw BMC SBIOS
      
    • A .run file example:

      $ sudo ./nvfw-dgxstationa100_24.1.1_240110.run update_fw BMC SBIOS
      
  • To update the VBIOS:

    Important

    Ensure that you run the following command in a TTY console or ssh console. Do not run it in the GUI based terminal screen because the command will shutdown the X windows system.

    Run the following command.

    $ sudo systemctl stop gdm3
    

    Here are some additional examples:

    • An NVSM example:

      $ nvsm(/system/localhost/firmware/install) -> set Flags=update_fw\ VBIOS
      

      Note

      When you set the flags, add an escape before the blank spaces.

    • A Docker run example:

      $ sudo docker run --rm --network host --privileged -ti -v /:/hostfs nvfw-dgxstationa100:24.1.1 update_fw VBIOS
      
    • A .run file example:

      $ sudo ./nvfw-dgxstationa100_24.1.1_240110.run update_fw
      
  • To forcefully update the VBIOS:

    Important

    Run the following command only in the tty console or the ssh console. If you run the command in the GUI-based terminal screen, the X windows system will shut down.

    $ sudo systemctl stop gdm3
    

    Here are some additional examples:

    • An NVSM example:

      $ nvsm(/system/localhost/firmware/install) -> set Flags=update_fw\ VBIOS\ -f
      

      Note

      For NVSM, when setting the flags, an escape is needed before blank spaces.

    • A Docker run example:

      $ sudo docker run --rm --network host --privileged -ti -v /:/hostfs nvfw-dgxstationa100:24.1.1 update_fw VBIOS -f
      
    • A .run file example:

      $ sudo ./nvfw-dgxstationa100_24.1.1_240110.run update_fw VBIOS -f
      
  • To update the FPGA, retimer, backplane, or PSU firmware:

    • Prerequisites

      Updating the FPGA, retimer, backplane, or PSU firmware requires you to provide valid Redfish credentials to the firmware update container. If credentials are not provided and one of these components will be updated, the firmware update container will stop and display the following message:

      Updating one of your selected components requires redfish authentication
      Please provide container flags "REDFISH_USER=<username>" and
      "REDFISH_PASS=<password>" in order to update
      
    • To update a component that requires Redfish authentication, such as the FPGA:

      $ sudo ./nvfw-dgxstationa100_24.1.1_240110.run set_flags REDFISH_USER=<your_username> REDFISH_PASS=<your_password> update_fw FPGA