Jump to content

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


  • Please log in to reply
17 replies to this topic

#1
Rammjet

Rammjet

    InsanelyMac V.I.P.

  • Gurus
  • 5,302 posts
  • Gender:Male
[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.

#2
np101137

np101137

    Anonymac OS X

  • Members
  • PipPipPipPipPip
  • 300 posts
Nice guide Rammjet, thanks for the info!

#3
looper

looper

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
  • Gender:Male
Very informative, thanks!

#4
gely

gely

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
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.co....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.dataf...et.au/~dft0802/

hope this will help :dance_24:

Edited by gely, 26 December 2006 - 11:57 AM.


#5
gely

gely

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
for OSX (do not had testing yet) :

> hostinfo
> ioreg -bls
> system_profiler

---hope it works :]

#6
alfredo456

alfredo456

    InsanelyMac Protégé

  • Members
  • Pip
  • 44 posts
  • Gender:Male
  • Location:Torre del Mar (Spain)
Hello:


www.pcidatabase.com A huge list. Vendors and devices id are here.


Greetings...

#7
Proteo

Proteo

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 683 posts
  • Location:Parangaricutirimicuaro
Some days ago, Macgirl pointed this useful app:

http://v4.kazzuya.com/dpcimanager

It seems to work fine for me.

#8
joblo10

joblo10

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 270 posts
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

#9
macgirl

macgirl

    Stargate's Pharaoh

  • Retired
  • 7,615 posts
  • Gender:Female
  • Location:Mexico City
  • Interests:Techie gadgets
I think is more easy if you use DPCI Manager:
Posted Image

#10
ultimo

ultimo

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts
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 ?

#11
macgirl

macgirl

    Stargate's Pharaoh

  • Retired
  • 7,615 posts
  • Gender:Female
  • Location:Mexico City
  • Interests:Techie gadgets
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
...

#12
Guest: BuildSmart_*

Guest: BuildSmart_*
  • Guests

Some days ago, Macgirl pointed this useful app:

http://v4.kazzuya.com/dpcimanager

It seems to work fine for me.

Locating the author seems to be difficult.

#13
ultimo

ultimo

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts
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

#14
iSaint

iSaint

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
  • Gender:Male
  • Location: Mexico
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

#15
macgirl

macgirl

    Stargate's Pharaoh

  • Retired
  • 7,615 posts
  • Gender:Female
  • Location:Mexico City
  • Interests:Techie gadgets
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.
Attached File  Picture_1.png   72.29KB   329 downloads

#16
iSaint

iSaint

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
  • Gender:Male
  • Location: Mexico
@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

#17
jw8725

jw8725

    InsanelyMac Protégé

  • Members
  • Pip
  • 8 posts
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)

#18
Ma Wah Lun

Ma Wah Lun

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 posts
I'm a newbie to OSX86
It's really helpful to me!!!
Thanks for share!!!





3 user(s) are reading this topic

0 members, 3 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