You are not logged in.

#1 2019-09-22 01:59:16

Klemvor
Member
From: Italy
Registered: 2012-09-29
Posts: 20

[SOLVED] Lenovo Thinkpad X1 Yoga: NVMe not recognised

I am trying to install Arch Linux on a Lenovo Thinkpad X1 Yoga Gen 4. Since my original storage was limited to 256Gb I bought a new NVMe memory, namely an Adata XPG SX8100. With the old NVMe memory the installation media booted regularly and it was recognised. Since when I substituted the old NVMe with the ADATA one if I boot the live medium I get some errors regarding the NVMe during boot:

Sep 22 01:44:21 archiso kernel: nvme nvme0: pci function 0000:03:00.0
Sep 22 01:44:21 archiso kernel: nvme nvme0: missing or invalid SUBNQN field.
Sep 22 01:44:21 archiso kernel: nvme nvme0: 8/0/0 default/read/poll queues
Sep 22 01:44:31 archiso lvm[369]:   WARNING: Device /dev/nvme0n1 not initialized in udev database even after waiting 10000000 microseconds.
Sep 22 01:44:52 archiso kernel: nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0xffff
Sep 22 01:44:52 archiso kernel: print_req_error: I/O error, dev nvme0n1, sector 2000409088 flags 80700
Sep 22 01:44:52 archiso kernel: nvme 0000:03:00.0: Refused to change power state, currently in D3
Sep 22 01:44:52 archiso kernel: nvme nvme0: Removing after probe failure status: -19
Sep 22 01:44:52 archiso kernel: Buffer I/O error on dev nvme0n1, logical block 250051136, async page read
Sep 22 01:44:52 archiso kernel: print_req_error: I/O error, dev nvme0n1, sector 0 flags 0
Sep 22 01:44:52 archiso kernel: nvme nvme0: failed to set APST feature (-19)

On the other hand, booting a Win10 installation media, I am able to see the NVMe device, see figure:

https://i.imgur.com/9Y2rn9I.jpg

At the moment I cannot understand why it is so. According to ADATA their hardware is, in general, Linux compatible and the NVMe is supported from the kernel since 4.3 as far as I recall. Anyone knows if it is possible to solve this error somehow?

EDIT:
Solved adding the following kernel option to systemd-boot:

nvme_core.default_ps_max_latency_us=500

moderator edit -- replaced oversized image with link.
Pasting pictures and code

Last edited by 2ManyDogs (2019-09-27 13:41:27)


“Violence,” came the retort, “is the last refuge of the incompetent.”
- I. Asimov -

Offline

#2 2019-09-22 16:19:20

leniu_user
Member
Registered: 2019-09-22
Posts: 1

Re: [SOLVED] Lenovo Thinkpad X1 Yoga: NVMe not recognised

You can try adding the following parameter to the kernel boot command line:

nvme_core.default_ps_max_latency_us=500

Offline

#3 2019-09-27 00:15:49

Klemvor
Member
From: Italy
Registered: 2012-09-29
Posts: 20

Re: [SOLVED] Lenovo Thinkpad X1 Yoga: NVMe not recognised

leniu_user wrote:

You can try adding the following parameter to the kernel boot command line:

nvme_core.default_ps_max_latency_us=500

Oh my gosh, it looks incredible to me, but it worked! Can you explain me why there is the need of such kernel option?


“Violence,” came the retort, “is the last refuge of the incompetent.”
- I. Asimov -

Offline

#4 2019-09-27 07:11:14

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,410

Re: [SOLVED] Lenovo Thinkpad X1 Yoga: NVMe not recognised

Your nvme drive doesn't properly implement power saving features, setting that value increases the time the system waits before requesting the drive to go into power saving.

Online

#5 2019-09-28 00:15:53

Klemvor
Member
From: Italy
Registered: 2012-09-29
Posts: 20

Re: [SOLVED] Lenovo Thinkpad X1 Yoga: NVMe not recognised

V1del wrote:

Your nvme drive doesn't properly implement power saving features, setting that value increases the time the system waits before requesting the drive to go into power saving.

Thanks for the explanation. I saw the wiki propose something similar for Samsung drives on kernel 4.10. Should we add a general troubleshooting section addressing this issue?


“Violence,” came the retort, “is the last refuge of the incompetent.”
- I. Asimov -

Offline

Board footer

Powered by FluxBB