[DB] BIOS - ACPI - collecte d'infos

Bonjour,

Je viens faire l’écho d’un post que j’ai initialement envoyé sur le forum de Fedora. En fait cela de rapport avec aucune distribution particulière, cela concerne le problème des BIOS dont vous avez sûrement entendu parler via Phoronix… bref, pour faire simple voici le topo.


Beaucoup d’entre nous ici on sûrement suivi les “régressions” du noyau Linux qu’a soulevé Phoronix depuis quelques semaines. Je ne vais pas répéter tout ce qu’il a été dit depuis, si ce n’est que les véritables coupables dans toute cette histoire sont les BIOS mal programmés. Pas mal d’informations à ce sujet peuvent être collectés sur linuxfr.org ( lwn.net/Articles/449448/ ) et sûrement ailleurs.

La plupart du temps le BIOS est programmé en assembleur. Comme partout en informatique, il est important d’avoir un BIOS qui respecte des normes, notamment l’ACPI. Les tables ACPI ( acpica.org/ ) qui est intégrée dans Linux. Pour informations, la norme ACPI est co-développée par Intel, Microsoft, Toshiba, HP, Poenix et peut-être d’autres. Ceci dit, cela ne signifie pas qu’ils implémentent eux-mêmes correctement cette norme. Microsoft fait bien partie du W3C et pourtant on voit son support du HTML, CSS, etc.

D’après ce que j’ai pu retenir de ces derniers évènements, c’est que Microsoft (via son compilateur ACPI) laisse passer plus facilement des “erreurs” tout en sachant qu’il saura les traiter ou les contourner dans son OS Windows. Évidemment, cela peut résulter en des BIOS plus ou moins bugués qui pénalisent les autres OS. Les fabricants de cartes mères (de BIOS plus précisément) ont la possibilité d’utiliser le compilateur ACPI de leur choix. Avez-vous déjà constater sur de nombreux sites de constructeurs des logo “XXX recommande Windows”. Personnellement je ne trouve pas cela attirant et justement je me pose des questions sur le bon support de Linux. Est-ce que les BIOS sont testés uniquement en conjonction avec Windows ?

C’est pour cela que je souhaite collecter ici (ce même sujet est également posté sur Fedora-fr.org, ArchLinux.fr et Ubuntu-fr.org afin de collecter plus d’informations) des informations sur les BIOS : avec quel compilateur les constructeurs ont assemblé leurs tables ACPI. Pour le savoir, c’est très simple :

1ÈRE ÉTAPE
[b]# apt-get install pmtools

acpidump > acpi

acpixtract -l acpi[/b]

Postez le résultat ici, en indiquant votre carte mère (vous pouvez obtenir cette info avec ‘dmidecode’) et la version du BIOS. Je me chargerais de mettre à jour le tableau ici en première page. J’ai moi-même testé plusieurs cartes mères.

2ÈME ÉTAPE
Intel a fournit un Linux Firmware Kit, disponible en LiveCD (79 Mo) ( linuxfirmwarekit.org/download/firmwarekit-r3.iso ). Il suffit de lancer le LiveCD, d’attendre 1 à 2 minutes, et cela vous indique les résultats portant sur différentes thématiques. Vous aurez le nombre de tests “Fail”, “Warn” et “Pass”. Ce Linux Firmware Kit ne semble plus être développé mais je trouve qu’il permet de ce rendre compte de la bonne programmation des BIOS, et par conséquent d’avoir une idée de la fiabilité des BIOS.

RÉSULTATS
Lorsque la case est vide, c’est que la table n’existe pas.
Lorsqu’il y a marqué ‘–’ c’est que rien n’est indiqué.

Afin d’avoir une mise en forme du tableau correcte je l’ai uploadé sur Google Docs, j’espère que la mise en forme n’est pas trop merdique.
spreadsheets.google.com/spreads … utput=html

  • Pour une signification des tables : fr.wikipedia.org/wiki/ACPI#Tables_ACPI
  • Code des compilateurs :
    MSFT : Microsoft
    INTL : Intel
    GBTU : Gigabyte Technology ?
    AWRD : AwardBIOS ?
    BG : ?
    TASM : Toshiba Assembleur ?

Personnellement, j’aimerais bien avoir un retour d’informations avec des cartes mères Intel, Super Micro et Tyan.

Il est bon de noter également que certaines marques indiquent la compatibilité de leurs cartes pour certains types de systèmes d’exploitations, par exemple :
fr.asus.com/Static_WebPage/Compa … loitation/
tyan.com/tech/OS_Support_AMDFedora.aspx
keynux.com/default_zone/fr/html/Prod_Linux.php

Infos sur le BIOS :

Vendor: American Megatrends Inc.
Version: VXS2UF10
Release Date: 02/09/2007
BIOS Revision: 8.13

Infos sur la carte mère :

Base Board Information
Manufacturer: To be filled by O.E.M.
Product Name: To be filled by O.E.M.
Version: To be filled by O.E.M.
Serial Number: To be filled by O.E.M.
Asset Tag: To Be Filled By O.E.M.

[code]root@laptop:/home/patrick# acpixtract -l acpi

Signature Length OemId OemTableId OemRevision CompilerId CompilerRevision

DSDT   20342  "VXS2UF"  "VXS2UF10"    00000010    "INTL"     02002026
FACS      64
FACP     132  "A M I "  "OEMFACP "    02000709    "MSFT"     00000097
APIC      92  "A M I "  "OEMAPIC "    02000709    "MSFT"     00000097
MCFG      60  "A M I "  "OEMMCFG "    02000709    "MSFT"     00000097
SLIC     374  "A M I "  "OEMSLIC "    02000709    "MSFT"     00000097
OEMB      92  "A M I "  "AMI_OEM "    02000709    "MSFT"     00000097
ASF!     117  "LEGEND"  "I865PASF"    00000001    "INTL"     02002026
RSDT      60  "A M I "  "OEMRSDT "    02000709    "MSFT"     00000097
RSDP          "ACPIAM"

Found 10 ACPI tables [20060324][/code]

Merci pour ta contribution, malheureusement sans le modèle (ou au moins la marque) de la carte mère, je ne peux pas l’ajouter dans le tableau.

information sur le bios et la carte

BIOS Information
Vendor: INSYDE
Version: 1.30
Release Date: 03/19/2008
ROM Size: 1024 kB
System Information
Manufacturer: TOSHIBA
Product Name: Satellite Pro L300
Version: PSLB1E-01F005FR
Base Board Information
Manufacturer: Intel Corp.
Product Name: Base Board Product Name
Version: Base Board Version
Serial Number: Base Board Serial Number
Asset Tag: Base Board Asset Tag
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: Base Board Chassis Location
Chassis Handle: 0x0003
Type: Motherboard
Contained Object Handles: 0

informations ACPI

[code]Signature Length OemId OemTableId OemRevision CompilerId CompilerRevision

DSDT   30907  "TOSINV"  "TOSINV00"    00000001    "MSFT"     01000013
FACS      64
FACP     244  "TOSINV"  "TOSINV00"    00000001    "MSFT"     01000013
APIC     104  "TOSINV"  "TOSINV00"    00000001    "MSFT"     01000013
HPET      56  "TOSINV"  "TOSINV00"    00000001    "MSFT"     01000013
MCFG      60  "TOSINV"  "TOSINV00"    00000001    "MSFT"     01000013
ASF!     165  "TOSINV"  "TOSINV00"    00000001    "MSFT"     01000013
SLIC     374  "TOSINV"  "TOSINV00"    00000001    "MSFT"     01000013
BOOT      40  "TOSINV"  "TOSINV00"    00000001    "MSFT"     01000013
SSDT    1220  "PmRef "  "CpuPm   "    00003000    "INTL"     20051117
XSDT     100  "TOSINV"  "TOSINV00"    00000001    "    "     01000013
RSDP          "TOSINV"

Found 12 ACPI tables [20060324]
[/code]

J’ai acheté mon laptop chez l’assembleur Keynux donc c’est peut-être pour ça qu’il n’y a pas toutes les infos sur la carte mère.

Tu as le nom du modèle du Keynux ?

Salut

Voilà sur mon netbook Samsung NC110 :

# acpixtract -l acpi

Signature Length  OemId     OemTableId   OemRevision CompilerId CompilerRevision

    DSDT   24456  "INTEL "  "BEARG31A"    06040000    "MSFT"     03000001
    FACS      64
    FACP     244  "INTEL "  "        "    06040000    "PTL "     00000002
    MCFG      60  "PTLTD "  "  MCFG  "    06040000    " LTP"     00000000
    HPET      56  "PTLTD "  "HPETTBL "    06040000    " LTP"     00000001
    APIC     104  "PTLTD "  "  APIC  "    06040000    " LTP"     00000000
    BOOT      40  "PTLTD "  "$SBFTBL$"    06040000    " LTP"     00000001
    SLIC     374  "SECCSD"  "LH43STAR"    06040000    " LTP"     00000000
    SSDT     607  "PmRef "  "Cpu0Tst "    00003000    "INTL"     20050624
    SSDT     166  "PmRef "  "Cpu3Tst "    00003000    "INTL"     20050624
    SSDT     166  "PmRef "  "Cpu2Tst "    00003000    "INTL"     20050624
    SSDT     166  "PmRef "  "Cpu1Tst "    00003000    "INTL"     20050624
    SSDT    2508  "PmRef "  "CpuPm   "    00003000    "INTL"     20050624
    XSDT     124  "SECCSD"  "LH43STAR"    06040000    " LTP"     00000000
    RSDP          "PTLTD "

Found 15 ACPI tables [20060324]

Base Board Information
Manufacturer: SAMSUNG ELECTRONICS CO., LTD.
Product Name: NC210/NC110
Version: Not Applicable
Serial Number: 123490EN400015

BIOS Information
Vendor: Phoenix Technologies Ltd.
Version: 00VG.M000.20110105.RHU
Release Date: 01/05/2011
Address: 0xE61F0
Runtime Size: 106000 bytes
ROM Size: 2048 kB
BIOS Revision: 0.0

Updated.

Salut,

Déjà, pour faire un acpidump, il faut l’installer, et ce n’est pas mentionné au début du tuto.
Voici les infos:
La carte est une ASUS P5Q-E

# dmidecode 2.9
SMBIOS 2.5 present.
74 structures occupying 2633 bytes.
Table at 0x000F0730.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
	Vendor: American Megatrends Inc.
	Version: 2101   
	Release Date: 04/06/2009
	Address: 0xF0000
	Runtime Size: 64 kB
	ROM Size: 2048 kB
	Characteristics:
		ISA is supported
		PCI is supported
		PNP is supported
		APM is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		ESCD support is available
		Boot from CD is supported
		Selectable boot is supported
		BIOS ROM is socketed
		EDD is supported
		5.25"/1.2 MB floppy services are supported (int 13h)
		3.5"/720 KB floppy services are supported (int 13h)
		3.5"/2.88 MB floppy services are supported (int 13h)
		Print screen service is supported (int 5h)
		8042 keyboard services are supported (int 9h)
		Serial services are supported (int 14h)
		Printer services are supported (int 17h)
		CGA/mono video services are supported (int 10h)
		ACPI is supported
		USB legacy is supported
		LS-120 boot is supported
		ATAPI Zip drive boot is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
	BIOS Revision: 21.1

[... le reste n'avait pas l'air interressant]

[18:11]louis@NZXT:~$ sudo acpidump > dump 
Wrong checksum for generic table!
[18:12]louis@NZXT:~$ sudo acpixtract -l dump  

Signature Length  OemId     OemTableId   OemRevision CompilerId CompilerRevision

    DSDT   38689  "A0986 "  "A0986000"    00000000    "INTL"     20060113
    FACS      64
    FACP     244  "A_M_I_"  "OEMFACP "    04000906    "MSFT"     00000097
    APIC     108  "A_M_I_"  "OEMAPIC "    04000906    "MSFT"     00000097
    MCFG      60  "A_M_I_"  "OEMMCFG "    04000906    "MSFT"     00000097
    OEMB     137  "A_M_I_"  "AMI_OEM "    04000906    "MSFT"     00000097
    HPET      56  "A_M_I_"  "OEMHPET "    04000906    "MSFT"     00000097
    OSFR     176  "A_M_I_"  "OEMOSFR "    04000906    "MSFT"     00000097
    SSDT    2684  "DpgPmm"  "CpuPm   "    00000012    "INTL"     20060113
    XSDT      92  "A_M_I_"  "OEMXSDT "    04000906    "MSFT"     00000097
    RSDP          "ACPIAM"

Found 11 ACPI tables [20060324]

Si quelqu’un passant par là possède une carte Abit ou Intel, je lui serais très reconnaissant s’il pouvait me retourner un résultat du Linux-ready Firmware Kit. Ça me permettrait de commencer à faire un petit bilan sur les BIOS. J’ai des données Abit sur une seule carte et comme elle est très bonne j’aimerais savoir si c’est pareil sur tous les modèles. Et inversement pour Intel, je pensais avoir un bon résultat mais non…

Carte Zotac Geforce9300-ITX WIFI

[quote]Signature Length OemId OemTableId OemRevision CompilerId CompilerRevision

DSDT   32610  "NVIDIA"  "NVDAACPI"    00001000    "MSFT"     03000000
FACS      64
FACP     116  "Nvidia"  "NVDAACPI"    42302E31    "NVDA"     00000000
HPET      56  "Nvidia"  "NVDAACPI"    42302E31    "NVDA"     00000098
MCFG      60  "Nvidia"  "NVDAACPI"    42302E31    "NVDA"     00000000
APIC     152  "Nvidia"  "NVDAACPI"    42302E31    "NVDA"     00000000
SSDT    1424  "PmRef "  "CpuPm   "    00003000    "INTL"     20040311
RSDT      56  "Nvidia"  "NVDAACPI"    42302E31    "NVDA"     00000000
RSDP          "Nvidia"

Found 9 ACPI tables [20060324][/quote]

Voilà pour moi :
BIOS Information
Vendor: TOSHIBA
Version: V2.20
Release Date: 06/04/2009
Address: 0xE3010
Runtime Size: 118768 bytes
ROM Size: 64 kB
Characteristics:
ISA is supported
PCI is supported
PC Card (PCMCIA) is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
ACPI is supported
USB legacy is supported
AGP is supported
BIOS boot specification is supported
Targeted content distribution is supported
BIOS Revision: 2.32
Firmware Revision: 2.32

Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: TOSHIBA
Product Name: Qosmio F50
Version: PQF55E-048046FR
Serial Number: 59188680K
UUID: E596BB09-2B8B-11DE-B7AB-00235A0A40EB
Wake-up Type: Power Switch
SKU Number: 012345678912345678912345678
Family: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Handle 0x0002, DMI type 2, 8 bytes
Base Board Information
Manufacturer: TOSHIBA
Product Name: JSKAA
Version: 1.00
Serial Number: 0123456789AB

Handle 0x0003, DMI type 3, 17 bytes
Chassis Information
Manufacturer: TOSHIBA
Type: Notebook
Lock: Not Present
Version: N/A
Serial Number: None
Asset Tag: *
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: None
OEM Information: 0x00001234

Signature Length OemId OemTableId OemRevision CompilerId CompilerRevision

DSDT   32591  "Intel "  "CANTIGA "    06040000    "INTL"     20060608
FACS      64
FACP     244  "TOSCPL"  "CRESTLNE"    06040000    "ALAN"     00000001
HPET      56  "INTEL "  "CRESTLNE"    06040000    "LOHR"     0000005A
MCFG      60  "INTEL "  "CRESTLNE"    06040000    "LOHR"     0000005A
SLIC     374  "TOSCPL"  "TOSCPL00"    06040000    "LOHR"     00000000
OSFR     114  "TOSHIB"  "A+2nd ID"    06040000    "TASM"     04010000
APIC     104  "PTLTD "  "  APIC  "    06040000    " LTP"     00000000
BOOT      40  "PTLTD "  "$SBFTBL$"    06040000    " LTP"     00000001
SSDT    1621  "PmRef "  "CpuPm   "    00003000    "INTL"     20050624
XSDT     100  "TOSCPL"  "TOSCPL00"    06040000    " LTP"     00000000

PS : mon DSDT.dsl, au cas ou ça servirait :wink:
DSDT.txt (345 KB)

Merci, j’ai ajouté ces infos.
(désolé pour le temps de réaction, c’est les vacances :wink:

up :041