table of contents
| NVME-MANGOBOOST-ID(1) | NVMe Manual | NVME-MANGOBOOST-ID(1) |
NAME¶
nvme-mangoboost-id-ctrl - Send NVMe Identify Controller, return result and structure
SYNOPSIS¶
nvme [<global-options>] mangoboost id-ctrl <device>
[--vendor-specific | -V]
[--raw-binary | -b]
[--human-readable | -H]
DESCRIPTION¶
For the NVMe device given, sends an identify controller 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.
If having the program decode the output for readability, this version will decode MangoBoost vendor unique portions of the structure.
OPTIONS¶
-b, --raw-binary
-V, --vendor-specific
-H, --human-readable
GLOBAL OPTIONS¶
The following options are defined at the top-level nvme command and are available to this subcommand:
--dry-run
--no-ioctl-probing
--no-retries
-o <fmt>, --output-format=<fmt>
--output-format-version=<version>
--timeout=<ms>
-v, --verbose
These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file.
EXAMPLES¶
# nvme mangoboost id-ctrl /dev/nvme0
# nvme mangoboost id-ctrl /dev/nvme0 --vendor-specific # nvme mangoboost id-ctrl /dev/nvme0 -V
The above will dump the vs buffer in hex since it doesn’t know how to interpret it.
# nvme mangoboost id-ctrl /dev/nvme0 --raw-binary > id_ctrl.raw # nvme mangoboost id-ctrl /dev/nvme0 -b > id_ctrl.raw
It is probably a bad idea to not redirect stdout when using this mode.
# nvme mangoboost id-ctrl /dev/nvme0 --raw-binary | nvme_parse_id_ctrl
The parse program in the above example can be a program that shows the structure in a way you like. The following program is such an example that will parse it and can accept the output through a pipe, '|', as shown in the above example, or you can 'cat' a saved output buffer to it.
/* File: nvme_parse_id_ctrl.c */
#include <linux/nvme.h>
#include <stdio.h>
#include <unistd.h>
int main(int argc, char **argv)
{
unsigned char buf[sizeof(struct nvme_id_ctrl)];
struct nvme_id_ctrl *ctrl = (struct nvme_id_ctrl *)buf;
if (read(STDIN_FILENO, buf, sizeof(buf)))
return 1;
printf("vid : %#x\n", ctrl->vid);
printf("ssvid : %#x\n", ctrl->ssvid);
return 0;
}
NVME¶
Part of the nvme-user suite
| 07/31/2026 | NVMe |