NVME-MICRON-SELECT(1)

🌸 nvme-micron-selective-download(1) 🌸

okay bestie, buckle up πŸ’… this page lives in the NVMe Manual and it's all about nvme-micron-selective-download β€” the Micron 9200's own lil selective-firmware-download era. no cap, this one's niche but iconic.


✨ NAME ✨

nvme-micron-selective-download β€” does a selective firmware download that lets you, the main character, pick which firmware binary gets updated on 9200 devices πŸ”₯ heads up tho: the update only completes after a power cycle. literally required. don't skip it 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] micron selective-download <device>
                        [--fw=<FILE>, -f <FILE>]
                        [--select=<flag>, -s <flag>]

πŸŽ€ DESCRIPTION πŸŽ€

so this command uses Micron vendor-specific nvme commands to download a given firmware image to the 9200 device, and it updates the selected portions β€” or all of them β€” of that firmware image. it's giving precision updates πŸ’–

the <device> parameter is mandatory (no skipping, bestie, it's required fr fr) and it can be either:

  • the NVMe character device (example: /dev/nvme0), or
  • a namespace block device (example: /dev/nvme0n1)
🚨 okay this part matters: this will only work on Micron devices devices of model number 9200. support for new devices be added subsequently. results for any other device are undefined β€” so, like, do not πŸ’€

🌈 OPTIONS 🌈

  • -f <FILE>, --fw=<FILE> β€” the name of the firmware image file, i.e. your actual firmware binary, the star of the show ⭐
  • -s <flag>, --select=<flag> β€” the flag telling it what to update. it has the following values, periodt:
    • OOB β€” this updates the OOB and main firmware\n"
    • EEP β€” this updates the eeprom and main firmware\n"
    • ALL β€” this updates the eeprom, OOB, and main firmware"

πŸ‘‘ GLOBAL OPTIONS πŸ‘‘

these options are defined up at the top-level nvme command, and they're available to this subcommand too. they're the group-chat-level settings, iykyk ✨

  • --dry-run β€” print the command that would be executed, but do not actually execute it. a little peek, no commitment πŸ™ˆ
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support.
  • --no-retries β€” disables the retry logic on transient errors.
  • -o <fmt>, --output-format=<fmt> β€” sets the reporting format to normal, tabular, 'json, or binary`. only one output format may be used at a time, so pick one and commit bestie πŸ’…
  • --output-format-version=<version> β€” selects the output format version. version 1 uses the original field naming, while version 2 (the default) provides more consistent and script-friendly field names. other versions are rejected 🚫
  • --quiet β€” suppresses informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level.
  • --set-options=<key=value>[,<key=value>...] β€” sets libnvme library options for this invocation. supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir.
  • --timeout=<ms> β€” sets the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). the way that never times out 😭
  • -v, --verbose β€” increases the level of detail in the output. may be specified multiple times to further increase verbosity. go off, stack them πŸ‘‘

these options can also be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file β€” CLI stays the main character 🌟


πŸ“ EXAMPLES πŸ“

  • update OOB and main firmware:
# nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=OOB
# nvme micron selective-download /dev/nvme0 -f firmware_bin -s OOB
  • update OOB and main firmware:
# nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=EEP
# nvme micron selective-download /dev/nvme0 -f firmware_bin --s EEP
  • update eeprom, OOB and main firmware:
# nvme micron selective-download /dev/nvme0 --fw=firmware_bin --select=ALL
# nvme micron selective-download /dev/nvme0 -f firmware_bin --s ALL

(yes, those --s lines are exactly how they're written here β€” copying them character for character, no editing, no "fixing" 🧚)


πŸ’œ NVME πŸ’œ

part of the nvme-user suite πŸ’–


and that's the whole page, bestie πŸŽ€ sign-off time: this one's from NVMe, dated 10/30/2026 β€” go forth, select your firmware, power cycle, slay βœ¨πŸ’…πŸ¦‹

πŸ“¦ where this page comes from