Je me présente, je suis responsable du projet XLine qui contient entre autre la librairie detect que j'avais développé pour Mandrake à l'époque. J'ai remis au goût du jour la librairie mais la base de données de matériel est lourde à maintenir.
Aussi pour éviter un travail de redondance il serait bon d'uniformiser nos bases, actuellement j'utilise le format des pciutils avec deux champs en plus indiquant: -Le module du noyau/le module X.org -Le type de matériel Ci-joint un fichier détaillant la structure de la base. Quand je travaillais chez Mandrake j'avais à disposition des moulinettes pour me mâcher le travail, entendez par là pour convertir les pcitable(format utilisé par la procédure d'installation Mandrake) vers le format lst(format que j'utilise). Evidemment pour chaque type de ports il y a une base. Par exemple pcmcia.lst, pci.lst, usb.lst etc... l'avantage est que les routines de lectures restent identiques à chaque fois. Pour l'instant je suis en train de convertir aussi le dernier bastion isa.lst qui jusqu'à maintenant utilisais un format un peu barbare. J'attends vos commentaires. Alexandre. -- XLine developpment responsable: http://www.xline.fr
Since detect 0.9.29 a new format is being used in the pci.lst file. The following is a procedure to add entries or update this file. a) Preliminary: =============== Download the detect package and install it (http://www.xline/download.html) After the installation procedure is completed, copy the file /usr/share/detect/pci.lst to your home directory. Now use your favorite editor to edit the copy. b) Structure of pci.lst: ======================== If you take a look at the structure of the pci.lst file you'll see something like this: +----8<--------------------------------------------------------------- |0000 Gammagraphx, Inc. |001a Ascend Communications, Inc. |003d Lockheed Martin-Marietta Corp |0675 Dynalink | 06751700 unknown unknown IS64PH ISDN Adapter | 06751702 unknown unknown IS64PH ISDN Adapter |0e11 Compaq Computer Corporation | 0e110001 unknown unknown PCI to EISA Bridge | 0e110002 unknown unknown PCI to ISA Bridge +----8<--------------------------------------------------------------- - Description of the entries: You'll notice that there are lines aligned to the first column and other lines aligned to column eight. The lines aligned to column one are entries for vendors. * The first field is the 'vendor id' and is unique for each vendor/manufacturer. * The second field is the 'vendor name'. The lines aligned to columen eight are devices made by a given vendor. The devices are listed immediately after their manufacturer. * The first field --------------- is the 'vendor id' concatened with the device 'model id', and we'll call it 'device id' To obtain the 'device id' for each one of the boards installed in your computer, perform the following steps +----8<--------------------------------------------------------------- |[EMAIL PROTECTED] alex]$cat /proc/bus/pci/devices |0000 10b91541 0 e0000000 00000000 |00000000 00000000 00000000 00000000 00000000 |0008 10b95243 0 00000000 00000000 |00000000 00000000 00000000 00000000 00000000 |0018 10b97101 0 00000000 00000000 |00000000 00000000 00000000 00000000 00000000 |0038 10b91533 0 00000000 00000000 |00000000 00000000 00000000 00000000 00000000 |0050 10b79055 5 0000d801 df000000 |00000000 00000000 00000000 00000000 00000000 |0060 53338a01 9 d8000000 00000000 |00000000 00000000 00000000 00000000 000c0000 |0078 10b95229 0 00000000 00000000 |00000000 00000000 0000d401 00000000 00000000 +----8<--------------------------------------------------------------- Here, the important field is the second one, which is the 'device id'. Now use the file /usr/include/linux/pci.h to see what is the vendor and the model. But I recommend to use the fabulous program lspcidrake ;) : +----8<--------------------------------------------------------------- |[EMAIL PROTECTED] alex]$ lspcidrake |Acer Laboratories Inc. [ALi]|M1541 (unknown unknown) |Acer Laboratories Inc. [ALi]|M5243 (unknown unknown) |Acer Laboratories Inc. [ALi]|M7101 (unknown unknown) |Acer Laboratories Inc. [ALi]|M1533 [Aladdin IV] (unknown unknown) |3Com Corporation|3c905B 100BaseTX [Cyclone] (NETWORK_ETHERNET 3c59x) |S3 Inc.|ViRGE/DX or /GX (DISPLAY_VGA Card:S3 ViRGE (generic)) |Acer Laboratories Inc. [ALi]|M5229 (STORAGE_IDE unknown) +----8<--------------------------------------------------------------- * Second field: [type of the logical device] ------------------------------------------ (mpu401 port, audiodrive, scsi interface...). Detect uses keywords for this: bridge: For bridges (e.g. PCI<->ISA). ethernet: For ethernet device network. ide: For ide interface. modem: For modem card. pcmcia: For pcmcia interface. pmc: For power management controller. scsi: For scsi interface. sound: For soundcard. tvcard: For tvcard. usb: For usb interface. video: For videocard. wireless For wirelesscard. * Third field: [kernel module name used to drive the device] ---------------------------------------------------------- * Fourth field: [model name]. -------------------------- c) Adding a new line: ===================== Use the format described above to create a line for each logical device and put them in the pci.lst file, in ascending alphabetical order. d) Updating a line: =================== You'll notice that the current pci.lst file has many entries with one or more fields set to 'unknown'. I hope this situation will be solved as soon as possible with the help of the community.
