Jump to content
Rammjet

[How To] Tips for Finding Vendor and Device ID's

19 posts in this topic

Recommended Posts

[How To] Tips for Finding Vendor and Device ID's

 

The following explains what vendor and device id's are and how to find and use them in your installation.

 

Why Vendor and Device ID's

 

Every device that makes up a computer needs to have a unique identifier. The operating system uses this identifier to bind a driver to that device. The unique identifier is made up of an industry-assigned code for the vendor (manufacturer) of the device and a serial number for that device which is assigned by the vendor. Each of these two values is made up of 4 hexadecimal (hex) characters.

 

For instance, the vendor id of Intel is 0x8086, where the leading "0x" identifies this as a hex value. The actual vendor id is the 4 characters "8086".

 

OSX keeps a list of all vendor id's and device id's that are contained in the kexts installed in the system. When the computer is booted, OSX quizzes the ROM on each device to get its vendor and device id's. Then it uses its list to see if a match exists, and if it does, it binds the kext (driver) to that device.

 

How to Find Vendor and Device ID's

 

System Profiler is found in the Utilities folder of OSX. You can also access it through "About This Mac" by clicking the "More Info..." button.

 

Click on the device type (PCI, USB) in the left pane and find the device in the right pane. You should see a vendor id and a device id. You may have to click on the device in the right pane and read the values at bottom right.

 

If you cannot find the values there, then you should try reading them in Windows.

 

Windows - Go to Windows and open Device Manager. Find your device and get Properties for that device. Click the Details tab and read the vendor id and device id. The vendor id is the 4 characters after the letters "VEN_" and the device id is the 4 characters after the letters "DEV_".

 

If you do not find a Details tab in Device Manager, then read this.

 

If you do not have Windows on your computer, you can also use Linux.

 

Linux - use the "lspci" command. In Linux, read the "man" page for the command by typing: man lspci

 

Google - if all else fails, try Google. If you have a motherboard XYZ and want to find the vendor and device of the ethernet device, try a search like this: XYZ ethernet vendor device.

 

If you have a computer like a Dell ABC and want the wireless device, try a Google search like this: Dell ABC wireless vendor device.

 

Read several of the returned articles until you get 2 or 3 that agree on the correct values.

 

What the Vendor and Device ID's Mean

 

Once you have the vendor and device id's, you might want to verify that they are valid. To do that, you can use the Linux PCI ID Repository found here.

 

First, find your vendor id and read the entry for it to see if it sounds like it could be the vendor for your device. Then click on the vendor id in the left column and find your device id. Read the entry for that to see if it sounds like your device.

 

How Vendor and Device ID's Are Used in Kexts

 

The vendor and device ids are used in the kext (driver) to tell OSX to bind that particular kext to the device with the vendor/device id's. The id's are placed into the Info.plist file inside the kext. To see the Info.plist, right-click on the kext and select "Show Package Contents". Open the Contents folder and find the Info.plist. Drag and drop the Info.plist onto TextEdit (in Applications folder) to view the contents of the file.

 

The entry for the vendor and device ids can take different forms. There is no hard and fast rule, just observe what that particular kext uses and follow along. Here are some examples:

 

<key>IONameMatch</key>		  <key>IOPCIPrimaryMatch</key>   <key>IOPCIMatch</key>
<string>pci8086,27d8</string>   <string>0x27d88086</string>	<string>0x808627d8</string>

In this example, the vendor id is "8086" and the device id is "27d8". Chances are when you look at the Info.plist, your vendor id will match one that is already there. Use that as your clue as to the arrangement of the vendor and device id's. Otherwise, use the Linux PCI ID Repository explained above to help determine which is a vendor id and which is a device id. Then place your values in the same pattern.

Share this post


Link to post
Share on other sites
Advertisement

nice but only work for already "reconized" hardware.

 

You need (from windows) a tool like "udevices" to view all hardware (known and unknown).

I do not know if a same tool exist in osx ?

 

thanks for the tips :)

 

edited :

for mac (date of 1998) there is http://www.eskimo.com/~pristine/diag.html#pciprober

do not found any osx equivalent. keep searching.

 

from apple :

PCI DDK 1.1.1 Mac OS X (DMG)

10.0 MB 2002-05-01

This DDK (Driver Development Kit) will enable you to create Mac OS X Kext (kernel) drivers for PCI cards. Documentation, Samples, and Tools to get you started are included. To create OpenFirmware FCode drivers, please use the existing Tokenizer on the PCI DDK for Mac OS 9.

 

not tested : ftp://ftp.apple.com/developer/Development....1_Mac_OS_X.dmg

 

for windows : udevices :

 

unknown devices : http://www.halfdone.com/

and craig PCI database : http://members.datafast.net.au/~dft0802/

 

hope this will help :dance_24:

Edited by gely

Share this post


Link to post
Share on other sites

You can also get the pciutils package I built for Darwin OSX from http://x86dev.org. This is the same application that is include in the ToH DVD.

 

PCIUtils is the library which contains lspci, setpci and update-pciids.

 

Please come to this site for the latest version and to report any bugs/suggestions! :(

 

Cheers

Share this post


Link to post
Share on other sites

Hi MacGirl!

Does the DPCI Manager help in locate both the Device ID and the Vendor ID ?

If so, which one is what ?

For example in the screenshot, the last line is 8086:283e Intel Corporation 82801h(ICH8 Family) SMBus Controller.. is 8086 the vendor id / the device id ?

Share this post


Link to post
Share on other sites

Yes, in the picture all of the left values are the Vendor ID.

 

Exactly, 8086 is the Vendor ID of Intel (like one of their first processors).

 

10de = Nvidia

14e4 = Broadcom

...

Share this post


Link to post
Share on other sites

Thanks for the Quick reply & the Info!

 

am trying to get the Azalia thingy work for the ADI 1988b on the Asus m2n sli Deluxe MoBo

Share this post


Link to post
Share on other sites

This goes to MacGirl,

 

In the screencap of DPCI Manager it shows the Intel PRO/Wireless 3945ABG (8086:4222) as recognized, is that true? if so, how did you do it? I'm having problems configuring my Pavillion dv6256us, I'm using Kalyway 10.5.2 Mac OS X DVD but it won't recognize the Intel/PRO Wireless and the Intel/PRO VE Network card

Share this post


Link to post
Share on other sites

One thing is DPCI reporting devices and another that they have working drivers.

 

My card reader is reported on DPCI but there is no kext or driver that recognizes it.

 

3945 and 6945 Intel WiFi cards has no working driversm there is a development effort, see the Hardware Forum.

 

Here is DPCI on my AMD Rig, notice my Audigy Audio card, my TV Card (booktree) and my WiFi Ralink RT61 card, none of them have working drivers.

Picture_1.png

Share this post


Link to post
Share on other sites

@macgirl

 

Thanks, I thought DPCI Manager reported working drivers B) .Anyway, I finally managed to make my Intel PRO/100 VE NIC work. It runs smoothly, so far. I'll be checking out future developments for the 3945ABG drivers, hope to have it working soon

 

Cheers

Share this post


Link to post
Share on other sites

hi can someone help me out. I'm doing it the Windows way in Device manager. Only that I have a billion other options in the details tab.

 

Which specific header do I look under? I cannot find one called Vendor ID (pardon me I'm a noob)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×