Program with devlink

Alveo X3522 User Guide (UG1523)

Document ID
UG1523
Release Date
2023-08-25
Revision
1.4 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.

  3. Apply the .update file to the PCIe address that you noted:
    # devlink dev flash pci/0000:01:00.0 file xilinx/x3/x3522-bundle.update
    Note: The PCIe address includes the domain (0000) before the bus, device and function (01:00.0).

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

  4. 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.
  5. Do a cold reboot of the server, during which the server must be physically disconnected from all power sources.
    CAUTION:
    If you are using a tool such as iDRAC/BMC, be aware that cold reboot or power cycle commands typically leave auxiliary power enabled. This will cause a partial update that puts the X3522 in an unpredictable or failed state. You must ensure you select options that remove all power from the server (including auxiliary power), and so are equivalent to disconnecting it.

    If in any doubt, physically disconnect the server.

  6. 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