Jump to content
Sign in to follow this  
Followers 0

What are vendor and device IDs and how do I use them?

1 post in this topic

Recommended Posts

What are these mysterious vendor and device IDs?

Every device in your system has a vendor ID (the ID of the manufacturer) and a device ID (The ID for your specific device), together forming a PCI ID.


Not only do devices have vendor and device IDs, they also have subsystem-vendor IDs and subsystem IDs as well.


How are these IDs useful?

If you are patching a kext (Apple's equivalent to a Windows driver), you need to know your PCI ID so you can insert it in your controller (for more info on kext patching, see the appropriate FAQ). Patching kexts can make them usable on your particular system so a piece of your hardware has a driver.


The subsystem IDs are sometimes used to patch Wireless and sound drivers.


Where can I find these IDs?

It depends on your operating system:


Windows: You can use the program Unknown Devices, the Windows port of System Info, or Device Manager. Unknown Devices and System Info are fairly self-explanatory, but if you use Device Manager, right-click your device, choose Properties, click the Details tab, and from the pop-up menu select Hardware IDs (Vista/7) or Device Instance IDs (XP). Beside VEN_ is your 4-digit vendor ID and beside DEV_ is your 4-digit device ID. For subsystem IDs, look for SUBSYS_. There will be 8 digits afterwards; the first four are the subsystem-vendor ID and the latter four are the subsystem ID.


Linux: From an installation or a Live CD, open the Terminal and type lspci -nn > ~/Desktop/pci_ids.txt. This will make a document with all of your PCI IDs called pci_ids.txt on the Desktop. If you also need subsystem IDs to be listed, you would type lspci -nnvv > ~/Desktop/pci_ids.txt.


Mac OS X: There is a Mac port of lspci available (of which the Terminal instruction is the same as in Linux), as well as System Info (link above). lspci V1.1.zip Note, however, that the Mac port installs a driver, which requires a restart, so a restart is necessary before running lspci in Mac OS.


About lspci: not only can lspci be used for finding PCI IDs, it can also identify devices in DSDT, which is very helpful considering that DSDT devices are very cryptic. An example is laid out below.


Hardware address LPCB device.png

Share this post

Link to post
Share on other sites
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.