NVME-SNDK-VS-INTE(1)

NAME
nvme-sndk-vs-internal-log - Retrieve sndk device's internal firmware log and save to file.

SYNOPSIS

nvme [<global-options>] sndk vs-internal-log <device>
                        [--output-file=<FILE>, -O <FILE>]
                        [--transfer-size=<SIZE>, -s <SIZE>]
                        [--data-area=<DATA AREA>, -d <DATA_AREA>]
                        [--file-size=<FILE SIZE>, -f <FILE SIZE>]
                        [--offset=<OFFSET>, -e <OFFSET>]
                        [--type=<TYPE>, -t <type>]

DESCRIPTION

For the NVMe device given, sends the sndk Vendor Specific Internal Log request and saves the result to a file.

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

This will only work on Sandisk devices supporting this feature. Results for any other device are undefined.

OPTIONS

-O <FILE>, --output-file=<FILE>
    Output file; defaults to device serial number followed by "internal_fw_log<date>_<time>.bin" suffix

-s <SIZE>, --transfer-size=<SIZE>
    Transfer size; defaults to 0x10000 (65536 decimal) bytes

-d <DATA AREA>, --data-area=<DATA AREA>
    Data area to retrieve. For capture with a --type value that includes telemetry (CONTROLLER, HOST, or BOTH), this specifies the NVMe telemetry data area to capture, containing data from areas 1 to <DATA AREA>. For capture without such a --type value, this specifies the amount of vendor defined debug data to capture, and this is only supported on the SN340, SN350, SN530, SN570, SN730, SN740, SN840, SN850X, SN5000, SN5100S, SN7000S, SN7100, and SN7150 devices.

-t <TYPE>, --type=<TYPE>
    Specifies the telemetry type - NONE, HOST, CONTROLLER, or BOTH. This parameter is used to get either the host-initiated or controller- initiated telemetry log page. If BOTH is specified, both host and controller telemetry are captured and packaged into a tar archive. If not specified or if <TYPE> is NONE, the command will return vendor defined debug data.

-f <FILE SIZE>, --file-size=<FILE SIZE>
    Deprecated. Specifies the desired size of the data file starting at the passed in offset. This allows the user to retrieve the data in several smaller files of the passed in size. This parameter is only supported on the devices mentioned in the documentation of the --data-area parameter, and only for capture with --type=NONE or --type not specified.

-e <OFFSET>, --offset=<OFFSET>
    Deprecated. Specifies the data offset at which to start retrieving the data. This parameter is used in combination with the file size parameter to retrieve the data in several smaller files. This parameter is only supported on the devices mentioned in the documentation of the --data-area parameter, and only for capture with --type=NONE or --type not specified.

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

    • Gets the internal firmware log from the device and saves to default file in current directory (e.g. STM00019F3F9_internal_fw_log_20171127_095704.bin):

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

    • Gets the internal firmware log from the device and saves to defined file in current directory (e.g. test.bin):

        # nvme sndk vs-internal-log /dev/nvme0 -O test.bin

    • Gets the internal firmware log from the device and saves to defined file with pathname (e.g. /tmp/test):

        # nvme sndk vs-internal-log /dev/nvme0 -O /tmp/test

    • Gets the internal firmware log from the device transferring the data in 64k chunks and saves to default file in current directory (e.g. STM00019F3F9_internal_fw_log_20171127_100754.bin):

        # nvme sndk vs-internal-log /dev/nvme0 -s 0x10000

    • Gets the internal firmware log from the device transferring the data in 16k chunks and saves to default file in current directory (e.g. STM00019F3F9_internal_fw_log_20171127_100950.bin):

        # nvme sndk vs-internal-log /dev/nvme0 -s 16384

    • Gets the internal firmware log up to data area 3 from the device in 3 files of 0x1000000 bytes:

        # nvme sndk vs-internal-log /dev/nvme0 -d 3 -f 0x1000000 -t 0x0000000 -O /tmp/sn340_dui_data_1.bin
        # nvme sndk vs-internal-log /dev/nvme0 -d 3 -f 0x1000000 -t 0x1000000 -O /tmp/sn340_dui_data_2.bin
        # nvme sndk vs-internal-log /dev/nvme0 -d 3 -f 0x1000000 -t 0x2000000 -O /tmp/sn340_dui_data_3.bin

    • Gets the host telemetry log page to data area 3 from the device and stores it in file host-telem-log-da3.bin:

        # nvme sndk vs-internal-log /dev/nvme1 -t host -O host-telem-log-da3.bin -d 3

    • Gets the controller telemetry log page to data area 3 from the device and stores it in file ctlr-telem-log-da3.bin:

        # nvme sndk vs-internal-log /dev/nvme1 -t controller -O ctlr-telem-log-da3.bin -d 3

    • Gets both host and controller telemetry log pages to data area 3 from the device and packages them in a tar file:

        # nvme sndk vs-internal-log /dev/nvme1 -t both -O both-telem-log-da3.tar -d 3

NVME

Part of the nvme-user suite.