MSTFLINT(1)
π MSTFLINT(1) β the mstflint manual, bestie edition π
User Commands Β· MSTFLINT(1)
okay so. this is mstflint, aka the Flash Interface. it's a whole manual page, it's long, and we're doing it together. part 1 of 2, so don't go anywhere. π«Ά
β¨ NAME β¨
mstflint β Flash Interface. that's it, that's the name. iconic behaviour honestly. π
π¦ SYNOPSIS π¦
here's the vibe of how you actually call it:
mstflint [OPTIONS] <command> [Parameters]
and here's every single option it takes, no cap, nothing skipped:
[-d|--device <device>] [-i|--image <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_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>] [--key_uuid <uuid_file>]
[--private_key2 <key_file>] [--hmac_key <hmac_key>] [--key_uuid2
<uuid_file>]
πΈ DESCRIPTION πΈ
flint is a FW (that's firmware, bestie) burning and flash memory operations tool. it handles:
- Mellanox Infiniband HCAs
- Ethernet NIC cards
- switch devices
like. it does the flashing, the burning, the whole flash-memory situation. it's giving β¨hardware whispererβ¨.
OPTIONS π
okay bestie, here's the whole flag buffet. every single one is iconic in its own way, no cap. do not skip a single bullet, because they all matter.
-d,--device <device>β which device's flash are we connected to? all commands are affected by this one, periodt.-i,--image <image>β the binary image file, the main character of your burn/verify era. Commands affected:burn,verify.--latest_fwβ Commands affected:burn.--irβ Commands affected:burn.-h,--helpβ prints this message and exits, like a little help menu wave π.--hhβ prints extended command help. extra lore unlocked.-y,--yesβ non interactive mode, assumes answer"yes"to all questions. Commands affected: all. no take-backs, bestie.--noβ non interactive mode, assumes answer"no"to all questions. Commands affected: all.--guid <GUID>β GUID base value. 4 GUIDs are automatically assigned to the following values:guid-> node GUIDguid+1-> port1guid+2-> port2guid+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 to0x0. Commands affected:burn,sg.--mac <MAC>β MAC address base value. 2 MACs are automatically assigned to the following values:mac-> port1mac+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/-macsflags 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. this is the "do not touch unless you know" one, bestie.
--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. not failsafe, bestie.--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. advanced bestie behavior only.--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. firmware hang? not the vibe.
--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. 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.--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.
COMMANDS SUMMARY π οΈ
These are the actual moves, bestie. The commands run the show.
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 [guids_num=<num|num_port1,num_port2> step_size=<size|size_port1,size_port2>] | [nocrc]β Set GUIDs.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β 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.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.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.binary_compare|bcβ Binary compare between device firmware and given BIN file. If there is a silent mode, no progress is displayed.
RETURN VALUES π―
0β Successful completion. slay.1β An error has occurred. oof.7β For burn command - FW already updated - burn was aborted.
SEE ALSO π
and that's a wrap on this absolute icon of a manual page β mstflint, March 2020, MSTFLINT(1), periodt π
β¨ go forth and flash responsibly, bestie π«Ά
π¦ where this page comes from
- centos-stream 10: mstflint 4.37.0_1.1-2.el10 Β· (GPL-2.0-only OR Linux-OpenIB) AND BSD-3-Clause AND MIT AND blessing
- centos-stream 9: mstflint 4.34.0-5.el9 Β· GPLv2+ or BSD
- debian trixie: mstflint 4.31.0+1-4 Β· BSD-2-Clause OR GPL-2.0-only
- fedora 43: mstflint 4.32.0^20250517git48a1454-2.fc43 Β· (GPL-2.0-only OR Linux-OpenIB) AND BSD-3-Clause AND MIT AND blessing
- fedora 43: mstflint 4.37.0_1.1-2.fc43 Β· (GPL-2.0-only OR Linux-OpenIB) AND BSD-3-Clause AND MIT AND blessing
- fedora 44: mstflint 4.34.0-2.fc44 Β· (GPL-2.0-only OR Linux-OpenIB) AND BSD-3-Clause AND MIT AND blessing
- fedora 44: mstflint 4.37.0_1.1-2.fc44 Β· (GPL-2.0-only OR Linux-OpenIB) AND BSD-3-Clause AND MIT AND blessing
- nixos 26.05: mstflint 4.36.0-1
- nixpkgs unstable: mstflint 4.37.0-1
- ubuntu noble: mstflint 4.26.0+1-2ubuntu3 Β· BSD-2-Clause OR GPL-2.0-only
- ubuntu questing: mstflint 4.33.0+1-1
- ubuntu resolute: mstflint 4.33.0+1-1.1 Β· BSD-2-Clause OR GPL-2.0-only
- ubuntu stonking: mstflint 4.33.0+1-1.1build1 Β· BSD-2-Clause OR GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms