Program with devlink - UG1523

Alveo X3522 User Guide (UG1523)

Document ID
UG1523
Release Date
2024-10-18
Revision
1.5 English

To apply a .update file with devlink:

  1. List the Xilinx PCIe devices for the X3522:
    # lspci -D -d 10ee:5084
    0000:01:00.0 Ethernet controller: Xilinx Corporation Device 5084
    0000:01:00.1 Ethernet controller: Xilinx Corporation Device 5084
  2. Note the PCIe address of the first interface, which can be identified as an Ethernet controller of type 5084.

    In the above example, the address of the first interface is 0000:01:00.0.

    Note: The PCIe address includes the domain (0000) before the bus, device, and function (01:00.0).
  3. Get the current bundle version for the PCIe address that you noted in step 2:
    # devlink dev info pci/0000:01:00.0 | grep bundle
            fw.bundle_id 1.27.143.3710
  4. Note the bundle version that is output.

    In the above example, the bundle version is 1.27.143.3710.

  5. Apply the .update file to the PCIe address that you noted in step 2:
    # devlink dev flash pci/0000:01:00.0 file xilinx/x3/x3522-bundle.update

    The devlink command hands the filename to the driver, and the driver then calls the firmware to perform the update.

  6. Wait for the firmware to finish the update, viewing the progress report from devlink:
    # devlink dev flash pci/0000:01:00.0 file xilinx/x3/x3522-bundle.update
    Checking update
    Starting update
    Erasing 100%
    Writing 100%
    Finishing update
    Update complete
    Note: Older versions of devlink might not output a progress report.
    Note: If you press Ctrl-C it halts devlink and its progress reports, but the firmware continues to apply the update.
    Note: If the update fails, refer to the kernel message log for details. The error messages from devlink dev flash are generic and can be misleading.
  7. Do a cold reboot of the server using one of the following methods:
    • Use a tool such as iDRAC/BMC to issue a cold reboot or power cycle command.
      CAUTION:
      When using this method of cold reboot:
      • If you are updating from a bundle version that is less than 1.25.101.3090 (see step 4), you must repeat the entire update a second time for it to complete successfully.

        (Because the auxiliary power remains enabled, the first update is only partial, and puts the X3522 in an unpredictable or failed state. A second update is required to complete the process.)

      • If you are updating from bundle version 1.25.101.3090 or later this limitation does not apply, and a single update is sufficient.

    • Physically disconnect the server from all power sources for at least 10 seconds.
      Note: When using this method of cold reboot, a single update is sufficient for all bundle versions.
  8. Confirm the version numbers are as expected:
    # devlink dev info pci/0000:01:00.0
    pci/0000:01:00.0:
      driver xilinx_efct
      serial_number 0123456789ab
      versions:
          fixed:
            board.id X3522
          running:
            fw.mgmt 1.16.1.8
            fpga.rev 1_I9
            fw.mgmt 1.16.1.8 (0) x3_llnic
            fw.mgmt.suc 3.0.24.1003 type 0 (2022-10-14)
            board.rev 1.1.0.0
            fw.bundle_id 1.27.143.3710
          stored:
            fw.bundle_id 1.27.143.3710
            fw.mgmt 1.16.1.8
            fw.mgmt.suc 3.0.24.1003
            fw.exprom 1.3.6.18
            fw.psid x3522-disable_hybrid + enable_uefi