NVIDIA Firmware Tools (MFT) Documentation v4.22.1-307 LTS
NVIDIA ConnectX-5 Adapter Cards Firmware Release Notes v16.35.3502 LTS

Connect-IB Adapter Card

When burning a flash for the first time, the initial image should contain the correct GUIDs and VPD for the device. Subsequent firmware updates will not change these initial setting.

Warning

flint for OEM is required for burning Connect-IB for the first time.

The Connect-IB image contains the Node, Port and System GUIDs and Port MACs to be used by the card. To simplify GUIDs assignment, the mlxburn tool can derive the MACs and GUIDs from a single base GUID according to NVIDIA methodology:

Copy
Copied!
            

Description: UID Number Step Port1 GUID: base 8 1 Port2 GUID: base + 8 8 1 Port1 MAC: guid2mac1(base) 8 1 Port2 MAC: guid2mac(base + 8) 8 1

Note: guid2mac(guid) is (((guid >> 16) & 0xffffff000000) | (guid & 0xffffff) ). Meaning, remove the 2 middle bytes of an 8 bytes GUID to generate a 6 bytes MAC.

The VPD information is returned by the firmware upon VPD access from the PCI configuration header.

  • The vpd_ro file last 3 bytes are the vpd_rw tag-id and length

  • The size of the vpd_r file (including the above 3 bytes) should be a multiple of 4

The VPD and GUIDs are stored in the last sector on flash that can be set as Write protected after the initial firmware burn.

Method 1: Generating Firmware with Specific GUIDs and Burning on the Flash

  1. 1.Generate the initial image with the correct GUIDs and VPD for the specific device, using the mlxburn tool. The generated image occupies full flash size.

    Copy
    Copied!
                

    # mlxburn -fw FW/fw-ConnectIB.mlx -c FW/MCB194A-FCA_A1.ini -wrimage fw-ConnectIB-MCB194A-FCA_A1.bin -base_guid 0x0002c903002ef500 -vpd_r_file ./vpd_r_data.bin

  2. Disable the Write protection.

    Copy
    Copied!
                

    # flint -d /dev/mst/mt511_pciconf0 -ocr hw set Flash0.WriteProtected=Disabled

  3. Burn the entire flash, using the flint tool.

    Copy
    Copied!
                

    # flint -d /dev/mst/mt511_pciconf0 -i ./fw-ConnectIB-MCB194A-FCA_A1.bin -ocr -ignore_dev_data -allow_psid_change -nofs --yes burn

  4. Set Write protection on the last sector, using mstflint:
    For devices using Winbond flash:

    Copy
    Copied!
                

    # flint -d /dev/mst/mt511_pciconf0 -ocr hw set Flash0.WriteProtected=Top,1-SubSectors

  5. Enable flash quad SPI IO operations.

    Copy
    Copied!
                

    # flint -d /dev/mst/mt511_pciconf0 -ocr hw set QuadEn=1

Method 2: Generating Firmware Image with Blank GUIDs, Burning and Setting GUIDs on the Flash

  1. Generate the initial image with VPD for the specific device, using the mlxburn tool. The generated image occupies full flash size.

    Copy
    Copied!
                

    # mlxburn -fw FW/fw-ConnectIB.mlx -c FW/MCB194A-FCA_A1.ini -wrimage fw-ConnectIB-MCB194A-FCA_A1.bin -vpd_r_file ./vpd_r_data.bin

  2. Disable the Write protection.

    Copy
    Copied!
                

    # flint -d /dev/mst/mt511_pciconf0 -ocr hw set Flash0.WriteProtected=Disabled

  3. Burn the entire flash.

    Copy
    Copied!
                

    # flint -d /dev/mst/mt5111_pciconf0 -i ./fw-ConnectIB-MCB194A-FCA_A1.bin -ocr -ignore_dev_data -allow_psid_change -nofs --yes burn

  4. Set device manufacture GUIDs.

    Copy
    Copied!
                

    # flint -d /dev/mst/mt511_pciconf0 -ocr -uid 0x0002c903002ef500 smg

  5. Set device GUIDs.

    Copy
    Copied!
                

    # flint -d /dev/mst/mt511_pciconf0 -ocr -uid 0x0002c903002ef500 sg

  6. Set Write Protection on the last sector, using the mstflint tool.
    For devices using Winbond flash:

    Copy
    Copied!
                

    # flint -d /dev/mst/mt511_pciconf0 -ocr hw set Flash0.WriteProtected=Top,1-SubSectors

  7. Enable flash quad SPI IO operations:

    Copy
    Copied!
                

    # flint -d /dev/mst/mt511_pciconf0 -ocr hw set QuadEn=1

    1. To view flash settings, run:

      Copy
      Copied!
                  

      # flint -d /dev/mst/mt511_pciconf0 -ocr hw query

    2. To view assigned GUIDs, run:

      Copy
      Copied!
                  

      # flint -d /dev/mst/mt511_pciconf0 -ocr q

    3. To change a GUID after the initial burn, run:

      Copy
      Copied!
                  

      # flint -d /dev/mst/mt4113_pciconf0 -ocr -uid 0x0002c903002ef500 sg

© Copyright 2023, NVIDIA. Last updated on Oct 12, 2023.