Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

volo

macrumors newbie
Original poster
Sep 21, 2023
5
0
Hi all, has anyone ever attempted to build a complete database of PCI devices found on MacBook/Pro and Mac computers?
If not, would you be willing to help me with building one? :)

The intention is to improve Mac/MacBook hardware support by the non-Apple OSes (Linux, BSD, Haiku etc).

If you're willing to help, the best way would be to download the dscpi binary from the DCPIManager project here: https://github.com/MuntashirAkon/DPCIManager/releases/tag/2.0, make it executable and run the following command:

sysctl -n hw.model; ./dspci

Then please share the output, which can look like this:

Code:
MacBookPro18,3
Using PCI.IDs 2019.04.04
00:00.0 PCI bridge [0604]: Apple Inc. (null) [106b:100c] (rev 01)
00:00.0 PCI bridge [0604]: Apple Inc. (null) [106b:100f]
00:00.0 PCI bridge [0604]: Apple Inc. (null) [106b:100f]
00:00.0 PCI bridge [0604]: Apple Inc. (null) [106b:100f]
00:01.0 PCI bridge [0604]: Apple Inc. (null) [106b:100c] (rev 01)
01:00.0 SD Host controller [0805]: Genesys Logic, Inc (null) [17a0:9755] (rev 01) (subsys 17a0:9755)
02:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries (null) [14e4:4433] (rev 07) (subsys 106b:4387)
02:00.1 Network controller [0280]: Broadcom Inc. and subsidiaries (null) [14e4:5f71] (rev 07) (subsys 106b:4387)

If you don't want to download a third-party command line tool, another option is to run the built-in ioreg command like the following:

sysctl -n hw.model ; ioreg -lx |grep -E '"(.*vendor-id|device-id|subsystem-id|revision-id|IOName)" = (<....0000>|"pci.*")'

On my M1 Pro laptop the output is the following:

Code:
MacBookPro18,3
    | |   | |   "vendor-id" = <ac050000>
    | |   |   | |   "vendor-id" = <6b100000>
    | |   |   | |   "IOName" = "pci-bridge"
    | |   |   | |   "device-id" = <0c100000>
    | |   |   | |   "revision-id" = <01000000>
    | |   |   |   | |   "vendor-id" = <e4140000>
    | |   |   |   | |   "subsystem-vendor-id" = <6b100000>
    | |   |   |   | |   "IOName" = "pci14e4,4433"
    | |   |   |   | |   "subsystem-id" = <87430000>
    | |   |   |   | |   "device-id" = <33440000>
    | |   |   |   | |   "revision-id" = <07000000>
    | |   |   |     |   "vendor-id" = <e4140000>
    | |   |   |     |   "subsystem-vendor-id" = <6b100000>
    | |   |   |     |   "IOName" = "pci14e4,5f71"
    | |   |   |     |   "subsystem-id" = <87430000>
    | |   |   |     |   "device-id" = <715f0000>
    | |   |   |     |   "revision-id" = <07000000>
    | |   |     |   "vendor-id" = <6b100000>
    | |   |     |   "IOName" = "pci-bridge"
    | |   |     |   "device-id" = <0c100000>
    | |   |     |   "revision-id" = <01000000>
    | |   |         |   "IOName" = "pci17a0,9755"
    | |   |         |   "revision-id" = <01000000>
    | |   |         |   "subsystem-vendor-id" = <a0170000>
    | |   |         |   "device-id" = <55970000>
    | |   |         |   "subsystem-id" = <55970000>
    | |   |         |   "vendor-id" = <a0170000>
    | |   |     |   "vendor-id" = <6b100000>
    | |   |     |   "IOName" = "pci-bridge"
    | |   |     |   "device-id" = <0f100000>
    | |   |     |   "revision-id" = <00000000>
    | |   |     |   "vendor-id" = <6b100000>
    | |   |     |   "IOName" = "pci-bridge"
    | |   |     |   "device-id" = <0f100000>
    | |   |     |   "revision-id" = <00000000>
    | |   |     |   "vendor-id" = <6b100000>
    | |   |     |   "IOName" = "pci-bridge"
    | |   |     |   "device-id" = <0f100000>
    | |   |     |   "revision-id" = <00000000>
    | |   |   |   "vendor-id" = <6b100000>

I'll create a GitHub project containing the received data in the Wiki format. If there is a similar project already, I'd be happy to contribute to it.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.