NVME-ID-PRIMARY-C(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’… nvme-id-primary-ctrl-caps πŸ’…

okay so bestie, you're in the NVMe Manual, and this page is nvme-id-primary-ctrl-caps β€” the one that sends an identify Primary Controller Caps command and hands you back the result and the returned structure. it's giving β€œcontroller caps, but make it fetchable.” ✨


🌸 NAME 🌸

nvme-id-primary-ctrl-caps β€” Send identify Primary Controller Caps, return result and structure. periodt. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] id primary-ctrl-caps <device>

πŸ’– DESCRIPTION πŸ’–

For the NVMe device you give it, this sends an identify primary Controller caps command and provides the result plus the returned structure. no cap. 🫢

The <device> parameter is mandatory β€” not optional, bestie β€” and it may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). πŸŽ€

On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program, or the raw buffer may be printed to stdout. that's the vibe check. ✨

✨ OPTIONS ✨

🌐 GLOBAL OPTIONS 🌐

The following options are defined at the top-level nvme command and are available to this subcommand:

  • --dry-run β€” Print the command that would be executed, but do not actually execute it.
  • --no-ioctl-probing β€” Disable probing for 64-bit IOCTL support.
  • --no-retries β€” Disable retry logic on transient errors.
  • -o <fmt>, --output-format=<fmt> β€” Set the reporting format to normal, tabular, 'json, or binary. Only one output format may be used at a time.
  • --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 --quiet cancels any --verbose for the library log level.
  • --set-options=<key=value>[,<key=value>...] β€” Set libnvme library options for this invocation. Supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir.
  • --timeout=<ms> β€” Set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff).
  • -v, --verbose β€” Increase the level of detail in the output. May be specified multiple times to further increase verbosity.

These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file. πŸ’œ

πŸŽ€ EXAMPLES πŸŽ€

  • Get Primary Ctrl Caps of the device in default format:
# nvme id primary-ctrl-caps /dev/nvme0
  • Has the program interpret the returned buffer and display the known fields in a human readable format:
# nvme id primary-ctrl-caps /dev/nvme0 --verbose
# nvme id primary-ctrl-caps /dev/nvme0 -v

πŸ‘‘ NVME πŸ‘‘

Part of the nvme-user suite. iconic, honestly. πŸ’–


kisses πŸ’‹ β€” source/version vibes from NVMe, dated 10/30/2026, and this lil page is still NVME-ID-PRIMARY-C(1). 🌈✨

πŸ“¦ where this page comes from