NVME-SAMSUNG-VS-I(1)

NAME
nvme-samsung-vs-internal-log - Retrieve Samsung vendor specific internal firmware logs

SYNOPSIS

nvme [<global-options>] samsung vs-internal-log <device> [OPTIONS]

DESCRIPTION

Collect the internal firmware logs of a Samsung NVMe SSD and write them to disk. Host-initiated telemetry, controller-initiated telemetry and the vendor crash, memory and debug dumps are supported. Each dump is saved as its own file, so a single run usually produces several files.

Use --dump-type to pick which dumps to collect; several types may be requested in a single run.

This command will only work on Samsung devices supporting this feature.

The <device> parameter is mandatory and may be either an NVMe character device (ex: /dev/nvme0) or an nvme block device (ex: /dev/nvme0n1).

OPTIONS

-t <TYPE>, --dump-type=<TYPE>
    Comma-separated list of dump types to extract, given without spaces. The supported types are host0 and host1 for the host-initiated telemetry dump using Log Specific Parameter 0 and 1 respectively, ctlr for the controller-initiated telemetry dump, and vendor for the vendor dumps. When this option is omitted, every dump type except host0 is extracted; host0 is only collected when it is requested explicitly.

-a <NUM>, --telemetry-data-area=<NUM>
    Telemetry data area to retrieve, 1 to 4. Defaults to 0, which retrieves every data area. Data area 4 is only extracted when the device reports that it supports it. This option only affects the telemetry dumps.

-O <FILE>, --output-file=<FILE>
    Output file name, optionally preceded by a path (ex: ./path/name or ./path1/path2/). Any directory in the path that does not exist yet is created. When this option is omitted, the dumps are written to the current directory.

-z, --compress
    Collect the dumps into a temporary directory and save them as a single compressed .tar.gz archive.

-H, --hide-progress
    Do not print the incremental progress of an extraction. Useful where the output is captured line by line and a carriage return does not overwrite, so that every update would be kept. The completion line of each dump is still printed.

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.

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

EXAMPLES

Extract the controller-initiated telemetry, the host-initiated telemetry using Log Specific Parameter 1 and the vendor dumps of the given device into the current directory.

    # nvme samsung vs-internal-log /dev/nvme0

Extract only the controller-initiated telemetry and the vendor dumps, naming both types in a single run.

    # nvme samsung vs-internal-log /dev/nvme0 -t ctlr,vendor

Extract the host-initiated telemetry using Log Specific Parameter 0, which is not collected unless it is named explicitly, into ./dumps/, creating that directory if it does not exist.

    # nvme samsung vs-internal-log /dev/nvme0 -t host0 -O ./dumps/

Extract data area 2 of the host-initiated telemetry using Log Specific Parameter 1, store the result compressed and keep the output quiet.

    # nvme samsung vs-internal-log /dev/nvme0 -t host1 -a 2 -z -H

NVME

Part of the nvme-user suite