About the nvfwupd Command
Requirements
The nvfwupd
executable runs on the Linux operating system and is available for x86_64
or arm64
architecture machines.
You can run the x86_64
executable locally on the DGX system or use a remote Linux system.
If you run nvfwupd
locally on the DGX system, instead of connecting to the BMC IP address, as shown in the sample commands,
you can connect to the host Redfish interface IP address.
To download the latest version of the nvfwupd
executable, log in to the
NVIDIA Enterprise Support Portal.
Syntax
nvfwupd version 1.1.3
Usage: nvfwupd [ global options ] <command>
Global options:
-t --target ip=<BMC IP> user=<BMC login id> password=<BMC password> port=<port num for port forwarding> | targets=<JSON>
BMC target comprising BMC IP address and BMC login credentials
-v --verbose Chosen path for logfile (optional). Default path is current working directory.
Increase verbosity
Commands:
help Show tool help.
version Show tool version.
show_pkg_content [ options... ]
-p --package PLDM firmware package
unpack [ options... ]
-p --package PLDM firmware package
-o --outdir Directory path to save unpacked firmware files (optional).
Default path is current working directory of tool.
<Global options...> show_version [ options... ]
-p --package PLDM firmware package
<Global options...> update_fw [ options... ]
-p --package PLDM firmware package
-y --yes Bypass firmware update confirmation prompt
-b --background Exit without waiting for the update process to finish
-t --timeout API request timeout value in seconds
-s --special Special Update json file
<Global options...> force_update [ options... ]
enable|disable|status Enable, disable, or check current force update value on target.
<Global options...> show_update_progress [ options... ]
-i --id List of Task IDs delimited by space
<Global options...> perform_factory_reset
<Global options...> install_license
<Global options...> make_upd_targets [ options... ]
-o --outdir Directory path to create update target files (optional).
Default path is current working directory of tool.
Understanding Background Processing
By default, the nvfwupd update_fw
command communicates with the Redfish API,
prints the the firmware update progress to the console, and then exits when the
command runs to completion.
Alternatively, you can specify the --background
or -b
argument so that the command
communicates with the Redfish API, prints the task ID to the console, and then exits.
In this case, you can periodically run the nvfwupd show_update_progress
command with the task ID
to monitor the update progress.
Create a component-specific
updparameters.json
file.Update the firmware in the background:
nvfwupd -t ip=<bmc-ip-address> user=<bmc-user-id> password=<bmc-password> update_fw \ -p <firmware-package-file> -y -s updparameters.json -b
Example Output
FW recipe: ['<firmware-package-file>'] {"@odata.type": "#UpdateService.v1_6_0.UpdateService", ...} FW update started, Task Id: 1
Display the update progress for the task:
nvfwupd -t ip=<bmc-ip-address> user=<bmc-user-id> password=<bmc-password> show_update_progress -i 1
Example Output
{'id': ['1']} Task Info for Id: 1 StartTime: 2023-03-11T01:10:01-0000 TaskState: Running PercentComplete: 58 TaskStatus: OK EndTime: 2023-03-11T01:10:00+00:00 TaskStatus: Task /redfish/v1/UpdateService/upload is running normally.
Eventually, the percent complete field reports
100
and the task state field reportsCompleted
.To activate the firmware update, refer to Firmware Update Activation for more information.