Firmware Upgrade

Firmware upgrade can be performed either by using hl-fw-loader tool as described in Firmware Update Tool section, or as described in the section below.

Platform Level Components

Before upgrading the firmware, make sure the following platform level components are upgraded:

  • CPLD - To upgrade the CPLD, refer to the Intel Gaudi vault.

  • Platform BIOS, and BMC FW - Refer to your system vendor documentation for details.

  • (HLS-2 only) PCIe switch version - Refer to your system vendor documentation for details.

Note

Contact your local Intel Gaudi support representative if you do not have access to the Intel Gaudi vault.

Firmware Upgrade

The habanalabs-firmware-odm package must be installed before firmware upgrade. See Driver and Software Installation.

  1. Check the existing Gaudi SPI FW version by running the following command:

    hl-smi -L | grep SPI
    

    Only the SPI FW needs to be updated at the system level. Refer to the Support Matrix for the exact version. The below shows an example output for the 1.17.1-40 release:

     Firmware [SPI] Version          : Preboot version hl-gaudi2-1.17.0-fw-50.1.2-sec-8 (Jul 20 2023 - 17:57:23)
    
  2. To start the firmware upgrade, run the following command:

    sudo hl-fw-loader
    

    Note

    Upgrading the firmware may take a while to complete. Make sure no network problems or power failure occurs during upgrade.

  3. Re-check the SPI FW version by running the hl-smi command below and verify it matches the supported versions listed in the Support Matrix according to the Gaudi device you are using. The below shows an example output of Gaudi 2:

         $ hl-smi -L | grep SPI
         Firmware [SPI] Version: Preboot version hl-gaudi2-1.18.0-fw-53.1.1-sec-9 (Jul 20 2023 - 17:57:23)
         Firmware [SPI] Version: Preboot version hl-gaudi2-1.18.0-fw-53.1.1-sec-9 (Jul 20 2023 - 17:57:23)
         Firmware [SPI] Version: Preboot version hl-gaudi2-1.18.0-fw-53.1.1-sec-9 (Jul 20 2023 - 17:57:23)
         Firmware [SPI] Version: Preboot version hl-gaudi2-1.18.0-fw-53.1.1-sec-9 (Jul 20 2023 - 17:57:23)
         Firmware [SPI] Version: Preboot version hl-gaudi2-1.18.0-fw-53.1.1-sec-9 (Jul 20 2023 - 17:57:23)
         Firmware [SPI] Version: Preboot version hl-gaudi2-1.18.0-fw-53.1.1-sec-9 (Jul 20 2023 - 17:57:23)
         Firmware [SPI] Version: Preboot version hl-gaudi2-1.18.0-fw-53.1.1-sec-9 (Jul 20 2023 - 17:57:23)
         Firmware [SPI] Version: Preboot version hl-gaudi2-1.18.0-fw-53.1.1-sec-9 (Jul 20 2023 - 17:57:23)
    

eROM Upgrade

When upgrading the FW, the eROM should also be upgraded. Before running the procedure, make sure you have the following:

  • Root privileges

  • BMC access

Note

  • Refer to Support Matrix for the latest eROM version.

  • To verify the installed eROM version, run sudo hl-smi --fw-version.

To upgrade the eROM, perform the following:

  1. Unload the drivers:

    sudo modprobe -r habanalabs && sudo modprobe -r habanalabs_cn
    sudo modprobe -r habanalabs_ib && sudo modprobe -r habanalabs_en
    
  2. Disable the eROM write protection:

    1. Read the current value of CPLD register 0x10:

      sudo i2cget -y -f <i2c_bus> 0x25 0x10
      
    2. Write 1 to bit 2 of CPLD register 0x10:

      sudo i2cset -y -f <i2c_bus> 0x25 0x10 <Val | 0x4> # Val is read in step a
      
  3. Upgrade the eROM by running the following command:

    cd /opt/habanalabs/qual/gaudi3/bin
    hl-fw-loader -f /lib/firmware/habanalabs/gaudi3/gaudi3-agent-fw_loader-fit_erom.itb
    
  4. Enable the eROM write protection:

    1. Read the current value of CPLD register 0x10:

      sudo i2cget -y -f <i2c_bus> 0x25 0x10
      
    2. Write 0 to bit 2 of CPLD register 0x10:

      sudo i2cset -y -f <i2c_bus> 0x25 0x10 <val & ~0x04> # Val is read in step a
      

Note

For the out-of-band upgrade instructions, refer to Gaudi 3 OOB Management Specification available the Intel Gaudi vault.

To upgrade the eROM, perform the following:

  1. Unload the drivers:

    sudo modprobe -r habanalabs && sudo modprobe -r habanalabs_cn
    sudo modprobe -r habanalabs_ib && sudo modprobe -r habanalabs_en
    
  2. Disable the eROM write protection:

    1. Read the current value of CPLD register 0x8:

      sudo i2cget -y -f <i2c_bus> 0x25 0x8
      
    2. Write 1 to bit 3 of CPLD register 0x8:

      sudo i2cset -y -f <i2c_bus> 0x25 0x8 <Val | 0x8> # Val is read in step a
      
  3. Upgrade the eROM by running the following command:

    cd /opt/habanalabs/qual/gaudi2/bin
    hl-fw-loader -f /lib/firmware/habanalabs/gaudi2/gaudi2-agent-fw_loader-fit_erom.itb
    
  4. Enable the eROM write protection:

    1. Read the current value of CPLD register 0x8:

      sudo i2cget -y -f <i2c_bus> 0x25 0x8
      
    2. Write 0 to bit 3 of CPLD register 0x8:

      sudo i2cset -y -f <i2c_bus> 0x25 0x8 <val & ~0x8> # Val is read in step a