NVME-NVME-MI-SEND(1)
π nvme-nvme-mi-send π
okay so bestie, welcome to the nvme-nvme-mi-send page β it's a NVMe Manual entry, and it's literally all about yeeting a NVMe-MI Send command at a device. π«Ά
β¨ NAME β¨
nvme-nvme-mi-send β Send a NVMe-MI Send command to the specified device π
π SYNOPSIS π
nvme [<global-options>] nvme-mi send <device>
[--opcode=<opcode> | -O <opcode>]
[--namespace-id=<nsid> | -n <nsid>]
[--data-len=<data-len> | -l <data-len>]
[--nmimt=<nmimt> | -m <nmimt>]
[--nmd0=<nmd0> | -0 <nmd0>]
[--nmd1=<nmd1> | -1 <nmd1>]
[--input-file=<file> | -i <file>]
π¦ DESCRIPTION π¦
So the whole vibe is: send a NVMe-MI Send command to the specified device, and it returns results. slay. β¨
The <device> parameter is mandatory β no cap, you gotta give it one β and it may be either the NVMe character device (ex: /dev/nvme0) or a block device (ex: /dev/nvme0n1). π
On success it returns 0, error code otherwise. That's the whole mood. π
bestie pls note π β the barenvme nvme-mi-sendform (without a space) still works as a deprecated alias and will be removed in a future major version. New scripts should usenvme nvme-mi sendinstead. lowkey plan ahead, iykyk π
β OPTIONS β
-O <opcode>,--opcode=<opcode>β the NVMe-MI opcode to send to the device in the command. Required argument because this param is mandatory β you can't skip it, it's the main character here π-n <nsid>,--namespace-id=<nsid>β the value for the ns-id in the command. The broadcast value0xffffffffcan also be given asallor-1. three ways to say the same thing, iconic π-l <data-len>,--data-len=<data-len>β the data length for the buffer used for this command. π-m <nmimt>,--nmimt=<nmimt>β the value for the NVMe-MI message type in the command. π-0 <nmd0>,--nmd0=<nmd0>β the value for the NVMe management request dword 0 in the command. π«Ά-1 <nmd1>,--nmd1=<nmd1>β the value for the NVMe management request dword 1 in the command. π«Ά-i <file>,--input-file=<file>β if the command is a data-out (write) command, use this file to fill the buffer sent to the device. If no file is given, assumed to useSTDIN. π
πΈ GLOBAL OPTIONS πΈ
These bad boys are defined at the top-level nvme command and are available to this subcommand too β they travel with the whole squad π§
--dry-runβ print the command that would be executed, but do not actually execute it. fake it till you make it π--no-ioctl-probingβ disable probing for 64-bit IOCTL support.--no-retriesβ disable retry logic on transient errors. one shot, no do-overs π€-o <fmt>,--output-format=<fmt>β set the reporting format tonormal,tabular,'json, orbinary. Only one output format may be used at a time. (yes the stray quote in'jsonis exactly how it's written, don't come for me π«Ά)--output-format-version=<version>β select the output format version. Version 1 uses the original field naming, while version 2 (default) provides more consistent and script-friendly field names. Other versions are rejected. β--quietβ suppress informational messages. Errors are still reported, and--quietcancels any--verbosefor the library log level. π€«--set-options=<key=value>[,<key=value>...]β set libnvme library options for this invocation. Supported keys areforce-4k,mi-probe-enabled,test-base-dirandtest-sysfs-dir. π--timeout=<ms>β set the timeout for the command in milliseconds.infiniteor-1waits without a time limit (0xffffffff). β³-v,--verboseβ increase the level of detail in the output. May be specified multiple times to further increase verbosity. louder = more info, fr fr π£
These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file. π
π₯ EXAMPLES π₯
- Has the program issue a
nvme-mi-sendto execute the VPD write. yes bestie, this is the moment β¨
# nvme nvme-mi send /dev/nvme0n1 -O 6 -m 1 -0 0 -1 0x100 -l 256 -i vpd.bin
π NVME π
Part of the nvme-user suite. one of us, one of us π
okay that's the whole page, ate and left no crumbs π β signed off with love from the NVMe crew, dated 10/30/2026, version vibes included. see u in the group chat π¦π
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms