Getting the M.2 Port to work on a cheapo laptop

Should be UEFI if I remember correctly

Usually it’s a good idea to turn off CSM support so the live ISO doesn’t boot in Bios mode and install as MBR instead of UEFI.

Edit: Not sure why it’s not recognizing the drive. What is the brand and type of drive you have for nvme m.2?

Does it not see the drive also booting on the live ISO?

Are you booting on grub or systemd-boot?

Maybe try the following kernel parameter either in the default grub command line and run the update grub command or in the kernel command line for systemd-boot and then run command to reinstall kernels.
If you need help with that i can explain depending on whether you use grub or systemd-boot.

nvme_core.default_ps_max_latency_us=0

Edit:

If using grub then in

/etc/default/grub

add to the command line

nvme_core.default_ps_max_latency_us=0

save and then run grub update command

sudo grub-mkconfig -o /boot/grub/grub.cfg

If using systemd-boot then in

/etc/kernel/cmdline

add

nvme_core.default_ps_max_latency_us=0

save and run

sudo reinstall-kernels

Edit: Of course you would reboot afterwards!

If it is nvme then it is a pci device, so look at the bios pci setting. If NVME then slot option rom should be enabled too. If sata around the data settings which I guess u have already done.

You could look at the pci setup as seen after boot:

sudo -s
lspci
lspci -t
lspci -nnvv | grep -E '^[0-9a-f]|Lnk(Cap|Sta):'

Last will show pcie capability vs allocations & speed, useful for comparing against a block diagram for a similar Celeron if you can find it. If all the pcie lanes for the cpu are used then nvme unlikely, unless South bridge connected, assuming there is a south bridge, but probably. Intel ark website might give you clues about cpu capability.

You could be unlucky and the ship this as a cheaper version with bios options disabled, but doesn’t make much sense it they have hardware slot anyway.

If laptop is 2014 ish then SATA on a Celeron is maybe more likely?

Just looked at the kernel logs. 60GB mmc boot device it seems. I can’t see an SATA controller being initialized, lspci should show if there, and can use -k to see driver.

What is the keying and size of the slot?

Have you tried booting fallback initrd as it includes more drivers that might be needed for new hardware? Journalctl output would be good then too.

@NoChill
Try the suggested kernel parameter that i have given you above to see if the drive gets recognized on boot after.

nvme_core.default_ps_max_latency_us=0

LiveISO did not help, neither did fallback kernel

Adding that line to systemmd did not seem to work either.

[quote="samarium, post:25, topic:43220"]

lspci -nnvv | grep -E ‘^[0-9a-f]|Lnk(Cap|Sta):’

[/quote]

[root@nochill-laptop nochill]# lspci
00:00.0 Host bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register (rev 35)
00:02.0 VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
00:0b.0 Signal processing controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller (rev 35)
00:13.0 SATA controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA Controller (rev 35)
00:14.0 USB controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller (rev 35)
00:1a.0 Encryption controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine (rev 35)
00:1b.0 Audio device: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller (rev 35)
00:1c.0 PCI bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #1 (rev 35)
00:1c.1 PCI bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #2 (rev 35)
00:1c.2 PCI bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #3 (rev 35)
00:1f.0 ISA bridge: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU (rev 35)
00:1f.3 SMBus: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx SMBus Controller (rev 35)
[root@nochill-laptop nochill]# lspci -t
-[0000:00]-+-00.0
           +-02.0
           +-0b.0
           +-13.0
           +-14.0
           +-1a.0
           +-1b.0
           +-1c.0-[01]--
           +-1c.1-[02]--
           +-1c.2-[03]--
           +-1f.0
           \-1f.3
[root@nochill-laptop nochill]# 
lspci -nnvv | grep -E '^[0-9a-f]|Lnk(Cap|Sta):'
00:00.0 Host bridge [0600]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register [8086:2280] (rev 35)
00:02.0 VGA compatible controller [0300]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller [8086:22b1] (rev 35) (prog-if 00 [VGA controller])
00:0b.0 Signal processing controller [1180]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller [8086:22dc] (rev 35)
00:13.0 SATA controller [0106]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA Controller [8086:22a3] (rev 35) (prog-if 01 [AHCI 1.0])
00:14.0 USB controller [0c03]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller [8086:22b5] (rev 35) (prog-if 30 [XHCI])
00:1a.0 Encryption controller [1080]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine [8086:2298] (rev 35)
00:1b.0 Audio device [0403]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller [8086:2284] (rev 35)
00:1c.0 PCI bridge [0604]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #1 [8086:22c8] (rev 35) (prog-if 00 [Normal decode])
		LnkCap:	Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us
		LnkSta:	Speed 2.5GT/s, Width x0
00:1c.1 PCI bridge [0604]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #2 [8086:22ca] (rev 35) (prog-if 00 [Normal decode])
		LnkCap:	Port #2, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkSta:	Speed 2.5GT/s, Width x0
00:1c.2 PCI bridge [0604]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #3 [8086:22cc] (rev 35) (prog-if 00 [Normal decode])
		LnkCap:	Port #3, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <16us
		LnkSta:	Speed 2.5GT/s, Width x0
00:1f.0 ISA bridge [0601]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU [8086:229c] (rev 35)
00:1f.3 SMBus [0c05]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx SMBus Controller [8086:2292] (rev 35)

Hopefully you did it correctly?

I pasted it in the same way the other entries were formated

Have you tried this drive in another system? Is the disk initialized? Or is it still in RAW format?

The current sata m.2 has not been initialized, the previous nvme m.2 I tried was initialized

Don’t have a system currently to do that with

Have you tried some other settings in the Bios? Such as turning of TPM and removing the security keys for secure boot and make sure it’s disabled.

No luck
Although this BIOS has very unintuitive secure boot options compared to most

What are the brands of these drives?

The Sata M.2 I am using now is a cheap KngFast

Well i have no ideas left. Maybe Windows?

Don’t even think this is a Linux issue, although I could try the Windows installer

Have you tried any other linux distros to see if the drives are recognized.