Second NVMe drive failure - SOLVED

I installed a second NVMe drive in the 30 mm M.2 slot using an adapter (NGFF M.2 Key M to Key A+E Extension Cable NGFF Adapter Card Converter For Windows 2000/7/8/10|Computer Cables & Connectors| - AliExpress).

I am running Linux 5.13.6. The 2nd NVMe drive is detected but has problems with assigned memory bar:

$ sudo dmesg -H | grep 0000:05:00.0
[  +0.018407] pci 0000:05:00.0: [144d:a804] type 00 class 0x010802
[  +0.027732] pci 0000:05:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
[  +0.084780] pci 0000:05:00.0: 7.876 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x1 link at 0000:02:03.0 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)
[  +0.000037] pci 0000:05:00.0: BAR 0: assigned [mem 0x60500000-0x60503fff 64bit]
[  +0.034776] pci 0000:05:00.0: BAR 0: error updating (0x60500004 != 0xffffffff)
[  +0.000064] pci 0000:05:00.0: BAR 0: error updating (high 0x000000 != 0xffffffff)
[  +0.236549] nvme nvme0: pci function 0000:05:00.0
[  +0.012760] nvme 0000:05:00.0: can't change power state from D3hot to D0 (config space inaccessible)

$ sudo dmesg -H | grep 0000:06:00.0
[  +0.000305] pci 0000:06:00.0: [144d:a804] type 00 class 0x010802
[  +0.000064] pci 0000:06:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
[  +0.000047] pci 0000:06:00.0: BAR 0: assigned [mem 0x60600000-0x60603fff 64bit]
[  +0.006531] nvme nvme1: pci function 0000:06:00.0
[  +0.012436] nvme 0000:06:00.0: enabling device (0000 -> 0002)

$ lspci -vvv
05:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961/SM963 (prog-if 02 [NVM Express])
        Subsystem: Samsung Electronics Co Ltd SM963 2.5" NVMe PCIe SSD
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Interrupt: pin A routed to IRQ 41
        Region 0: Memory at 60500000 (64-bit, non-prefetchable) [virtual] [size=16K]
        Capabilities: <access denied>
        Kernel modules: nvme

06:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961/SM963 (prog-if 02 [NVM Express])
        Subsystem: Samsung Electronics Co Ltd SM963 2.5" NVMe PCIe SSD
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 38
        Region 0: Memory at 60600000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: nvme
        Kernel modules: nvme

Best regards

Heinrich

The problem was due to excessive cable length between the M.2 slot and the NVMe drive. With a 100 mm cable it is working fine now.

2 Likes