Marvell Switch Firmware Management

The following table describes Marvell switch current firmware versions on the switches.:

Platform Switch Version Firmware Name Function supported
P3663 Oak/88Q5072 0.07.1186.01 P3663_88Q5072_flash.v0.07.1186.01.bin AVNU CDS 1.6 PTP enabled as per role described in PTP section
P3710 Oak/88Q5072 0.07.1186.01 P3663_88Q5072_flash.v0.07.1186.01.bin AVNU CDS 1.6 PTP enabled as per role described in PTP section
Spruce/88Q6113 0.07.1186.01 P3710_88Q6113_flash.v0.07.1186.01.bin AVNU CDS 1.6 PTP enabled as per role described in PTP section

Switch firmware update from Orin over Ethernet

Starting in 6.0.0.1, Its possible to update the Marvell switch firmware from Orin through "update_firmware.sh" script packaged in file system. Silent feature of update process/framework is as below:

  • Automatic upgrade is by default enabled in AV+L standard build only through boot-up script.
  • Manual force upgrade/downgrade is also possible via scripts in AV+L, AV+Q & AV+Q+Q standard builds.
  • Provision to get the current flashed firmware is also possible via script.
Note: Aurix MCU must be pre-flashed with firmware version >= 6.0.0.1.

Manual up-grade/de-grade the firmware

For manual up-grade/de-grade, different scripts are provided per switch, Firmware binaries to be used for this purpose can be found in /lib/firmware/marvell_ethernet. Following are the command references and their locations.

//P3663 - Oak
$sudo /bin/bash /lib/firmware/marvell_ethernet/driveota/P3663_88Q5072.sh --Install <FW>

//P3710 - Oak
$sudo /bin/bash /lib/firmware/marvell_ethernet/driveota/P3710_88Q5072.sh --Install <FW>

//P3710 - Spruce
$sudo /bin/bash /lib/firmware/marvell_ethernet/driveota/P3710_88Q6113.sh --Install <FW>

Print current flashed firmware version:

//P3663 - Oak
$sudo /bin/bash /lib/firmware/marvell_ethernet/driveota/P3663_88Q5072.sh --GetCurrentVersion

//P3710 - Oak
$sudo /bin/bash /lib/firmware/marvell_ethernet/driveota/P3710_88Q5072.sh --GetCurrentVersion

//P3710 - Spruce
$sudo /bin/bash /lib/firmware/marvell_ethernet/driveota/P3710_88Q6113.sh --GetCurrentVersion
Note:
  1. Newly installed firmware will take affect only after aurix is power cycled (As aurix resets the switch)
  2. It is not recommended to update the switch firmware manually unless absolutely required or informed by NVIDIA
  3. Its advised to run the script intended for a specific board on that board only(ex: Run P3710_88Q6113.sh on P3710 only) as the recovery from firmware corruption cannot be done without manually flashing using JATG
  4. File format of the firmware binary to be provided as input to "–Install" is fixed. Please refer SWITCH_FW_FORMAT from <board>_<switch>.sh (ex:P3663_88Q5072.sh). Binary provided in any other format will be rejected.
  5. Output of "GetCurrentVersion" follows following format.

    x.xx.xxxx.xx
    0.07.1186.01