LINUX.ORG.RU

Система видит NVMe SSD, но не может работать с ним. Проблема при установке Fedora.

 , , , ,


0

1

Примерные сообщения sudo dmesg | grep nvme (пишу сейчас c Windows, списываю с фотки монитора):

[…] nvme 0000:09:00.0: probe with driver nvme failed with error -25

И waiting в течение 65535ms.


На этой материнке этот nvme работает с другой операционной системой?

Точно «error -25»?

mky ★★★★★
()
Ответ на: комментарий от mky

Да, собственно, на этом NVMe сейчас Windows (в её установщике он отображается сразу и с ним можно работать, так что я смогу всё стереть, если понадобится). Да, отображается error -25. В lspci диск тоже есть в виде контроллера.

mndtr0
() автор топика
Ответ на: комментарий от mndtr0

Ну, попробовать другой дистрибутив, с другой версией ядра.

Так, у меня получается, что -25 это ENOTTY, он же Inappropriate ioctl for device, и от nvme он может были или при ошибке при NVME_IOCTL_SUBSYS_RESET. Как будто какой-то софт, а не ядро, просит reset NVME устройства и облом. Но мне это не понятно, зачем reset при установке, наверное я что-то не то увидел в исходниках...

mky ★★★★★
()

Без костылей не обойтись.

Очевидно, проблема в драйвере.

sparkie ★★★★★
()

У меня что-то похожее было на ноуте. Когда грузился в live образ Arch Linux, то, во-первых, была большая задержка (ну минуты 3 наверное) при загрузке ОС, а во-вторых, один из двух Nvme накопителей в системе не определялся нормально.

Было это как-то связано с дискретной графикой Nvidia, потому что при переключении на встроенную графику AMD в BIOS/UEFI ноутбука Nvme стал определяться нормально и задержка при загрузке пропала. Причем если систему все же установить и установить проприетарный драйвер Nvidia, то проблема исчезает, то есть это как-то было связано с отсутствием проприетарного драйвера Nvidia на live образе.

Не знаю поможет эта информация как-то или нет, но тоже связана с Nvme, поэтому решил поделиться.

Kron4ek ★★★★★
()
Ответ на: комментарий от Kron4ek

Блин, да, есть дискретная графика, но у меня десктоп без встройки

mndtr0
() автор топика

Вот что помогло мне (искал в Гугле, в том числе через их ИИ поиск):

  1. В Grub нажимаем латинскую e, чтобы войти в edit-режим редактирования
  2. В редакторе переходим на строку, в которой есть quiet
  3. После quiet дописываем: splash nvme_core.default_ps_max_latency_us=0 pcie_aspm=off pci=noaer pci=nomsi nvme_noacpi=1 nvme_core.quirks=0x<vendorID>:0x<deviceID>:0x40. Вместо <vendorID> и <deviceID> надо подставлять значения для своего диска, у меня это было 1e4b и 1202 соответственно (дешманский NVMe контроллер MAXIO MAP1202)

Лично у меня после этого система загрузилась и распознала диск, дальше всё, что касается NVMe диска, работало так, как и должно было работать из коробки.

mndtr0
() автор топика
Ответ на: комментарий от Kron4ek

Тоже была большая задержка, после прописывания параметров в Grub для загрузки ядра задержка пропала. Дискретная графика тоже Nvidia. После установки проприетарного драйвера, система перестала грузится (и при загрузке последнего меню в Grub, которое rescue, просто тёмный экран с курсором, которым можно двигать). Ставил отсюда: rpmfusion.org. Не знаю, может, я неправильно их поставил…

mndtr0
() автор топика
Ответ на: комментарий от AbbaT

Отметил, спасибо за напоминание. Может, какой-нибудь такой же бедолага, как я, у которого ничего не работает, найдёт…

mndtr0
() автор топика
Ответ на: комментарий от mndtr0

Также в этой строке должно быть linux

mndtr0
() автор топика
Ответ на: комментарий от mndtr0

0x40 — это же NVME_QUIRK_QDEPTH_ONE?

И вобще непонятно, как эта магия работает:

nvme_core.quirks

Смотрю https://docs.kernel.org/admin-guide/kernel-parameters.html , там usbcore.quirks= есть, usb-storage.quirks= есть, а nvme_core.quirks= нету.

Если смотреть source/drivers/nvme/host/core.c, то там через module_param() определены всякие nvme_core.default_ps_max_latency_us и пр., но quirks нет.

mky ★★★★★
()
Ответ на: комментарий от mndtr0

В некоторых дистрибутивах нужно нажимать TAB для ввода параметров ядра

mndtr0
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.