Setting GUIDs and MACs

To set GUIDs/MACs/UID for the given device, use the ‘sg’ (set guids) command with the -guid(s), -uid and/or -mac(s) flags.

On 4th generation/Group I devices, the “sg” command can operate on both the image file and the image on the flash. When running the “sg” command on an image on the flash, if the GUIDs/MACs/UIDs in the image are non-blank, the flint will re-burn the current image using the given GUIDs/MACs/UIDs.

  1. Change the GUIDs/MACs on a device:

    # flint -d /dev/mst/mt4099_pci_cr0 q
    -W- Running quick query - Skipping full image integrity checks.
    Image type: FS2
    FW Version: 2.42.5000
    FW Release Date: 4.5.2017
    Device ID: 4099
    Description: Node Port1 Port2 Sys image
    GUIDs: f45214030001b8a0 f45214030001b8a1 f45214030001b8a2 f45214030001b8a3
    MACs: f4521401b8a1 f4521401b8a2
    VSD:
    PSID: MT_1090120019

    # flint -d /dev/mst/mt4099_pci_cr0 -guid 0x452140300abadaba -mac 0x300abadaba sg
    -W- GUIDs are already set, re-burining image with the new GUIDs ...
    You are about to change the Guids/Macs/Uids on the device:

    New Values Current Values
    Node GUID: 452140300abadaba f45214030001b8a0
    Port1 GUID: 452140300abadabb f45214030001b8a1
    Port2 GUID: 452140300abadabc f45214030001b8a2
    Sys.Image GUID: 452140300abadabd f45214030001b8a3
    Port1 MAC: 00300abadaba f4521401b8a1
    Port2 MAC: 00300abadabb f4521401b8a2

    Do you want to continue ? (y/n) [n] : y
    Burning FS2 FW image without signatures - OK
    Restoring signature - OK

    # flint -d /dev/mst/mt4099_pci_cr0 q
    Image type: FS2
    FW Version: 2.31.5050
    FW Release Date: 4.5.2014
    Device ID: 4099
    Description: Node Port1 Port2 Sys image
    GUIDs: 452140300abadaba 452140300abadabb 452140300abadabc 452140300abadabd
    MACs: 00300abadaba 00300abadabb
    VSD:
    PSID: MT_1090120019

  2. Change the GUIDs/MACs on an image file:

    # flint -i /tmp/image.bin q
    Image type: fs2
    FW Version: 2.31.5050
    FW Release Date: 4.5.2014
    Device ID: 4099
    Description: Node Port1 Port2 Sys image
    GUIDs: f45214030001b8a0 f45214030001b8a1 f45214030001b8a2 f45214030001b8a3
    MACs: 00300abadaba 00300abadabb
    VSD:
    PSID: MT_1090120019

    # flint -i /tmp/image.bin -guid 0002c9000abcdef0 -mac 02c90abcdef0 sg
    You are about to change the Guids/Macs/Uids on the device:
    New Values Current Values
    Node GUID: 0002c9000abcdef0 f45214030001b8a0
    Port1 GUID: 0002c9000abcdef1 f45214030001b8a1
    Port2 GUID: 0002c9000abcdef2 f45214030001b8a2
    Sys.Image GUID: 0002c9000abcdef3 f45214030001b8a3
    Port1 MAC: 02c90abcdef0 00300abadaba
    Port2 MAC: 02c90abcdef1 00300abadabb

    Do you want to continue ? (y/n) [n] : y
    Restoring signature - OK# flint -i /tmp/image.bin q
    Image type: FS2
    FW Version: 2.31.5050
    FW Release Date: 4.5.2014
    Device ID: 4099
    Description: Node Port1 Port2 Sys image
    GUIDs: 0002c9000abcdef0 0002c9000abcdef1 0002c9000abcdef2 0002c9000abcdef3
    MACs: 02c90abcdef0 02c90abcdef1
    VSD:
    PSID: MT_1090120019

On 5th Generation (Group II) devices, the “sg” command can operate on both the image file and the image on the flash. When running the “sg” command on an image on the flash, -uid flag must be specified. For ConnectX-4, -guid/-mac flags can be specified. By default, 8 GUIDs will be assigned for each port starting from base, base+1 up until base+7 for port 1 and base+8 up until base+15 for port 2.

To change the step size and the number of GUIDs per port, specify guids_num=<num> step_size=<size> to the sg command.

  1. Change GUIDs for device:

    # flint -d /dev/mst/mt4113_pciconf0 q
    Image type: FS3
    FW Version: 10.10.3000
    FW Release Date: 29.4.2014
    Description: UID GuidsNumber Step
    Base GUID1: 0002c903002ef500 8 1
    Base GUID2: 0002c903002ef508 8 1
    Base MAC1: 0002c92ef500 8 1
    Base MAC2: 0002c92ef508 8 1
    Image VSD:
    Device VSD: VSD
    PSID: MT_1240110019

    # flint -d /dev/mst/mt4113_pciconf0 -uid 0002c123456abcd -ocr sg
    -W- Firmware flash cache access is enabled. Running in this mode may cause the firmware to hang.
    Updating GUID section - OK
    Updating ITOC section - OK
    Restoring signature - OK

    # flint -d /dev/mst/mt4113_pciconf0 q
    Image type: FS3
    FW Version: 10.10.3000
    FW Release Date: 29.4.2014
    Description: UID GuidsNumber Step
    Base GUID1: 00002c123456abcd 8 1
    Orig Base GUID1: 0002c903002ef500 8 1
    Base GUID2: 00002c123456abd5 8 1
    Orig Base GUID2: 0002c903002ef508 8 1
    Base MAC1: 00002c56abcd 8 1
    Orig Base MAC1: 0002c92ef500 8 1
    Base MAC2: 00002c56abd5 8 1
    Orig Base MAC2: 0002c92ef508 8 1
    Image VSD:
    Device VSD: VSD
    PSID: MT_1240110019

    Warning

    Orig Base GUID/MAC refers to the GUIDs/MACs located in the MFG(manufacture guids) section of the flash/image.

  2. Change GUIDS for device (specifying guids_num and step_size):

    # flint -d /dev/mst/mt4113_pciconf0 q
    Image type: FS3
    FW Version: 10.10.3000
    FW Release Date: 29.4.2014
    Description: UID GuidsNumber Step
    Base GUID1: 0002c903002ef500 8 1
    Base GUID2: 0002c903002ef508 8 1
    Base MAC1: 0002c92ef500 8 1
    Base MAC2: 0002c92ef508 8 1
    Image VSD:
    Device VSD: VSD
    PSID: MT_1240110019

    # flint -d /dev/mst/mt4113_pciconf0 -uid 0000000000000001 -ocr sg guids_num=2 step_size=1
    -W- Firmware flash cache access is enabled. Running in this mode may cause the firmware to hang.
    Updating GUID section - OK
    Updating ITOC section - OK
    Restoring signature - OK

    # flint -d /dev/mst/mt4113_pciconf0 q
    Image type: FS3
    FW Version: 10.10.3000
    FW Release Date: 29.4.2014
    Description: UID GuidsNumber Step
    Base GUID1: 0000000000000001 2 1
    Orig Base GUID1: 0002c903002ef500 8 1
    Base GUID2: 0000000000000003 2 1
    Orig Base GUID2: 0002c903002ef508 8 1
    Base MAC1: 000000000001 2 1
    Orig Base MAC1: 0002c92ef500 8 1
    Base MAC2: 000000000003 2 1
    Orig Base MAC2: 0002c92ef508 8 1
    Image VSD:
    Device VSD: VSD
    PSID: MT_1240110019

  3. Change GUIDs for image:

    # flint -i /tmp/connect-ib.bin q
    Image type: FS3
    FW Version: 10.10.3000
    FW Release Date: 29.4.2014
    Description: UID GuidsNumber Step
    Base GUID1: 0002c903002ef500 8 1
    Base GUID2: 0002c903002ef508 8 1
    Base MAC1: 0002c92ef500 8 1
    Base MAC2: 0002c92ef508 8 1
    Image VSD:
    Device VSD: VSD
    PSID: MT_1240110019

    # flint -i /tmp/connect-ib.bin -uid 000123456abcd sg
    Updating GUID section - OK
    Updating ITOC section - OK
    Restoring signature - OK

    # flint -i /tmp/connect-ib.bin q
    Image type: FS3
    FW Version: 10.10.3000
    FW Release Date: 29.4.2014
    Description: UID GuidsNumber Step
    Base GUID1: 000000123456abcd 8 1
    Orig Base GUID1: 0002c903002ef500 8 1
    Base GUID2: 000000123456abd5 8 1
    Orig Base GUID2: 0002c903002ef508 8 1
    Base MAC1: 00000056abcd 8 1
    Orig Base MAC1: 0002c92ef500 8 1
    Base MAC2: 00000056abd5 8 1
    Orig Base MAC2: 0002c92ef508 8 1
    Image VSD:
    Device VSD: VSD
    PSID: MT_1240110019

  4. Change GUIDs and MACs for the ConnectX-4 device:

    # flint -d /dev/mst/mt4115_pciconf0 -guid e41d2d0300570fc0 -mac 0000e41d2d570fc0 -ocr sg
    -W- Firmware flash cache access is enabled. Running in this mode may cause the firmware to hang.
    Updating GUID section - OK
    Updating ITOC section - OK
    Restoring signature - OK

    # flint -d /dev/mst/mt4115_pciconf0 q
    Image type: FS3
    FW Version: 12.0100.5630
    FW Release Date: 23.3.2015
    Description: UID GuidsNumber
    Base GUID: e41d2d0300570fc0 4
    Base MAC: e41d2d570fc0 4
    Image VSD:
    Device VSD:
    PSID: MT_2190110032
    add note:
    GUIDs and MACs can be changed separately on ConnectX4

In some cases, OEMs may prefer to pre-burn the flash before it is assembled on board.To generate an image for pre-burning for 4th generation (Group I) devices, use the mlxburn “- striped_image” flag. The “striped image” file layout is identical to the image layout on the flash, hence making it suitable for burning verbatim.When pre-burning, the GUIDs/MACs inside the image should be unique per device. The following are two methods to pre-burn an image. You can choose the best method suitable for your needs.

Method 1: Pre-burn an Image with Blank GUIDs/MACs

In this method, the image is generated with blank GUIDs and CRCs. The GUIDs are set after the device is assembled using the flint "sg" command. To set GUIDs take less than 1 second when running on an image with blank GUIDs (through a PCI device).

Warning

A device that is burnt with blank GUIDs/MACs will not boot as a functional network device as long as the GUIDs/MACs are not set.

To pre-burn an image with blank GUIDs/MACs:

  1. Generate a striped image with blank GUIDs.

    Copy
    Copied!
                

    # mlxburn -fw ./fw-ConnectX3-rel.mlx -./MCX354A-FCB_A2-A5.ini -wrimage./fw-ConnectX3-rel.bin -striped_image -blank_guids -I- Generating image ... -I- Image generation completed successfully.

  2. Burn the image to a flash using an external burner.

  3. (Optional) After assembly, query the image on flash to verify there are no GUIDs on the device.

    Copy
    Copied!
                

    # flint -d /dev/mst/mt4099_pci_cr0 q Image type: FS2 FW Version: 2.31.5050 FW Release Date: 4.5.2014 Device ID: 4099 Description: Node Port1 Port2 Sys image GUIDs: ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff MACs: ffffffffffffffff ffffffffffffffff VSD: n/a PSID: MT_1090120019     -W- GUIDs/MACs values and their CRC are not set.

  4. Set the correct GUIDs. Since the image is with blank GUIDs, this operation takes less than 1 second.

    Copy
    Copied!
                

    # flint -d /dev/mst/mt4099_pci_cr0 -guid 0x0002c9030abcdef0 -mac 0x0002c9bcdef1 sg

  5. Query the image on flash to verify that the GUIDs are set correctly.

    Copy
    Copied!
                

    sg# flint -d /dev/mst/mt4099_pci_cr0 q Image type: FS2 FW Version: 2.31.5050 FW Release Date: 4.5.2014 Device ID: 4099 Description: Node Port1 Port2 Sys image GUIDs: 0002c9030abcdef0 0002c9030abcdef1 0002c9030abcdef2 0002c9030abcdef3 MACs: 0002c9bcdef1 0002c9bcdef2 VSD: n/a PSID: MT_1090120019

Method 2: Pre-burn an Image with Specific GUIDs/MACs for Each Device

In this method, a “base” image is generated with arbitrary default GUIDs and then updated with the correct GUIDs for each device.

To pre-burn an image with specific GUIDs/MACs for each device:

  1. Generate the base image with arbitrary default GUIDs.

    Copy
    Copied!
                

    # mlxburn -fw./fw-ConnectX3-rel.mlx -c ./MCX354A-FCB_A2-A5.ini -wrimage ./fw-ConnectX3-rel.bin -striped_image

  2. Per device, set the device specific GUIDs in the image.

    Copy
    Copied!
                

    flint -i ./fw-ConnectX3-rel.bin -guid 0x0002c9030abcdef0 -mac 0x0002c9bcdef1 -striped_image sg

  3. (Optional) After assembly, query the image on flash to verify there are no GUIDs on the device.

    Copy
    Copied!
                

    sg# flint -i ./fw-ConnectX3-rel.bin -striped_image q Image type: FS2 FW Version: 2.31.5050 FW Release Date: 4.5.2014 Device ID: 4099 Description: Node Port1 Port2 Sys image GUIDs: 0002c9030abcdef0 0002c9030abcdef1 0002c9030abcdef2 0002c9030abcdef3 MACs: 0002c9bcdef1 0002c9bcdef2 VSD: n/a PSID: MT_1090120019

    Now the fw-ConnectX3-rel.bin image can be pre-burned to the flash. After the assembly, the device would be fully functional.

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