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
[EMAIL PROTECTED]:0:0: class=0x060000 card=0x00000000 chip=0x700c1022 rev=0x20 hdr=0x00
...
And, more specifically, we can get:

# pciconf -l -v
[EMAIL PROTECTED]: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:
     http://fxr.watson.org/fxr/source/dev/pci/pci.c#L1340

   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:

[EMAIL PROTECTED]:8:0: class=0x020000 card=0x10408086 chip=0x12298086 rev=0x10 hdr=0x00
    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 (http://www.hub.org)
Email . [EMAIL PROTECTED]                              MSN . [EMAIL PROTECTED]
Yahoo . yscrappy               Skype: hub.org        ICQ . 7615664
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to