NVME-ID-PRIMARY-C(1) NVMe Manual NVME-ID-PRIMARY-C(1)

nvme-id-primary-ctrl-caps - Send identify Primary Controller Caps, return result and structure

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

For the NVMe device given, sends an identify primary Controller caps command and provides the result and returned structure.

The <device> parameter is mandatory and 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.

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.

--timeout=<ms>

Set the timeout for the command in milliseconds.

-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.

•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

Part of the nvme-user suite

09/07/2026 NVMe