Upon first time flash burning, the GUIDs and VPD of the device are required to be set on the flash.
The sections below demonstrate two methods of burning a new Switch-IB device in order to set these initial settings. Subsequent firmware updates will not change these settings.
flint for OEM is required for burning Switch-IB for the first time.
For information regarding GUIDs, MACs and VPD, please refer to Accessing Remote InfiniBand Device by Direct Route MADs.
Burning the Switch-IB Device
The examples below are for managed switches. For unmanaged switches, connect an MTUSB adapter (see MTUSB-1 USB to I2C Adapter) to the device and use the appropriate mst device (/dev/mst/mtusb…).
Method 1: Generating Firmware with Specific GUIDs and Burning it on the Flash
In order to burn a new Switch-IB device, follow the steps below:
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-SwitchIB.mlx -c FW/MSB7700-E_Ax.ini -wrimage fw-SwitchIB-MSB7700-E_Ax.bin -base_guid 0x0002c903002ef500 -vpd_r_file ./vpd_r_data.bin
Disable the Write protection.
# flint -d /dev/mst/mt583_pciconf0 -ocr hw set Flash0.WriteProtected=Disabled # flint -d /dev/mst/mt583_pciconf0 -ocr hw set Flash1.WriteProtected=Disabled
Burn the entire flash.
# flint -d /dev/mst/mt583_pciconf0 -i ./ fw-SwitchIB-MSB7700-E_Ax.bin - ocr -ignore_dev_data -allow_psid_change -nofs --yes burn
Set Write protection.
# flint -d /dev/mst/mt583_pciconf0 -ocr hw set Flash0.WriteProtected=Top,2-SubSectors
Enable flash quad SPI IO operations.
# flint -d /dev/mst/mt583_pciconf0 -ocr hw set QuadEn=1
Method 2: Generating Firmware Image with Blank GUIDs, Burning and Setting GUIDs on the Flash
In order to burn a new Switch-IB device, follow the steps below:
Generate the initial image VPD for the specific device using the mlxburn tool. The generated image occupies full flash size.
# mlxburn -fw FW/fw-SwitchIB.mlx -c FW/MSB7700-E_Ax.ini -wrimage fw-SwitchIB-MSB7700-E_Ax.bin -vpd_r_file ./vpd_r_data.bin
Disable the Write protection.
# flint -d /dev/mst/mt583_pciconf0 -ocr hw set Flash0.WritePro-tected=Disabled # flint -d /dev/mst/mt583_pciconf0 -ocr hw set Flash1.WritePro-tected=Disabled
Burn the entire flash.
# flint -d /dev/mst/mt583_pciconf0 -i ./ fw-SwitchIB-MSB7700-E_Ax.bin - ocr -ignore_dev_data -allow_psid_change -nofs --yes burn
Set device manufacture GUIDs.
# flint -d /dev/mst/mt583_pciconf0 -ocr -uid 0x0002c903002ef500 smg
Set device GUIDs.
# flint -d /dev/mst/mt583_pciconf0 -ocr -uid 0x0002c903002ef500 sg
Set Write protection.
# flint -d /dev/mst/mt583_pciconf0 -ocr hw set Flash0.WriteProtected=Top,2-SubSectors # flint -d /dev/mst/mt583_pciconf0 -ocr hw set Flash1.WriteProtected=Top,1-SubSectors
Enable flash quad SPI IO operations.
# flint -d /dev/mst/mt583_pciconf0 -ocr hw set QuadEn=1
To view flash settings:
# flint -d /dev/mst/mt583_pciconf0 -ocr hw query
To view assigned GUIDs:
# flint -d /dev/mst/mt583_pciconf0 -ocr q
To change a GUID after the initial burn:
# flint -d /dev/mst/mt52000_pciconf0 -ocr -uid 0x0002c903002ef500 sg