image image image image image

On This Page

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.

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

GUIDs and MACs

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:

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.

PCI Vital Product Data (VPD)

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

Burning a New Connect-IB Device

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.

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

    # flint -d /dev/mst/mt511_pciconf0 -ocr hw set Flash0.WriteProtected=Disabled
  3. Burn the entire flash, using the flint tool.

    # 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:

    # flint -d /dev/mst/mt511_pciconf0 -ocr hw set Flash0.WriteProtected=Top,1-SubSectors
  5. Enable flash quad SPI IO operations.

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

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

    # flint -d /dev/mst/mt511_pciconf0 -ocr hw set Flash0.WriteProtected=Disabled
  3. Burn the entire flash.

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

    # flint -d /dev/mst/mt511_pciconf0 -ocr -uid 0x0002c903002ef500 smg
  5. Set device GUIDs.

    # 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:

    # flint -d /dev/mst/mt511_pciconf0 -ocr hw set Flash0.WriteProtected=Top,1-SubSectors
  7. Enable flash quad SPI IO operations:

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


    1. To view flash settings, run:

      # flint -d /dev/mst/mt511_pciconf0 -ocr hw query
    2. To view assigned GUIDs, run:

      # flint -d /dev/mst/mt511_pciconf0 -ocr q
    3. To change a GUID after the initial burn, run:

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