[smartmontools-support] nvme drive partial support

Christian Franke Christian.Franke at t-online.de
Wed Nov 11 16:08:20 CET 2020


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