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.
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:
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.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.binDisable the Write protection.
# flint -d /dev/mst/mt511_pciconf0 -ocr hw set Flash0.WriteProtected=Disabled
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
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
-SubSectorsEnable 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
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
Disable the Write protection.
# flint -d /dev/mst/mt511_pciconf0 -ocr hw set Flash0.WriteProtected=Disabled
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
Set device manufacture GUIDs.
# flint -d /dev/mst/mt511_pciconf0 -ocr -uid
0x0002c903002ef500
smgSet device GUIDs.
# flint -d /dev/mst/mt511_pciconf0 -ocr -uid
0x0002c903002ef500
sgSet 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
-SubSectorsEnable flash quad SPI IO operations:
# flint -d /dev/mst/mt511_pciconf0 -ocr hw set QuadEn=
1
To view flash settings, run:
# flint -d /dev/mst/mt511_pciconf0 -ocr hw query
To view assigned GUIDs, run:
# flint -d /dev/mst/mt511_pciconf0 -ocr q
To change a GUID after the initial burn, run:
# flint -d /dev/mst/mt4113_pciconf0 -ocr -uid
0x0002c903002ef500
sg