WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: How to support M.2 PCIe SSD?  (Read 296 times)

Offline tcler2025

  • Newbie
  • *
  • Posts: 3
How to support M.2 PCIe SSD?
« on: February 23, 2025, 08:49:45 PM »
Hello guys!  :)

It is my first POST here.  :D

I met a BIG problem. :-[

I have a Dell Inspiron 5488 with 8GB Memory and one M.2 PCIe SSD-0(256GB) disk.

But:
  • if "BIOS->Settings->System Configuration->SATA Operation" is swithed to "RAID On" my Tiny Core Linux(Version 15.0) could NOT found the "M.2 PCIe SSD-0(256GB) disk"!
  • if "BIOS->Settings->System Configuration->SATA Operation" is swithed to "AHCI" my Tiny Core Linux(Version 15.0) could found the "M.2 PCIe SSD-0(256GB) disk"!

The "RAID On" is describe as "RAID On = SATA is configured to supoort RAID mode (Intel Rapid Restore Technology)."
The "AHCI" is describe as "AHCI = SATA is configured to supoort for AHCI mode."

My Question

How to make TCL found my "M.2 PCIe SSD-0(256GB) disk" (so that sudo fdisk -l will find it) when "SATA Operation" is sets to "RAID On"?

My TCL info as follows:
#=====================================
#uname -a
Code: [Select]
tc@box:/opt$ uname -a
Linux box 6.6.8-tinycore64 #666 SMP Sat Dec 23 16:41:21 UTC 2023 x86_64 GNU/Linux

#cat /etc/os-release
Code: [Select]
tc@box:/opt$ cat /etc/os-release
NAME=TinyCore
VERSION="15.0"
ID=tinycore
VERSION_ID=15.0
PRETTY_NAME="TinyCoreLinux 15.0"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:tinycore:tinycore_linux:15.0"
HOME_URL="http://tinycorelinux.net/"
SUPPORT_URL="http://forum.tinycorelinux.net/"
BUG_REPORT_URL="http://forum.tinycorelinux.net/"

#lspci
Code: [Select]
tc@box:/opt$ lspci
00:00.0 Host bridge: Intel Corporation Coffee Lake HOST and DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation WhiskeyLake-U GT2 [UHD Graphics 620]
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0b)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Point-LP Thermal Controller (rev 30)
00:14.0 USB controller: Intel Corporation Cannon Point-LP USB 3.1 xHCI Controller (rev 30)
00:14.2 RAM memory: Intel Corporation Cannon Point-LP Shared SRAM (rev 30)
00:14.3 Network controller: Intel Corporation Cannon Point-LP CNVi [Wireless-AC] (rev 30)
00:15.0 Serial bus controller: Intel Corporation Cannon Point-LP Serial IO I2C Controller #0 (rev 30)
00:15.1 Serial bus controller: Intel Corporation Cannon Point-LP Serial IO I2C Controller #1 (rev 30)
00:16.0 Communication controller: Intel Corporation Cannon Point-LP MEI Controller #1 (rev 30)
00:17.0 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 30)
00:1d.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #9 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Cannon Point-LP LPC Controller (rev 30)
00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 30)
00:1f.4 SMBus: Intel Corporation Cannon Point-LP SMBus Controller (rev 30)
00:1f.5 Serial bus controller: Intel Corporation Cannon Point-LP SPI Controller (rev 30)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller (rev 0a)

#dmesg | grep -i nvme
Code: [Select]
tc@box:/opt$ dmesg | grep -i nvme
[    0.308292] ahci 0000:00:17.0: Found 1 remapped NVMe devices.

tc@box:/opt$ sudo fdisk -l | grep -i /dev
Disk /dev/ram0: 8 MiB, 8388608 bytes, 16384 sectors
Disk /dev/ram1: 8 MiB, 8388608 bytes, 16384 sectors
...(ignore useless info)
Disk /dev/ram7: 8 MiB, 8388608 bytes, 16384 sectors
Disk /dev/zram0: 1.58 GiB, 1700212736 bytes, 415091 sectors
Disk /dev/sda: 7.46 GiB, 8005787648 bytes, 15636304 sectors
/dev/sda1  *        0    65535    65536   32M 17 Hidden HPFS/NTFS
/dev/sda2       65536 15636303 15570768  7.4G 83 Linux
Disk /dev/loop0: 2.82 MiB, 2961408 bytes, 5784 sectors
Disk /dev/loop1: 1.78 MiB, 1863680 bytes, 3640 sectors
...(ignore useless info)
Disk /dev/loop59: 636 KiB, 651264 bytes, 1272 sectors

#df -h
Code: [Select]
tc@box:/opt$ df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    5.9G     24.1M      5.9G   0% /
tmpfs                     3.3G         0      3.3G   0% /dev/shm
/dev/sda2                 7.2G    169.4M      6.7G   2% /mnt/sda2
/dev/loop0                2.8M      2.8M         0 100% /tmp/tcloop/openssl
/dev/loop1                1.8M      1.8M         0 100% /tmp/tcloop/openssh
...(ignore useless info)
/dev/loop59             636.0K    636.0K         0 100% /tmp/tcloop/file
tc@box:/opt$


#cat /mnt/sda2/tce/onboot.lst
Code: [Select]
tc@box:~$ cat /mnt/sda2/tce/onboot.lst
openssh.tcz
openssl.tcz
vim.tcz
curl.tcz

pcre.tcz
pcre2-dev.tcz
nginx.tcz

pciutils.tcz
ntfs-3g.tcz
scsi-6.6.8-tinycore64.tcz
xfsprogs.tcz
mdadm.tcz
raid-dm-6.6.8-tinycore64.tcz
nfs-utils.tcz

wpa_supplicant-dbus.tcz
sg3-utils.tcz
gettext.tcz
make.tcz
gcc.tcz
file.tcz
tc@box:~$

#lsmod
Code: [Select]
tc@box:~$ lsmod
Module                  Size  Used by    Not tainted
cpufreq_powersave      12288  0
cpufreq_userspace      12288  0
cpufreq_conservative    12288  0
iwlwifi               212992  0
cfg80211              249856  1 iwlwifi
squashfs               36864 60
loop                   20480 120
dell_wmi               12288  0
dell_smbios            12288  1 dell_wmi
mei_hdcp               12288  0
intel_rapl_msr         12288  0
processor_thermal_device_pci_legacy    12288  0
processor_thermal_device    12288  1 processor_thermal_device_pci_legacy
processor_thermal_rapl    12288  1 processor_thermal_device
intel_rapl_common      16384  2 intel_rapl_msr,processor_thermal_rapl
mei_me                 20480  1
processor_thermal_rfim    12288  1 processor_thermal_device
video                  49152  1 dell_wmi
processor_thermal_mbox    12288  2 processor_thermal_device,processor_thermal_rfim
dell_wmi_sysman        24576  0
firmware_attributes_class    12288  1 dell_wmi_sysman
dcdbas                 12288  1 dell_smbios
dell_wmi_descriptor    12288  2 dell_wmi,dell_smbios
wmi_bmof               12288  0
realtek                20480  1
backlight              12288  1 video
int3403_thermal        12288  0
int3402_thermal        12288  0
intel_hid              16384  0
pcspkr                 12288  0
pinctrl_cannonlake     32768  0
r8169                  53248  0
mei                    53248  3 mei_hdcp,mei_me
battery                16384  0
sparse_keymap          12288  2 dell_wmi,intel_hid
int340x_thermal_zone    12288  3 processor_thermal_device,int3403_thermal,int3402_thermal
ac                     12288  0
xhci_pci               16384  0
ucsi_acpi              12288  0
typec_ucsi             20480  1 ucsi_acpi
roles                  12288  1 typec_ucsi
wmi                    16384  6 dell_wmi,dell_smbios,video,wmi_bmof,dell_wmi_descriptor,dell_wmi_sysman
int3400_thermal        12288  0
acpi_thermal_rel       12288  1 int3400_thermal
xhci_hcd               98304  1 xhci_pci
intel_soc_dts_iosf     12288  1 processor_thermal_device_pci_legacy
xhci_pci_renesas       12288  1 xhci_pci
intel_pch_thermal      12288  0
tc@box:~$

    [Edit]: Added code tags.  Rich
« Last Edit: February 23, 2025, 10:03:29 PM by Rich »

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11906
Re: How to support M.2 PCIe SSD?
« Reply #1 on: February 23, 2025, 10:03:54 PM »
Hi tcler2025
Please use  Code Tags  when posting commands and responses seen in a terminal. To use  Code Tags  click on the  #  icon
above the reply box and paste your text between the  Code Tags  as shown in this example:

Quote
[code][   36.176529] pcm512x 1-004d: Failed to get supply 'AVDD': -517
[   36.176536] pcm512x 1-004d: Failed to get supplies: -517
[   36.191753] pcm512x 1-004d: Failed to get supply 'AVDD': -517[/code]

It will appear like this in your post:
Code: [Select]
[   36.176529] pcm512x 1-004d: Failed to get supply 'AVDD': -517
[   36.176536] pcm512x 1-004d: Failed to get supplies: -517
[   36.191753] pcm512x 1-004d: Failed to get supply 'AVDD': -517

Code Tags  serve as visual markers between what you are trying to say and the information you are posting. They also preserve
spacing so column aligned data displays properly. Code tags also automatically add horizontal and or vertical scrollbars
to accommodate long lines and listings.

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11906
Re: How to support M.2 PCIe SSD?
« Reply #2 on: February 23, 2025, 10:58:26 PM »
Hi tcler2025
You say you have one drive and RAID is enabled. I'm not sure how
you do RAID with a single drive.

I did do some searching and found a few articles that may be of some help:
https://forums.linuxmint.com/viewtopic.php?t=129866
https://discussion.fedoraproject.org/t/is-there-a-way-to-use-this-nvme-without-switching-raid-to-achi/94938

One of those mentions using mdadm. We have mdadm.tcz available.

Some VID and PID info might turn up additional drivers.
Post the result of this command:
Code: [Select]
lspci -nnks 00:17.0

Offline tcler2025

  • Newbie
  • *
  • Posts: 3
Re: How to support M.2 PCIe SSD?
« Reply #3 on: February 24, 2025, 02:05:04 AM »
Hi tcler2025
You say you have one drive and RAID is enabled. I'm not sure how
you do RAID with a single drive.

I did do some searching and found a few articles that may be of some help:
https://forums.linuxmint.com/viewtopic.php?t=129866
https://discussion.fedoraproject.org/t/is-there-a-way-to-use-this-nvme-without-switching-raid-to-achi/94938

One of those mentions using mdadm. We have mdadm.tcz available.

Some VID and PID info might turn up additional drivers.
Post the result of this command:
Code: [Select]
lspci -nnks 00:17.0

Yes I only have one drive(M.2 PCIe SSD-0(256GB) disk)

Here is my execute result:
Code: [Select]
tc@box:~$ lspci -nnks 00:17.0
00:17.0 RAID bus controller [0104]: Intel Corporation 82801 Mobile SATA Controller [RAID mode] [8086:282a] (rev 30)
DeviceName: Onboard - Other
Subsystem: Dell Device [1028:089c]
Kernel driver in use: ahci
tc@box:~$

Further more
sudo lshw -C storage
Code: [Select]
tc@box:~$ sudo lshw -C storage
  *-raid                   
       description: RAID bus controller
       product: 82801 Mobile SATA Controller [RAID mode]
       vendor: Intel Corporation
       physical id: 17
       bus info: pci@0000:00:17.0
       version: 30
       width: 32 bits
       clock: 66MHz
       capabilities: raid msix pm bus_master cap_list
       configuration: driver=ahci latency=0
       resources: irq:16 memory:a1290000-a1297fff memory:a12ab000-a12ab0ff ioport:4090(size=8) ioport:4080(size=4) ioport:4060(size=32) memory:a1200000-a127ffff
  *-scsi
       physical id: 1
       bus info: usb@1:2
       logical name: scsi1
       capabilities: emulated scsi-host
       configuration: driver=usb-storage
tc@box:~$


dmesg | grep -i ahci
Code: [Select]
tc@box:~$ dmesg | grep -i ahci
[    0.316483] ahci 0000:00:17.0: version 3.0
[    0.316596] ahci 0000:00:17.0: Found 1 remapped NVMe devices.
[    0.316597] ahci 0000:00:17.0: Switch your BIOS from RAID to AHCI mode to use them.
[    0.316617] ahci 0000:00:17.0: SSS flag set, parallel bus scan disabled
[    0.316633] ahci 0000:00:17.0: AHCI 0001.0301 32 slots 1 ports 6 Gbps 0x1 impl RAID mode
[    0.316636] ahci 0000:00:17.0: flags: 64bit ncq sntf stag pm clo only pio slum part deso sadm sds apst
[    0.316891] scsi host0: ahci
tc@box:~$
« Last Edit: February 24, 2025, 02:29:02 AM by tcler2025 »

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 15000
Re: How to support M.2 PCIe SSD?
« Reply #4 on: February 24, 2025, 03:17:15 AM »
My understanding of the sata setting for dell laptops is that, with one hd, you should leave the bios setting at the default of ahci or similar, not raid on.

Edit: Correction, on my new dell laptop the default sata setting is "raid on" (even though there is only one ssd) - apparently this forces the use of a faster (intel) windows driver?

Note that tinycore boots on this laptop from a usb stick when secure boot is disabled.
« Last Edit: February 24, 2025, 05:55:58 AM by Juanito »

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11906
Re: How to support M.2 PCIe SSD?
« Reply #5 on: February 24, 2025, 09:21:28 AM »
Hi tcler2025
It looks like the only Linux driver is AHCI.

Are you also running Windows on your machine? I read some
reports that Windows would not boot when the BIOS was switched
to AHCI and some reports where Windows did not care either way.

If you are running Windows, read this:
https://forums.gentoo.org/viewtopic-p-8758625.html?sid=4f3ca67ba9c4a415d90f853401864d7c
The last post suggests how to switch from RAID to AHCI and still
keep Windows happy.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 15000
Re: How to support M.2 PCIe SSD?
« Reply #6 on: February 24, 2025, 09:30:45 AM »
Here are some details from my dell laptop with sata=raid running tc-16.x x86_64

Code: [Select]
dmesg | grep -i raid
[    0.204706] ahci 0000:00:1f.2: AHCI vers 0001.0300, 32 command slots, 6 Gbps, RAID mode

Code: [Select]
dmesg | grep -i ssd
...
[    0.826471] ata2.00: Model 'SAMSUNG SSD PM851 mSATA 256GB', rev 'EXT48D0Q', applying quirks: zeroaftertrim
[    0.826603] ata2.00: ATA-9: SAMSUNG SSD PM851 mSATA 256GB, EXT48D0Q, max UDMA/133
[    0.828424] scsi 1:0:0:0: Direct-Access     ATA      SAMSUNG SSD PM85 8D0Q PQ: 0 ANSI: 5

Code: [Select]
lsmod
Module                  Size  Used by    Not tainted
ccm                    16384  6
iwlmvm                319488  0
mac80211              425984  1 iwlmvm
iwlwifi               253952  1 iwlmvm
cfg80211              303104  3 iwlmvm,mac80211,iwlwifi
cpufreq_conservative    12288  0
cpufreq_powersave      12288  0
cpufreq_userspace      12288  0
squashfs               40960 121
loop                   24576 242
mei_hdcp               12288  0
dell_wmi               12288  0
sparse_keymap          12288  1 dell_wmi
dell_smbios            12288  1 dell_wmi
dcdbas                 12288  1 dell_smbios
wmi_bmof               12288  0
ppdev                  16384  0
dell_wmi_descriptor    12288  2 dell_wmi,dell_smbios
parport_pc             32768  0
parport                32768  2 ppdev,parport_pc
video                  57344  1 dell_wmi
backlight              12288  1 video
sdhci_pci              53248  0
sdhci                  40960  1 sdhci_pci
intel_rst              12288  0
pcspkr                 12288  0
intel_smartconnect     12288  0
mei_me                 24576  1
cqhci                  20480  1 sdhci_pci
mmc_core              110592  3 sdhci_pci,sdhci,cqhci
ac                     12288  0
battery                16384  0
wmi                    16384  5 dell_wmi,dell_smbios,wmi_bmof,dell_wmi_descriptor,video
mei                    69632  3 mei_hdcp,mei_me
e1000e                167936  0
lpc_ich                24576  0
dell_rbtn              12288  0
xhci_pci               16384  0
xhci_hcd              114688  1 xhci_pci

Offline tcler2025

  • Newbie
  • *
  • Posts: 3
Re: How to support M.2 PCIe SSD?
« Reply #7 on: February 24, 2025, 08:38:38 PM »
Hi tcler2025
It looks like the only Linux driver is AHCI.

Are you also running Windows on your machine? I read some
reports that Windows would not boot when the BIOS was switched
to AHCI and some reports where Windows did not care either way.

If you are running Windows, read this:
https://forums.gentoo.org/viewtopic-p-8758625.html?sid=4f3ca67ba9c4a415d90f853401864d7c
The last post suggests how to switch from RAID to AHCI and still
keep Windows happy.

Yes,there is a win10 on my laptop.

My goal is detecting the win10 disk from Tiny core linux with default BIOS settings(SATA = RAID On).
So I'm not going to change BIOS/UEFI settings. :-\

BTW,After do more research , I found someone met the same problem with me:
Quote
"Intel RST" and "RAID" modes are not supported by any Linux distro at the moment.
https://superuser.com/questions/1655079/intel-rst-makes-ssd-disappear-in-linux

Offline gadget42

  • Hero Member
  • *****
  • Posts: 855
Re: How to support M.2 PCIe SSD?
« Reply #8 on: February 25, 2025, 06:46:28 AM »
this webpage provides some insight(decade-old problem for some hardware)

https://www.pcworld.com/article/410432/linux-wont-install-on-your-laptop-blame-intel-not-microsoft.html
The fluctuation theorem has long been known for a sudden switch of the Hamiltonian of a classical system Z54 . For a quantum system with a Hamiltonian changing from... https://forum.tinycorelinux.net/index.php/topic,25972.msg166580.html#msg166580