Kernel wont recognize m.2 nvme ssd installed in pci express slot with adapter.
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Kernel wont recognize m.2 nvme ssd installed in pci express slot with adapter.
Greetings.
I have a motherboard with H97 chipset with a 1150 socket.
It doesnt have an m.2 slot, and only in a bios update it mentions vaguely that it adds support for nvme. I installed a evo 970 plus nvme in a pci4x slot using a pci-m2 adapter.
But having searched the internet i found posts that using a nvme as secondary storage only could be trivial for linux, instead booting from it is sth that depends on motherboard/uefi
support.
But unfortunately my system wont detect it.
$ lspci -nn | grep NVMe
$ ls -l /dev/nvme*
$ lsblk
$ sudo nvme list
Your mobo https://www.gigabyte.com/us/Motherbo...3-rev-10/sp#sp has a PCIEX4 slot which shares lanes with the x1 slots but it may be PCIe Gen 2. The graphics card slot is PCIe x16 Gen 3.0. If you use the the PCIEx4 slot, you may need to shut off the x1 slots and configure the x4 in the BIOS since you can't use both.
As for booting, the BIOS in a system without a dedicated M.2 slot most likely won't scan the PCIe bus for disks. I think you will still need SATA or USB to boot.
Your mobo https://www.gigabyte.com/us/Motherbo...3-rev-10/sp#sp has a PCIEX4 slot which shares lanes with the x1 slots but it may be PCIe Gen 2. The graphics card slot is PCIe x16 Gen 3.0. If you use the the PCIEx4 slot, you may need to shut off the x1 slots and configure the x4 in the BIOS since you can't use both.
...
Thanks. There is no bios option to disable PCIX1 slots. But there is an option to control the speed of the PCIX4 (which when set to X4 i think it practicaly disables the PCIX1 slots). But still nothing.
So my NVMe M.2 drive is not discovered on PCIe bus.
I wonder if the M.2 SSD to PCIe adapter card is not so innocent.
I can't imagine there could be much wrong on the adapter. It just brings the PCIe lanes to the M.2 connector. The mobo may need to detect that a card is in that slot in order to disable the x1 slots and enable the x4. No BIOS support is needed after boot, since the SSD PCIe type will trigger the NVMe driver. Make sure CONFIG_BLK_DEV_NVME is =y. If it is =m, then you need to do modprobe nvme. The lspci output for my Seagate does not say NVMe, it says "Non-Volatile Memory Controller"
The link I gave referred to Gigabyte GA-H97-HD3 (rev. 1.1).
Your link referred to Gigabyte GA-H97-HD3 (rev. 1.0).
It is normal for NVMes to run hot.
EDIT
An NVMe SSD does not appear within the BIOS until Windows creates the system partition with the EFI Boot Sector. The M.2 SSD contains UEFI driver information within the firmware.
Track down the adapter issue by comparing lspci output with and without the adapter installed. Any differences? If they are the same it does tend to point to a hardware issue.
Track down the adapter issue by comparing lspci output with and without the adapter installed. Any differences? If they are the same it does tend to point to a hardware issue.
Thanks. I did it and i see no diff. I will try it in a different mobo but needs time.
I can't imagine there could be much wrong on the adapter. It just brings the PCIe lanes to the M.2 connector. The mobo may need to detect that a card is in that slot in order to disable the x1 slots and enable the x4.
Last edited by Timothy Miller; 09-11-2020 at 11:23 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.