NVME-INTEL-ID-CTR(1)
π nvme-intel-id-ctrl β like, the whole vibe β¨
okay bestie, so this is a page straight out of the NVMe Manual β it's nvme-intel-id-ctrl(1) and it's genuinely so useful, i promise. sit down, grab a strawberry drink π, and let's get into it.
πΈ NAME πΈ
nvme-intel-id-ctrl β sends the NVMe Identify Controller command, gives you back the result and the returned structure. that's the whole job, no cap.
π¦ SYNOPSIS π¦
nvme [<global-options>] intel id-ctrl <device>
[--vendor-specific | -v]
[--raw-binary | -b]
π DESCRIPTION π
so for the NVMe device you hand it, this bad boy sends an identify controller command and then serves you the result plus the returned structure. iconic behavior honestly.
the <device> parameter is mandatory β you literally cannot skip it, it's giving main character energy and it needs to be present. and it can be either of these two things:
- the NVMe character device β like
/dev/nvme0 - or a namespace block device β like
/dev/nvme0n1
on success, the structure comes back in one of several ways depending on which option flags you picked: either the program parses the structure for you, or the raw buffer gets printed straight to stdout. your call, bestie π«Ά
and here's the fun part β if you do have the program decode the output for readability, this version will decode the Intel vendor unique portions of the structure. that's the whole point of the intel in the name, iykyk π₯
β¨ OPTIONS β¨
-b,--raw-binaryβ prints the raw buffer straight to stdout, and the structure does not get parsed by the program. heads up: this overrides both the vendor specific option and the human readable options. it's the "i'll read it myself" option π-v,--vendor-specificβ in addition to parsing the known fields, this dumps the vendor specific region of the structure in hex, with an ascii interpretation alongside it. hex + ascii bestie moment π
π GLOBAL OPTIONS π
these ones live up at the top-level nvme command, and our little subcommand gets to use them too:
--dry-runβ prints the command that would be executed, but doesn't actually execute it. like window shopping for syscalls π--no-ioctl-probingβ disables probing for 64-bit IOCTL support.--no-retriesβ disables the retry logic on transient errors. one shot, one opportunity.-o <fmt>,--output-format=<fmt>β sets the reporting format tonormal,tabular,'json, orbinary. and like, only one output format at a time please, don't be greedy π--output-format-version=<version>β picks the output format version. version1uses the original field naming, while version2(the default) gives you more consistent and script-friendly field names. any other versions get rejected, periodt.--quietβ suppresses informational messages. errors still get reported, and--quietcancels any--verbosefor the library log level. it's giving "i'm logging off" π--set-options=<key=value>[,<key=value>...]β sets libnvme library options just for this invocation. the supported keys areforce-4k,mi-probe-enabled,test-base-dirandtest-sysfs-dir.--timeout=<ms>β sets the timeout for the command in milliseconds.infiniteor-1waits with no time limit at all (0xffffffff). literally forever, bestie π-v,--verboseβ increases the level of detail in the output. you can specify it multiple times to crank the verbosity even further. go off, stack those-vs.- these options can also be set as machine-wide defaults in
nvme-cli.conf(5). and a command-line flag always overrides the file β the flag wins, always, no debate π
psst β don't mix up the two-vs! in OPTIONS,-vmeans--vendor-specific(dump that vendor region in hex). in GLOBAL OPTIONS,-vmeans--verbose(more chatter). same letter, different slay.
π§ EXAMPLES π§
- has the program interpret the returned buffer and display the known fields in a human readable format:
# nvme intel id-ctrl /dev/nvme0
β NVME β
part of the nvme-user suite β you know, the family. πΈ
okay that's the whole page, bestie!! π written for the NVMe manual, dated 10/30/2026, and the page is literally called NVME-INTEL-ID-CTR(1) β go forth and identify some controllers, you're gonna eat π«Άβ¨π₯
π¦ 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