Page 1 of 1

Detecting the PCI controllers on my laptop

Posted: Sat Dec 09, 2023 7:39 am
by clementttttttttt
My laptop seems to have a funky pci arrangement that I'm not sure on how to detect (host bridge at 0,0,0 and two pci controllers), how can I do it

my lspci output:

Code: Select all

0000:00:00.0 Host bridge: Intel Corporation Device 4621 (rev 02)
0000:00:01.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x16 Controller #1 (rev 02)
0000:00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] (rev 0c)
0000:00:04.0 Signal processing controller: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant (rev 02)
0000:00:06.0 System peripheral: Intel Corporation RST VMD Managed Controller
0000:00:07.0 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 02)
0000:00:08.0 System peripheral: Intel Corporation 12th Gen Core Processor Gaussian & Neural Accelerator (rev 02)
0000:00:0d.0 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller (rev 02)
0000:00:0d.2 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0 (rev 02)
0000:00:0e.0 RAID bus controller: Intel Corporation Volume Management Device NVMe RAID Controller
0000:00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)
0000:00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
0000:00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01)
0000:00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
0000:00:15.1 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 (rev 01)
0000:00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)
0000:00:1d.0 PCI bridge: Intel Corporation Device 51b3 (rev 01)
0000:00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01)
0000:00:1f.3 Multimedia audio controller: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)
0000:00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
0000:00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
0000:01:00.0 VGA compatible controller: NVIDIA Corporation GA107M [GeForce RTX 3050 Mobile] (rev a1)
0000:01:00.1 Audio device: NVIDIA Corporation Device 2291 (rev a1)
0000:2b:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Device 2600 (rev 21)
10000:e0:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)
10000:e1:00.0 Non-Volatile memory controller: Micron Technology Inc 3400 NVMe SSD [Hendrix]

Re: Detecting the PCI controllers on my laptop

Posted: Sat Dec 09, 2023 2:38 pm
by sounds
I think that's a 600 series integrated chipset with CNVi WiFi.

Re: Detecting the PCI controllers on my laptop

Posted: Sat Dec 09, 2023 4:29 pm
by Octocontrabass

Code: Select all

0000:00:0e.0 RAID bus controller: Intel Corporation Volume Management Device NVMe RAID Controller
VMD is basically a PCIe bridge.

Code: Select all

10000:e0:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)
10000:e1:00.0 Non-Volatile memory controller: Micron Technology Inc 3400 NVMe SSD [Hendrix]
These devices are behind the VMD bridge.

If you disable VMD in the firmware setup, you should be able to enumerate all PCIe devices like normal. If you can't or don't want to do that, you'll need to write a driver for VMD to access devices behind it.

Re: Detecting the PCI controllers on my laptop

Posted: Sat Dec 09, 2023 6:20 pm
by clementttttttttt
Octocontrabass wrote:

Code: Select all

0000:00:0e.0 RAID bus controller: Intel Corporation Volume Management Device NVMe RAID Controller
VMD is basically a PCIe bridge.

Code: Select all

10000:e0:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)
10000:e1:00.0 Non-Volatile memory controller: Micron Technology Inc 3400 NVMe SSD [Hendrix]
These devices are behind the VMD bridge.

If you disable VMD in the firmware setup, you should be able to enumerate all PCIe devices like normal. If you can't or don't want to do that, you'll need to write a driver for VMD to access devices behind it.
that was indeed the issue, tysm