You are not logged in.

#1 2025-11-21 00:27:46

MagnusVesper
Member
Registered: 2025-11-20
Posts: 2

NVMe drive shows in lspci but not fdisk, no errors in journalctl

I have a nvme drive that is recognized as a PCIe device but not set up as a nvme device. And I can't find any error messages to explain it.
Here is the relevant journalctl output:

❯ journalctl -b -g 'nvme1|0000:04' -o cat
pci 0000:04:00.0: [15b7:5030] type 00 class 0x010802 PCIe Endpoint
pci 0000:04:00.0: BAR 0 [mem 0xfc700000-0xfc703fff 64bit]
pci_bus 0000:04: resource 1 [mem 0xfc700000-0xfc7fffff]
pci 0000:04:00.0: Adding to iommu group 24
nvme nvme1: pci function 0000:04:00.0
nvme 0000:04:00.0: enabling device (0000 -> 0002)

So, it looks like the device isn't being enabled.
/sys/bus/pci/devices/0000:04:00.0/enable contains "0", which supports that.
Those logs make it look like the drive is being loaded as nvme1. But there is no /dev/nvme1 file nor does it show up in fdisk -l, lsblk, or nvme list.

I am using a nvme drive of the same model and revision as my boot drive, that is on the pci bus 0000:01.
Here is what lspci says about both drives:

❯ sudo lspci -d 15b7:5030 -v
01:00.0 Non-Volatile memory controller: Sandisk Corp WD Black SN850X NVMe SSD (rev 01) (prog-if 02 [NVM Express])
	Subsystem: Sandisk Corp WD Black SN850X NVMe SSD
	Flags: bus master, fast devsel, latency 0, IRQ 82, IOMMU group 15
	Memory at fcf00000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] MSI: Enable- Count=1/32 Maskable- 64bit+
	Capabilities: [b0] MSI-X: Enable+ Count=65 Masked-
	Capabilities: [c0] Express Endpoint, IntMsgNum 0
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [1b8] Latency Tolerance Reporting
	Capabilities: [300] Secondary PCI Express
	Capabilities: [900] L1 PM Substates
	Capabilities: [910] Data Link Feature <?>
	Capabilities: [920] Lane Margining at the Receiver
	Capabilities: [9c0] Physical Layer 16.0 GT/s
	Kernel driver in use: nvme
	Kernel modules: nvme

04:00.0 Non-Volatile memory controller: Sandisk Corp WD Black SN850X NVMe SSD (rev 01) (prog-if 02 [NVM Express])
	Subsystem: Sandisk Corp WD Black SN850X NVMe SSD
	Flags: fast devsel, IRQ 40, IOMMU group 24
	Memory at fc700000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] MSI: Enable- Count=1/32 Maskable- 64bit+
	Capabilities: [b0] MSI-X: Enable- Count=65 Masked-
	Capabilities: [c0] Express Endpoint, IntMsgNum 0
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [1b8] Latency Tolerance Reporting
	Capabilities: [300] Secondary PCI Express
	Capabilities: [900] L1 PM Substates
	Capabilities: [910] Data Link Feature <?>
	Capabilities: [920] Lane Margining at the Receiver
	Capabilities: [9c0] Physical Layer 16.0 GT/s
	Kernel modules: nvme

Here's that same output but trimmed to only show lines that are different:

01:00.0 Non-Volatile memory controller: Sandisk Corp WD Black SN850X NVMe SSD (rev 01) (prog-if 02 [NVM Express])
	Flags: bus master, fast devsel, latency 0, IRQ 82, IOMMU group 15
	Memory at fcf00000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [b0] MSI-X: Enable+ Count=65 Masked-
	Kernel driver in use: nvme

04:00.0 Non-Volatile memory controller: Sandisk Corp WD Black SN850X NVMe SSD (rev 01) (prog-if 02 [NVM Express])
	Flags: fast devsel, IRQ 40, IOMMU group 24
	Memory at fc700000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [b0] MSI-X: Enable- Count=65 Masked-

So, the problematic drive is being recognized as a nvme drive. But the kernel driver is not "in use" for it.
I found one other difference between them in their /sys/bus/pci/devices folders:
/sys/bus/pci/devices/0000:04:00.0/waiting_for_supplier contains "0" (which indicates it's not waiting)
There is no /sys/bus/pci/devices/0000:01:00.0/waiting_for_supplier file (for the working drive). I'm not sure if that's meaningful.

Does anyone know what could be wrong, or what I should check next? The lack of any error messages is leaving me lost.


My build info:
CPU: AMD Ryzen 7 5800X3D
GPU: AMD Radeon RX 7900 XTX
Memory: 64GiB DDR4 (HyperX Fury 3466MHz DDR4 CL17)
Motherboard: ASUS ROG X570 Crosshair VIII Hero (Wi-Fi)
The drive: WD_BLACK 4TB SN850X

Both the working and problematic drives are plugged into M.2 slots on the motherboard which do not share any lanes with other pcie ports. The problematic one has never been partitioned before.
I also have a pcie to nvme adapter card that a 3rd nvme drive is currently in. I tried swapping the problematic drive with that 3rd drive, and nothing changes. The 3rd drive works fine in the motherboard M.2 slot.

Offline

#2 2025-11-21 00:29:59

MagnusVesper
Member
Registered: 2025-11-20
Posts: 2

Re: NVMe drive shows in lspci but not fdisk, no errors in journalctl

Here is journalctl output with a less restrictive regex to show all nvme related lines:

❯ journalctl -b -g 'nvme|0000:0[e41]'
Nov 20 09:09:35 arch kernel: pci 0000:01:00.0: [15b7:5030] type 00 class 0x010802 PCIe Endpoint
Nov 20 09:09:35 arch kernel: pci 0000:01:00.0: BAR 0 [mem 0xfcf00000-0xfcf03fff 64bit]
Nov 20 09:09:35 arch kernel: pci 0000:04:00.0: [15b7:5030] type 00 class 0x010802 PCIe Endpoint
Nov 20 09:09:35 arch kernel: pci 0000:04:00.0: BAR 0 [mem 0xfc700000-0xfc703fff 64bit]
Nov 20 09:09:35 arch kernel: pci 0000:0e:00.0: [144d:a808] type 00 class 0x010802 PCIe Endpoint
Nov 20 09:09:35 arch kernel: pci 0000:0e:00.0: BAR 0 [mem 0xfce00000-0xfce03fff 64bit]
Nov 20 09:09:35 arch kernel: pci_bus 0000:01: resource 1 [mem 0xfcf00000-0xfcffffff]
Nov 20 09:09:35 arch kernel: pci_bus 0000:04: resource 1 [mem 0xfc700000-0xfc7fffff]
Nov 20 09:09:35 arch kernel: pci_bus 0000:0e: resource 1 [mem 0xfce00000-0xfcefffff]
Nov 20 09:09:35 arch kernel: pci 0000:01:00.0: Adding to iommu group 15
Nov 20 09:09:35 arch kernel: pci 0000:04:00.0: Adding to iommu group 24
Nov 20 09:09:35 arch kernel: pci 0000:0e:00.0: Adding to iommu group 32
Nov 20 09:09:35 arch kernel: nvme nvme2: pci function 0000:0e:00.0
Nov 20 09:09:35 arch kernel: nvme nvme1: pci function 0000:04:00.0
Nov 20 09:09:35 arch kernel: nvme nvme0: pci function 0000:01:00.0
Nov 20 09:09:35 arch kernel: nvme 0000:04:00.0: enabling device (0000 -> 0002)
Nov 20 09:09:35 arch kernel: nvme nvme2: missing or invalid SUBNQN field.
Nov 20 09:09:35 arch kernel: nvme nvme2: D3 entry latency set to 8 seconds
Nov 20 09:09:35 arch kernel: nvme nvme2: 16/0/0 default/read/poll queues
Nov 20 09:09:35 arch kernel:  nvme2n1: p1
Nov 20 09:09:35 arch kernel: nvme nvme0: 16/0/0 default/read/poll queues
Nov 20 09:09:35 arch kernel:  nvme0n1: p1 p2 p3
Nov 20 09:09:35 arch kernel: EXT4-fs (nvme0n1p3): Supports (experimental) DIO atomic writes awu_min: 4096, awu_max: 4096
Nov 20 09:09:35 arch kernel: EXT4-fs (nvme0n1p3): mounted filesystem 87c66568-7293-45ac-96cb-240fd63af852 r/w with ordered data mode. Quota mode: none.
Nov 20 09:09:35 arch kernel: EXT4-fs (nvme0n1p3): re-mounted 87c66568-7293-45ac-96cb-240fd63af852.
Nov 20 09:09:35 arch kernel: Adding 67108860k swap on /dev/nvme0n1p2.  Priority:-2 extents:1 across:67108860k SS
Nov 20 09:09:35 arch systemd-fsck[545]: /dev/nvme0n1p1: 5 files, 38/130784 clusters
Nov 20 09:09:36 arch kernel: EXT4-fs (nvme2n1p1): mounted filesystem 1631f2fd-0517-4dd9-acac-b827a9d61a23 r/w with ordered data mode. Quota mode: none.
Nov 20 09:10:00 arch kernel: nvme nvme0: using unchecked data buffer
Nov 20 09:10:00 arch kernel: block nvme0n1: No UUID available providing old NGUID

For reference:
nvme0 / pci 0000:01 - working drive, same model as broken drive
nvme1 / pci 0000:04 - drive I need help with
nvme2 / pci 0000:0e - another working drive, different model than broken one

Last edited by MagnusVesper (2025-11-21 00:33:02)

Offline

#3 2025-11-21 00:51:20

cryptearth
Member
Registered: 2024-02-03
Posts: 2,089

Re: NVMe drive shows in lspci but not fdisk, no errors in journalctl

have you tried to plug the faulty drive into another m.2 slot?
hafe you tried swap the drives?
is the used m.2 slot nvme capable?
does tbe faulty drive show up in the uefi?
have you checked for bios update?
have you tried tge faulty drive in another system?
have you tried lts kernel / some live os?

it seems you currently focus on that being a software issue - but it could very well be a hardware problem

Offline

#4 2025-11-21 08:30:36

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,009

Re: NVMe drive shows in lspci but not fdisk, no errors in journalctl

The OP wrote:

I tried swapping the problematic drive with that 3rd drive, and nothing changes. The 3rd drive works fine in the motherboard M.2 slot.

PSA: do not grep unless you specifically know what you're grepping for. You're probably filtering relevant messages away.

Offline

Board footer

Powered by FluxBB