[smartmontools-support] nvme drive partial support

Kwon-Young Choi kwon-young.choi at hotmail.fr
Wed Nov 11 17:34:36 CET 2020


> ... smartctl ... /dev/nvme0n1 ..
> ... nvme ....... /dev/nvme0 ....
> 
> Please retry both with device names swapped.

Sorry for the confusion. Here is the output of `smartctl` with `/dev/nvme0`:

```
$ sudo LANG= /usr/sbin/smartctl -l error /dev/nvme0 -r ioctl
[sudo] Mot de passe de kwon-young :
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.9.3-1-MANJARO] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

 [NVMe call: opcode=0x06, size=0x1000, nsid=0x00000000, cdw10=0x00000001]
  [Duration: 0.002s]
 [NVMe call succeeded: result=0x00000000]
=== START OF SMART DATA SECTION ===
 [NVMe call: opcode=0x02, size=0x3fc0, nsid=0xffffffff, cdw10=0x0fef0001]
  [Duration: 121.692s]
 [NVMe call failed: NVME_IOCTL_ADMIN_CMD: Interrupted system call]
Read Error Information Log failed: NVME_IOCTL_ADMIN_CMD: Interrupted
system call
```

and the output of `nvme` with `/dev/nvme0n1`:

```
$ sudo nvme get-log /dev/nvme0n1 --log-id=1 --log-len=1024
Device:nvme0n1 log-id:1 namespace-id:0xffffffff
       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
00f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
01b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
01c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
01d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
01e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
01f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
02a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
02b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
02c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
02d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
02e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
02f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
0390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
03a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
03b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
03c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
03d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
03e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
03f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
```

I did not spot any difference.

Kwon-Young Choi

On 11/11/2020 16:08, Christian Franke wrote:
> Kwon-Young Choi wrote:
>>> This is errno = EINTR, which may mean command timeout.
>>>
>>> Please retry above command with '-r ioctl' option. It should print
>>> command duration.
>> ```
>> $ sudo LANG= /usr/sbin/smartctl -l error /dev/nvme0n1 -r ioctl
>> smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.9.3-1-MANJARO] (local
>> build)
>> Copyright (C) 2002-19, Bruce Allen, Christian Franke,
>> www.smartmontools.org
>>
>>   [NVMe call: opcode=0x06, size=0x1000, nsid=0x00000000,
>> cdw10=0x00000001]
>>    [Duration: 0.001s]
>>   [NVMe call succeeded: result=0x00000000]
>> === START OF SMART DATA SECTION ===
>>   [NVMe call: opcode=0x02, size=0x3fc0, nsid=0xffffffff,
>> cdw10=0x0fef0001]
>>    [Duration: 122.235s]
>>   [NVMe call failed: NVME_IOCTL_ADMIN_CMD: Interrupted system call]
>> Read Error Information Log failed: NVME_IOCTL_ADMIN_CMD: Interrupted
>> system call
>> ```
> 
> Looks like the SSD does not reply until some ~120s timeout. Smartctl
> does not specify a timeout for the I/O-control. The kernel's default
> timeout was 60s in the early days of NVMe support. May have changed
> since then.
> 
> 
>>> Retry with '--log-id=1' and '--log-len=1024' which is the default len
>>> for 'smartctl -l error'.
>> ```
>> $ sudo nvme get-log /dev/nvme0 --log-id=1 --log-len=1024
>> Device:nvme0 log-id:1 namespace-id:0xffffffff
>>         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
>> 0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
>> ...
>> 03f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "................"
>> ```
> 
> There is a remaining difference I missed in your previous mail:
> 
> ... smartctl ... /dev/nvme0n1 ..
> ... nvme ....... /dev/nvme0 ....
> 
> Please retry both with device names swapped.
> 
> Thanks,
> Christian
> 


More information about the Smartmontools-support mailing list