Jump to content

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


  • Please log in to reply
No replies to this topic

#1
PookyMacMan

PookyMacMan

    InsanelyMac Legend

  • Moderators
  • 1,462 posts
  • Gender:Male
  • Location:Earth–Western Hemisphere, specifically
  • Interests:Computer science, engineering, trumpet performance, and a host of others. :D
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). Attached File  lspci V1.1.zip   281.85KB   379 downloads 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.

Attached File  Hardware address LPCB device.png   144.04KB   233 downloads





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy