Gotta start somewhere ... how many of us are really out there?

User Freebsd freebsd at
Fri Aug 4 00:29:57 UTC 2006

On Fri, 4 Aug 2006, Antony Mawer wrote:

> On 4/08/2006 4:58 AM, User Freebsd wrote:
>> Getting a list of devices is actually pretty easy, and I've tried this on 
>> my 4.x machines also, so it isn't something that will be a problem on older 
>> versions:
>> # pciconf -l
>> chip0 at pci0:0:0: class=0x060000 card=0x00000000 chip=0x700c1022 rev=0x20 
>> hdr=0x00
> ...
>> And, more specifically, we can get:
>> # pciconf -l -v
>> asr0 at pci0:9:0:  class=0x010400 card=0xc0351044 chip=0xa5111044 rev=0x01 
>> hdr=0x00
>>     vendor   = 'Adaptec (Formerly: Distributed Processing Technology 
>> (DPT))'
>>     device   = 'Raptor SmartRAID Controller'
>>     class    = mass storage
>>     subclass = RAID
> All of the expanded 'vendor', 'device', 'class' and 'subclass' information is 
> present in the non -v version of the command output. The numbers shown 
> earlier can be used to derive the text information:
>    class=0x010400
>      determines the class/subclass lines, using the table from here:
>    card=0xc0351044 chip=0xa5111044
>      these make up the vendor and device lines, using the list in
>      /usr/share/misc/pci_vendors (which is derived from the PCIDEVS.TXT
>      listing).
>      The last 4 hex digits of the card and chip lines are the vendor ID
>      while the first 4 are the device ID. The card is often given by
>      the vendor, while the chip identifies the actual part it uses to
>      implement functionality. For instance, a Netcomm ethernet NIC may
>      use a Realtek 8139 chip... so chip gives us the fact it's
>      essentially a generic Realtek chipset, while the card tells us the
>      vendor who manufactured the card & perhaps their name for it.
> In short, there's no reason to have to transmit all the text names back to 
> any server -- this can all be resolved at the server end,

I was thinking of that ... my concern, and it may be totally invalid, but 
is it guaranteed to always translate the same?  ie:

fxp0 at pci2:8:0:  class=0x020000 card=0x10408086 chip=0x12298086 rev=0x10 
     vendor   = 'Intel Corporation'
     device   = '82550/1/7/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
     class    = network
     subclass = ethernet

Will that always translate the same regardless of running 4.x vs 5.x vs 
... ?  If so, you are right, that does greatly simplify things ... I just 
wasn't 100% certain ...

Marc G. Fournier           Hub.Org Networking Services (
Email . scrappy at                              MSN . scrappy at
Yahoo . yscrappy               Skype:        ICQ . 7615664

More information about the freebsd-questions mailing list