MSTFLINT(1)

πŸ“¦
version 4.37.0_1.1 Β· 3 versions
, in centos-stream 10, centos-stream 9, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– 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 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. 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