NVME-WDC-VS-DRIVE(1)

πŸ’… NVME-WDC-VS-DRIVE(1) β€” the nvme-wdc-vs-drive-info girlies' edition

okay so this is a page from the NVMe Manual, bestie, and it's about nvme-wdc-vs-drive-info. yes the command name on the page is longer than the filename, that's just how she is. lowkey iconic of her.


✨ NAME ✨

nvme-wdc-vs-drive-info β€” sends the NVMe WDC vs-drive-info command and gives you the result back. that's it, that's the whole job. πŸŽ€


🌸 SYNOPSIS 🌸

nvme [<global-options>] wdc vs-drive-info <device>

πŸ¦‹ DESCRIPTION πŸ¦‹

so for the NVMe device you hand her, she sends the unique WDC vs-drive-info command and provides the additional drive information. it's giving ✨extra✨ info, and honestly? slay.

the <device> parameter is mandatory β€” non-negotiable, bestie, she will not work without it β€” and it must be the NVMe character device (ex: /dev/nvme0).

real talk: this will only work on WDC devices that support this feature. results for any other device are undefined β€” like, nobody knows what happens, so don't come crying to me. πŸ’€

on success it returns 0. error code otherwise. periodt.


πŸ”₯ OUTPUT EXPLANATION πŸ”₯

there are several different fields returned from this command, and which ones you get depends on the drive. main character energy: every drive gets a different lineup. πŸ’…

  • Drive HW Revision
  • FTL Unit Size
  • Customer Serial Number
  • HyperScale Boot Version
  • TCG Device Ownership

πŸŽ€ EXAMPLE πŸŽ€

# nvme wdc vs-drive-info /dev/nvme0

literally just that. gorgeous. no notes. 🫢


⭐ OPTIONS ⭐

πŸ’œ GLOBAL OPTIONS

the following options are defined at the top-level nvme command and are available to this subcommand (so yes, you can use them here too, bestie β€” they're not gatekept):

  • --dry-run β€” prints the command that would be executed but does not actually execute it. it's the "window shopping" option, fr fr. πŸ›οΈ
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support. no probing, no poking, we're done here.
  • --no-retries β€” disables the retry logic on transient errors. one shot, one opportunity. 😭
  • -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 β€” pick a lane, queen. ✨
  • --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 β€” no exceptions. πŸ™ˆ
  • --quiet β€” suppresses informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level. she's quiet, not silent, iykyk.
  • --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. yes that's the whole list, don't invent more. πŸ“
  • --timeout=<ms> β€” sets the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). forever girlie behavior. ⏳
  • -v, --verbose β€” increases the level of detail in the output. may be specified multiple times to further increase verbosity. stack 'em like bracelets. 🌈
πŸ’– these options can also be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file β€” flags stay winning, no cap.

πŸ‘‘ NVME πŸ‘‘

part of the nvme-user suite. obviously. she runs with a whole crew. 🧚


okay that's the whole page, bestie β€” go forth and interrogate your WDC drive πŸ’œ

β€” from the NVMe fam, dated 10/30/2026, page NVME-WDC-VS-DRIVE(1). mwah πŸ’‹

πŸ“¦ where this page comes from