'\" t .\" Title: nvme-wdc-vs-internal-log .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> .\" Date: 01/30/2023 .\" Manual: NVMe Manual .\" Source: NVMe .\" Language: English .\" .TH "NVME\-WDC\-VS\-INTER" "1" "01/30/2023" "NVMe" "NVMe Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" nvme-wdc-vs-internal-log \- Retrieve WDC device\*(Aqs internal firmware log and save to file\&. .SH "SYNOPSIS" .sp .nf \fInvme wdc vs\-internal\-log\fR <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>] [\-\-verbose, \-v] .fi .SH "DESCRIPTION" .sp For the NVMe device given, sends the WDC Vendor Specific Internal Log request and saves the result to a file\&. .sp The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. .sp This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. .SH "OPTIONS" .PP \-o <FILE>, \-\-output\-file=<FILE> .RS 4 Output file; defaults to device serial number followed by "\fIinternal_fw_log\fR<date>_<time>\&.bin" suffix .RE .PP \-s <SIZE>, \-\-transfer\-size=<SIZE> .RS 4 Transfer size; defaults to 0x10000 (65536 decimal) bytes .RE .PP \-d <DATA AREA>, \-\-data\-area=<DATA AREA> .RS 4 DUI data area to retrieve\&. The DUI data areas from 1 to <DATA AREA> will be retrieved\&. This parameter is currently only supported on the SN340, SN640, SN730, and SN840 devices\&. .RE .PP \-f <FILE SIZE>, \-\-file\-size=<FILE SIZE> .RS 4 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 currently only supported on the SN340 device\&. .RE .PP \-e <OFFSET>, \-\-offset=<OFFSET> .RS 4 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 currently only supported on the SN340 device\&. .RE .PP \-t <TYPE>, \-\-type=<TYPE> .RS 4 Specifies the telemetry type \- NONE, HOST, or CONTROLLER\&. This parameter is used to get either the host generated or controller initiated telemetry log page\&. If not specified or none is specified, the command will return the default E6 log data\&. This parameter is currently only supported on the SN640 and SN840 devices\&. .RE .PP \-v <VERBOSE>, \-\-verbose=<VERBOSE> .RS 4 Provides additional debug messages for certain drives\&. .RE .SH "EXAMPLES" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 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): .sp .if n \{\ .RS 4 .\} .nf # nvme wdc vs\-internal\-log /dev/nvme0 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Gets the internal firmware log from the device and saves to defined file in current directory (e\&.g\&. test\&.bin): .sp .if n \{\ .RS 4 .\} .nf # nvme wdc vs\-internal\-log /dev/nvme0 \-o test\&.bin .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Gets the internal firmware log from the device and saves to defined file with pathname (e\&.g\&. /tmp/test): .sp .if n \{\ .RS 4 .\} .nf # nvme wdc vs\-internal\-log /dev/nvme0 \-o /tmp/test .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 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): .sp .if n \{\ .RS 4 .\} .nf # nvme wdc vs\-internal\-log /dev/nvme0 \-s 0x10000 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} 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): .sp .if n \{\ .RS 4 .\} .nf # nvme wdc vs\-internal\-log /dev/nvme0 \-s 16384 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Gets the internal firmware log up to data area 3 from the device in 3 files of 0x1000000 bytes: .sp .if n \{\ .RS 4 .\} .nf # nvme wdc vs\-internal\-log /dev/nvme0 \-d 3 \-f 0x1000000 \-t 0x0000000 \-o /tmp/sn340_dui_data_1\&.bin # nvme wdc vs\-internal\-log /dev/nvme0 \-d 3 \-f 0x1000000 \-t 0x1000000 \-o /tmp/sn340_dui_data_2\&.bin # nvme wdc vs\-internal\-log /dev/nvme0 \-d 3 \-f 0x1000000 \-t 0x2000000 \-o /tmp/sn340_dui_data_3\&.bin .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Gets the host telemetry log page to data area 3 from the device and stores it in file host\-telem\-log\-da3\&.bin: .sp .if n \{\ .RS 4 .\} .nf # nvme wdc vs\-internal\-log /dev/nvme1 \-t host \-o host\-telem\-log\-da3\&.bin \-d 3 .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Gets the controller telemetry log page to data area 3 from the device and stores it in file ctlr\-telem\-log\-da3\&.bin: .sp .if n \{\ .RS 4 .\} .nf # nvme wdc vs\-internal\-log /dev/nvme1 \-t controller \-o ctlr\-telem\-log\-da3\&.bin \-d 3 .fi .if n \{\ .RE .\} .RE .SH "NVME" .sp Part of the nvme\-user suite\&.