NVME-WDC-ID-CTRL(1)
π NAME π
ok so this is nvme-wdc-id-ctrl from the NVMe Manual (yes, that's the whole manual-name thing, we're moving on π) β it sends an NVMe Identify Controller command, then hands you back the result and the returned structure. iconic behavior honestly.
β¨ SYNOPSIS β¨
nvme [<global-options>] wdc id-ctrl <device>
[--vendor-specific | -v]
[--raw-binary | -b]
[--human-readable | -H]
π¦ DESCRIPTION π¦
So for the NVMe device you give it, this thing yeets out an identify controller command and gives you back the result plus the returned structure. slay.
The <device> parameter is mandatory, no cap β and it can be either the NVMe character device (like /dev/nvme0) or a namespace block device (like /dev/nvme0n1). either one, pick your fighter π«Ά
β οΈ omg important: this will only work on WDC devices that support this feature. Results for any other device are literally undefined β as in, don't come crying to me, the manpage said undefined π
On success, the structure comes back in one of several ways depending on your option flags β either the program parses it for you, or the raw buffer gets printed straight to stdout. your call bestie.
And if you do have the program decode the output for readability, this version will decode the WDC vendor unique portions of the structure too. extra. π
π OPTIONS π
-b,--raw-binaryβ print the raw buffer to stdout, structure not parsed by the program. and heads up: this overrides the vendor specific and human readable options. it's giving main character energy, it wins. π-v,--vendor-specificβ on top of parsing the known fields, this dumps the vendor specific region of the structure in hex with ascii interpretation. hex + ascii, the classic duo π-H,--human-readableβ displays values in a human-readable format where possible. deprecated, bestie β use--verboseinstead π
π GLOBAL OPTIONS π
these are defined up at the top-level nvme command and are available to this subcommand too. group-chat-wide settings fr fr:
--dry-runβ prints the command that would be executed, but does not actually execute it. window shopping, basically ποΈ--no-ioctl-probingβ disables probing for 64-bit IOCTL support.--no-retriesβ disables retry logic on transient errors.-o <fmt>,--output-format=<fmt>β sets the reporting format tonormal,tabular,'json, orbinary. only one output format at a time, don't be greedy β--output-format-version=<version>β picks the output format version. version 1 uses the original field naming, while version 2 (the default) gives you more consistent and script-friendly field names. any other versions are rejected, periodt. π--quietβ suppresses informational messages. errors are still reported, and--quietcancels any--verbosefor the library log level. quiet mode said "not today" to your verbosity πΈ--set-options=<key=value>[,<key=value>...]β sets libnvme library options for this invocation. supported keys areforce-4k,mi-probe-enabled,test-base-dirandtest-sysfs-dir.--timeout=<ms>β sets the timeout for the command in milliseconds.infiniteor-1waits without a time limit (0xffffffff). no clock, no stress β¨-v,--verboseβ increases the level of detail in the output. may be specified multiple times to further increase verbosity. (and yes bestie,-vshows up twice on this page β this one's the top-level global flag, the other one up there is the subcommand's--vendor-specific. two different vibes, same letter π«Ά)
π these options can also be set as machine-wide defaults in nvme-cli.conf(5). and a command-line flag always overrides the file. always. no exceptions. π
π EXAMPLES π
- has the program interpret the returned buffer and display the known fields in a human readable format:
# nvme wdc id-ctrl /dev/nvme0
π NVME π
part of the nvme-user suite. one of us, one of us π§
ok that's the whole page, you ate that π
β¨ β this little number is from the NVMe crew, dated 10/30/2026, and it's NVME-WDC-ID-CTRL(1) all day. go forth and identify some controllers bestie π
π¦ 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