Discussion:
Hardware List
(too old to reply)
图潘
2011-12-04 23:21:48 UTC
Permalink
Hi folks,

I am trying to build a freebsd hardware compatibility database merging it
with vendor hardware databases, so that searching for supported devices or
products will be easier than checking the man pages or the web.

Anyway, I checked the hardware release notes as a first start and stopped
at the statement.

Note: The device lists in this document are being generated automatically
from FreeBSD manual pages. This means that some devices, which are
supported by multiple drivers, may appear multiple times.

So, could anybody tell me how you generate this list.
I would use this script and generate a list, that more fits the structure
of the database.

regards
Christian Brueffer
2011-12-04 23:46:44 UTC
Permalink
Post by 图潘
Hi folks,
I am trying to build a freebsd hardware compatibility database merging it
with vendor hardware databases, so that searching for supported devices or
products will be easier than checking the man pages or the web.
Anyway, I checked the hardware release notes as a first start and stopped
at the statement.
Note: The device lists in this document are being generated automatically
from FreeBSD manual pages. This means that some devices, which are
supported by multiple drivers, may appear multiple times.
So, could anybody tell me how you generate this list.
I would use this script and generate a list, that more fits the structure
of the database.
The hardware notes are mostly compiled from the HARDWARE sections of the
section 4 manpages. The interesting files are the following:

src/release/doc/en_US.ISO8859-1/hardware/article.sgml
src/release/doc/share/misc/man2hwnotes.pl
src/release/doc/share/misc/dev.archlist.txt

doc/share/sgml/man-refs.ent

Note that there are still some "manual" entries in article.sgml.

Cheers,

Chris
图潘
2011-12-05 09:20:05 UTC
Permalink
I have looked at it, thank you, unfortunately it does not work as i had in
mind as I still have to identify the hardware itself, so I need to find out
the pci device id for each chipset (and/or vice versa).

In hardware terms, I am working with device ids and not with chipsets. Is
there also a document covering the ids itself?
Post by Christian Brueffer
Post by 图潘
Hi folks,
I am trying to build a freebsd hardware compatibility database merging it
with vendor hardware databases, so that searching for supported devices or
products will be easier than checking the man pages or the web.
Anyway, I checked the hardware release notes as a first start and stopped
at the statement.
Note: The device lists in this document are being generated automatically
from FreeBSD manual pages. This means that some devices, which are
supported by multiple drivers, may appear multiple times.
So, could anybody tell me how you generate this list.
I would use this script and generate a list, that more fits the structure
of the database.
The hardware notes are mostly compiled from the HARDWARE sections of the
src/release/doc/en_US.ISO8859-**1/hardware/article.sgml
src/release/doc/share/misc/man**2hwnotes.pl <http://man2hwnotes.pl>
src/release/doc/share/misc/**dev.archlist.txt
doc/share/sgml/man-refs.ent
Note that there are still some "manual" entries in article.sgml.
Cheers,
Chris
Ivan Voras
2012-01-11 15:37:57 UTC
Permalink
Post by 图潘
I have looked at it, thank you, unfortunately it does not work as i had in
mind as I still have to identify the hardware itself, so I need to find out
the pci device id for each chipset (and/or vice versa).
In hardware terms, I am working with device ids and not with chipsets. Is
there also a document covering the ids itself?
No, and since drivers are constantly updated to supports new devices,
the manuals often contain old and incomplete information.

Unfortunately there is also no standard way in which drivers would
present the list of all the devices they support, but it is often very
easy to find that out from the code. Almost all drivers begin with a
programmed list of their supported devices, looking similar to this in code:


static struct {
uint32_t id;
uint8_t rev;
const char *name;
int quirks;
} ahci_ids[] = {
{0x43801002, 0x00, "ATI IXP600", 0},
{0x43901002, 0x00, "ATI IXP700", 0},
{0x43911002, 0x00, "ATI IXP700", 0},
{0x43921002, 0x00, "ATI IXP700", 0},
{0x43931002, 0x00, "ATI IXP700", 0},
{0x43941002, 0x00, "ATI IXP800", 0},
{0x43951002, 0x00, "ATI IXP800", 0},
{0x06121b21, 0x00, "ASMedia ASM1061", 0},
{0x26528086, 0x00, "Intel ICH6", AHCI_Q_NOFORCE},
{0x26538086, 0x00, "Intel ICH6M", AHCI_Q_NOFORCE},
{0x26818086, 0x00, "Intel ESB2", 0},
{0x26828086, 0x00, "Intel ESB2", 0},
{0x26838086, 0x00, "Intel ESB2", 0},
{0x27c18086, 0x00, "Intel ICH7", 0},
{0x27c38086, 0x00, "Intel ICH7", 0},

Loading...