You are not logged in.
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
You can try adding the following parameter to the kernel boot command line:
nvme_core.default_ps_max_latency_us=500
Offline
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
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
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