Switch Firmware Management#
Note
Network Switch and PHY firmware(s) released as part of DriveOS are for development purposes only. For production and security/safety use-cases, DriveOS customers should contact Switch and PHY vendor(s) for firmware(s), associated tools (functional and security/safety) and documentation.
The following table describes current firmware versions of the switches on DRIVE AGX Thor platforms:
Platform |
Switch |
Version |
Firmware Name |
Function supported |
---|---|---|---|---|
P3960-TS3/TS4 |
Realtek Condor 1 RTL9072DA |
|
|
Basic network forwarding and PTP enabled firmware. |
P3960-TS3/TS4 |
Realtek Condor 2 RTL9072DA |
|
|
Basic network forwarding and PTP enabled firmware. |
P3960-TS2 |
Realtek Condor 1 RTL9072DA |
|
|
AVNU CDS 1.6 PTP enabled as per role described in PTP section. |
P3960-TS2 |
Realtek Condor 2 RTL9072DA |
|
|
AVNU CDS 1.6 PTP enabled as per role described in PTP section. |
P3960-TS3/TS4 |
Marvell Fir 88Q5152 |
|
|
AVNU CDS 1.6 PTP enabled as per role described in PTP section. |
P3960-TS2 |
Marvell Fir 88Q5152 |
|
|
AVNU CDS 1.6 PTP enabled as per role described in PTP section. |
Switch Firmware Update from DRIVE AGX Thor over Ethernet#
Starting in 7.0.1.0, it is possible to manually up-grade/de-grade switch firmware from Tegra.
Manually Upgrade/Downgrade the Firmware#
For manual upgrade/downgrade processes, different scripts are provided per switch. Firmware binaries to use for this process can be found in /lib/firmware/marvell_ethernet
and /lib/firmware/realtek_ethernet/RTL9072D/
. The following are the command references and their locations.
//P3960 - Condor-1
$sudo /bin/bash /lib/firmware/realtek_ethernet/driveota/P3960_RTL9072D_CONDOR1.sh --Install <FW>
//P3960 - Condor-2
$sudo /bin/bash /lib/firmware/realtek_ethernet/driveota/P3960_RTL9072D_CONDOR2.sh --Install <FW>
//P3960 - Fir
$sudo /bin/bash /lib/firmware/marvell_ethernet/driveota/P3960_88Q5152.sh --Install <FW>
Print current flashed firmware version:
//P3960 - Condor-1
$sudo /bin/bash /lib/firmware/realtek_ethernet/driveota/P3960_RTL9072D_CONDOR1.sh --GetCurrentVersion
//P3960 - Condor-2
$sudo /bin/bash /lib/firmware/realtek_ethernet/driveota/P3960_RTL9072D_CONDOR2.sh --GetCurrentVersion
//P3960 - Fir
$sudo /bin/bash /lib/firmware/marvell_ethernet/driveota/P3960_88Q5152.sh --GetCurrentVersion
Note
Newly installed firmware takes affect only after sMCU is power cycled when sMCU resets the switch.
NVIDIA does not recommended updating the switch firmware manually unless absolutely required or informed by NVIDIA.
Run the script intended for a specific board on that board only (for example, P3960_88Q5152.sh on P3960 only) because the recovery from firmware corruption cannot occur without manually flashing using JTAG.
File format of the firmware binary to be provided as input to “–Install” is fixed. Refer SWITCH_FW_FORMAT from
_.sh
(, for example,P3960_88Q5152.sh
). Binary provided in any other format is rejected.
Warning
Realtek Condor on P3960-TS1 and TS2 have chip revision V1 and TS3 onwards will have VA chip. OTA scripts validate the board name from “/proc/device-tree/chosen/nvidia,board_name” and read the chip revision from Condor registers. If the above mentioned combination of board name vs chip supported does not mach then OTA cannot be performed. ex: Updating TS1/2 with TS3 firmware and error observed will be
Error: Switch FW Format for p3960-10-sw01 and RTL907XD_vA chip is not defined
.
Warning
Ensure that board name match the actual TS build. Customer data of the board should match the boards actual TS build. For example, flashing the TS1 board with customer data of TS3 will make board name to reflect as TS1, but the actual board will have VA chip which will lead to OTA failures.
Warning
Force installation of the firmwares using any other method other than supported or modifying the scripts/firmware names to force the installation will lead to firmware corruption/incompatibility and cannot be recovred remotely using software.