NVIDIA Firmware Tools (MFT) Documentation

Switch-IB Switch System

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:

  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-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
    
  2. 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
    
  3. 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
    
  4. Set Write protection.

    # flint -d /dev/mst/mt583_pciconf0 -ocr hw set Flash0.WriteProtected=Top,2-SubSectors
    
  5. 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:

  1. 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
    
  2. 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
    
  3. 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
    
  4. Set device manufacture GUIDs.

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

    # flint -d /dev/mst/mt583_pciconf0 -ocr -uid 0x0002c903002ef500 sg
    
  6. 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
    
  7. Enable flash quad SPI IO operations.

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


    1. To view flash settings:

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

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

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

Last updated: