FLINT(1)

NAME
flint - manual page for flint 4.19.0

DESCRIPTION
NAME

    Flint - Flash Interface

SYNOPSIS

    Flint [OPTIONS] <command> [Parameters]

    [-d|--device <device>] [-i|--image <image>] [--nonencrypted_image <nonencrypted_image>] [--latest_fw] [--ir] [-h|--help] [--hh] [-y|--yes] [--no] [--guid <GUID>] [--guids <GUIDS...>] [--mac <MAC>] [--macs <MACs...>] [--uid <UID>] [--blank_guids] [--clear_semaphore] [--qq] [--low_cpu] [--flashed_version] [--nofs] [--allow_psid_change] [--allow_rom_change] [--override_cache_replacement] [--no_flash_verify] [--use_fw] [-s|--silent] [--vsd <string>] [--use_image_ps] [--use_image_guids] [--use_image_rom] [--use_dev_rom] [--ignore_dev_data] [--no_fw_ctrl] [--dual_image] [--striped_image] [--banks <bank>] [--log <log_file>] [--flash_params <type, log2size, num_of_flashes>] [-v|--version] [--private_key <key_file>] [--public_key <key_file>] [--key_uuid <uuid_file>] [--private_key2 <key_file>] [--hmac_key <hmac_key>] [--key_uuid2 <uuid_file>] [--psid <PSID>] [--cc <Congestion_Control>] [--linkx] [ --downstream_device_id_start_index <downstream_device_id_start_index>] [ --num_of_downstream_devices <num_of_downstream_devices>] [ --linkx_auto_update] [ --activate] [ --activate_delay_sec <timeout in seconds>] [ --download_transfer] [ --downstream_device_ids <list of ports>] [--public_key_label <string>] [--private_key_label <string>] [--openssl_engine <string>] [--openssl_key_id <string>] [--output_file <string>] [--user_password <string>]

DESCRIPTION

    flint is a FW (firmware) burning and flash memory operations tool for Mellanox Infiniband HCAs,Ethernet NIC cards, and switch devices.

OPTIONS

    Flint [OPTIONS] <command> [Parameters]

-d|--device <device>
    : Device flash is connected to. Commands affected: all

-i|--image <image>
    : Binary image file. Commands affected: burn, verify

--nonencrypted_image <nonencrypted_image>
    : Nonencrypted binary image file. Commands affected: rsa_sign

--latest_fw
    : Commands affected: burn

--ir
    : Commands affected: burn

-h|--help
    : Prints this message and exits

--hh
    : Prints extended command help

-y|--yes
    : Non interactive mode - assume answer "yes" to all questions. Commands affected: all

--no
    : Non interactive mode - assume answer "no" to all questions. Commands affected: all

--guid <GUID>
    : GUID base value. 4 GUIDs are automatically assigned to the following values:

guid
    -> node GUID

guid+1 -> port1
    guid+2 -> port2 guid+3 -> system image GUID.

Note: port2 guid will be assigned even for a
    single port HCA - The HCA ignores this value.

    Commands affected: burn, sg

--guids <GUIDS...>
    : 4 GUIDs must be specified here. The specified GUIDs are assigned to the following fields, respectively: node, port1, port2 and system image GUID.

Note: port2 guid must be specified even for
    a single port HCA - The HCA ignores this value. It can be set to 0x0.

    Commands affected: burn, sg

--mac <MAC>
    : MAC address base value. 2 MACs are automatically assigned to the following values:

mac -> port1

mac+1
    -> port2

    Commands affected: burn, sg

--macs <MACs...>
    : 2 MACs must be specified here. The specified MACs are assigned to port1, port2, respectively. Commands affected: burn, sg

Note: -mac/-macs flags are applicable only
    for Mellanox

    Technologies ethernet products.

--uid <UID>
    : ConnectIB/SwitchIB only. Derive and set the device UIDs (GUIDs, MACs, WWNs). UIDs are derived from the given base UID according to Mellanox Methodology Commands affected: burn, sg

--blank_guids
    : Burn the image with blank GUIDs and MACs (where applicable). These values can be set later using the "sg" command (see details below).

    Commands affected: burn

--clear_semaphore
    : Force clear the flash semaphore on the device. No command is allowed when this flag is used. NOTE: May result in system instability or flash corruption if the device or another application is currently using the flash. Exercise caution.

--qq
    : Run a quick query. When specified, flint will not perform full image integrity checks during the query operation. This may shorten execution time when running over slow interfaces (e.g., I2C, MTUSB-1). Commands affected: query

--low_cpu
    : When specified, cpu usage will be reduced. Run time might be increased Commands affected: query

--flashed_version
    : When specified, only flashed fw version is fetched Commands affected: query

--nofs
    : Burn image in a non failsafe manner.

--allow_psid_change
    : Allow burning a FW image with a different PSID (Parameter Set ID)than the one currently on flash. Note that changing a PSID may cause the device to malfunction. Use only if you know what you are doing

--allow_rom_change
    : Allow burning/removing a ROM to/from FW image when product version is present. Use only if you know what you are doing

--override_cache_replacement
    : On SwitchX/ConnectIB devices: Allow accessing the flash even if the cache replacement mode is enabled. NOTE: This flag is intended for advanced users only. Running in this mode may cause the firmware to hang.

--no_flash_verify
    : Do not verify each write on the flash.

--use_fw
    : Flash access will be done using FW (ConnectX-3/ConnectX-3Pro only).

-s|--silent
    : Do not print burn progress flyer. Commands affected: burn

--vsd <string>
    : Write this string, of up to 208 characters, to VSD when burn.

--use_image_ps
    : Burn vsd as appears in the given image - do not keep existing VSD on flash. Commands affected: burn

--use_image_guids
    : Burn (guids/macs) as appears in the given image. Commands affected: burn

--use_image_rom
    : Do not save the ROM which exists in the device. Commands affected: burn

--use_dev_rom
    : Save the ROM which exists in the device. Commands affected: burn

--ignore_dev_data
    : Do not attempt to take device data sections from device(sections will be taken from the image. FS3 Only). Commands affected: burn

--no_fw_ctrl
    : Do not attempt to work with the FW Ctrl update commands

--dual_image
    : Make the burn process burn two images on flash (previously default algorithm). Current default failsafe burn process burns a single image (in alternating locations). Commands affected: burn

--striped_image
    : Use this flag to indicate that the given image file is in a "striped image" format. Commands affected: query verify

--banks <bank>
    : Set the number of attached flash devices (banks)

--log <log_file>
    : Print the burning status to the specified log file

--flash_params <type, log2size,

num_of_flashes>
    : Use the given parameters to access the flash

instead of reading them from the flash.
    Supported parameters: Type: The type of the flash, such as:M25PXxx, M25Pxx, N25Q0XX, SST25VFxx, W25QxxBV, W25Xxx, W25Qxxx, W25Qxxx, AT25DFxxx, S25FLXXXP, S25FL11xx, MX25L16xxx, MX25Lxxx, S25FLxxx, IS25LPxxx, MX25Uxxx, IS25WPxxx, GD25LBxxx, GD25LBxxx. log2size: The log2 of the flash size.num_of_flashes: the number of the flashes connected to the device.

-v|--version
    : Version info.

--private_key <key_file>
    : path to PEM formatted private key to be used by the sign command

--public_key <key_file>
    : path to PEM formatted public key to be used by the sign command

--key_uuid <uuid_file>
    : UUID matching the given private key to be used by the sign command

--private_key2 <key_file>
    : path to PEM formatted private key to be used by the sign command

--hmac_key <hmac_key>
    : path to file containing key (For FS4 image only).

--key_uuid2 <uuid_file>
    : UUID matching the given private key to be used by the sign command

--psid <PSID>
    : Use this PSID while burning livefish device using MFA2 archive

--cc <Congestion_Control>
    : Use this flag while burning to device a Congestion Control Component

--linkx
    : Use this flag while burning to device a LinkX Component

    --downstream_device_id_start_index

<downstream_device_id_start_index>
    : Use this flag while burning to device a LinkX

    Component. Begin from 0

    --num_of_downstream_devices

<num_of_downstream_devices>
    : Use this flag while burning to device a LinkX

Component to specify the number of devices
    to burn

--linkx_auto_update
    : Use this flag while burning all cable devices

    connected to host.

--activate
    : Use this flag to apply the activation of all

cable devices connected to host. By default,
    the activation is not performed.

    --activate_delay_sec <timeout in

seconds>
    : Use this flag to activate all cable devices

connected to host with delay, acceptable
    values are between 0 and 255 (default - 0, immediately). Important: 'activate' flag must be set. This flag is relevant only for cable components.

--download_transfer
    : Use this flag to perform the download and

transfer of all cable data for cables. By
    default, the download and transfer are not performed . This flag is relevant only for cable components.

--downstream_device_ids <list of ports>
    : Use this flag to specify the LNKX ports to

perform query. List must be only
    comma-separated numbers, without spaces.

--public_key_label <string>
    : public key label to be used by the sign --hsm command

--private_key_label <string>
    : private key label to be used by the sign --hsm command

--openssl_engine <string>
    : Name of the OpenSSL engine to used by the sign/rsa_sign commands to work with the HSM hardware via OpenSSL API

--openssl_key_id <string>
    : Key identification string to be used by the sign/rsa_sign commands to work with the HSM hardware via OpenSSL API

--output_file <string>
    : output file name for exporting the public key from PEM/BIN

--user_password <string>
    : the HSM user password string in order to work with HSM device

COMMANDS SUMMARY

burn|b [-ir]
    : Burn flash. Use "-ir burn" flag to perform

    image reactivation prior burning.

query|q [full]
    : Query misc. flash/firmware characteristics,

    use "full" to get more information.

verify|v [showitoc]
    : Verify entire flash, use "showitoc" to see

    ITOC headers in FS3/FS4 image only.

swreset
    : SW reset the target switch device.This

command is supported only in the In-Band
    access method.

brom
    <ROM-file> : Burn the specified ROM file on the flash.

drom
    : Remove the ROM section from the flash.

rrom
    <out-file> : Read the ROM section from the flash.

bb  : Burn Block - Burns the given image as is. No

    checks are done.

sg  [nocrc] : guids_num=<num|num_port1,num_port2>

step_size=<size|size_port1,size_port2> Set
    GUIDs.

smg guids_num=<num|num_port1,num_port2>

step_size=<size|size_port1,size_port2>
    : Set manufacture GUIDs (For FS3/FS4 image

    only).

set_vpd
    <vpd file> : Set read-only VPD (For FS3/FS4 image only).

set_attestation_cert_chain
    <Certificate

chain file>
    : Set read-only attestation certificate chain

    (For FS4 image only).

sv  : Set the VSD.

ri  <out-file> : Read the fw image on the flash.

dc  <out-file> : Dump Configuration: print fw configuration

    file for the given image.

dh  <out-file> : Dump Hash: dump the hash if it is integrated

    in the FW image

set_key
    <key> : Set/Update the HW access key which is used to

enable/disable access to HW.
    The key can be provided in the command line or interactively typed after the command is given NOTE: The new key is activated only after the device is reset.

hw_access
    [enable/disable] <key> : Enable/disable the access to the HW.

The key can be provided in the command line
    or interactively typed after the command is given

hw  [query/set] <ATTR=VAL> : Set/query HW info and flash attributes.

erase|e <addr>
    : Erases sector.

rw  <addr> : Read one dword from flash

ww  <addr> <data> : Write one dword to flash

wwne
    <addr> <data> : Write one dword to flash without sector

    erase

wbne
    <addr> <size> <data ...> : Write a data block to flash without sector

    erase.

wb  <data-file> <addr> : Write a data block to flash.

rb  <addr> <size> <out-file> : Read a data block from flash

clear_semaphore
    : Clear flash semaphore.

fi  : fix image on N25Q0XX flash.

qrom
    : query ROM image.

checksum|cs
    : perform MD5 checksum on FW.

timestamp|ts [set/query/reset]
    : <timestamp> <FW version> FW time stamping.

cache_image|ci
    : cache FW image(Windows only).

sign
    : Sign firmware image file

sign_with_hmac
    : Sign image with HMAC

extract_fw_data
    <out-file> : Extract firmware data for firmware controlled

    updates

set_public_keys
    <public keys binary file> : Set Public Keys (For FS3/FS4 image only).

set_forbidden_versions
    [forbidden versions

binary file]
    : Set Forbidden Versions (For FS3/FS4 image

    only).

image_reactivate|ir
    : Reactivate previous flash image. For FW

    controlled devices only.

rsa_sign
    : Sign firmware image file with RSA

binary_compare|bc
    : Binary compare between device firmware and

given BIN file. If there is a silent mode,
    no progress is displayed.

import_hsm_key
    : Import PEM file to HSM device

export_public_key
    : Export public key from PEM file or BIN file

RETURN VALUES

0   : Successful completion.

1   : An error has occurred.

7   : For burn command - burning new firmware

option was not chosen by the user when
    prompted, thus the firmware burning process was aborted.

SEE ALSO
The full documentation for flint is maintained as a Texinfo manual. If the info and flint programs are properly installed at your site, the command

    info flint

should give you access to the complete manual.