Firmware Test Suite

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Verwenden eines PPAs, optional

  3. Root-Rechte erlangen

  4. Ein Terminal benutzen

Inhaltsverzeichnis
  1. Installation
  2. Syntax
  3. Optionen/Module
  4. Beispiele
  5. Links

fwts.png fwts (für firmware test suite) ist ein Programm, das von Intel initiiert und von Canonical bzw. Colin King weitergeführt wird. Das Programm wird auf der Kommandozeile gestartet und führt einen "Gesundheitscheck" des BIOS/UEFI und dessen Interaktion mit dem Kernel durch. Es werden BIOS-Tabellen ausgelesen (teilweise disassembliert), Systeminformationen gesammelt, Kernelfunktionen überprüft, aber auch Log- oder Dumpdateien ausgewertet. Je nach Auswertungsart werden sehr viele Ausgaben erzeugt, daher ist das Programm sehr umfangreich konfigurierbar. Dies betrifft die Auswertungen und Eingaben ebenso wie die Erzeugung und Druckaufbereitung der Ergebnisse.

Installation

Das Programm ist in den Paketquellen enthalten und kann direkt installiert [1] werden.

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install fwts 

sudo aptitude install fwts 

Hinweis:

Möchte man das Programm unter einer Live-CD/ einem Live-USB installieren, dann kann es vorkommen, dass der verfügbare Speicherplatz dazu nicht ausreicht. Um Platz zu schaffen, kann man beispielsweise den Installationsassistenten des Live-Mediums (Ubiquity) über die Paketverwaltung deinstallieren.

Live-USB

Auf dem Portal Ubuntu ODM 🇬🇧 wird auch eine manuell zu installierende Live-USB-Version ⮷ angeboten.

PPA

Für die, die unbedingt die aktuellste Version einsetzen wollen, gibt es ein "Personal Package Archiv" (PPA) [2].

Adresszeile zum Hinzufügen des PPAs:

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams firmware-testing-team zu entnehmen.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Nach dem Aktualisieren der Paketquellen erfolgt die Installation wie oben angegeben.

Syntax

Alle Auswertungen, die auf das BIOS direkt zugreifen, benötigen Root-Rechte [3]. Auswertungen auf Dump- oder Logdateien sowie den Userspace des Kernels können mit normalen Benutzerrechten ausgeführt werden [4]:

fwts OPTIONEN [EINGABE] [AUSGABE] 

Optionen/Module

Fwts kennt über 500 Einzeltest, die über die einzelnen Test-Module aufgerufen werden. Diese ca. 50 Test-Module sind wiederum in 6 Test-Gruppen zusammengefasst. Das Programm kann neben den BIOS-Tabellen auch Log- oder Dumpdateien verarbeiten. Die Ausgabe der Ergebnisse wird standardmäßig in einer results.log im Auswertungsverzeichnis fortgeschrieben, diese kann auch überschrieben oder die Ausgabe direkt auf den Bildschirm umgeleitet werden. Zusätzlich lassen sich der Umfang und die Formatierung über Optionen beeinflussen.

Eine Aufstellung der Testmodule bzw. der Einzeltest kann man sich im Terminal [1] mit

fwts --show-test
fwts --show-tests-full 

anzeigen lassen. Weitere Hinweise zu den einzelnen Modulen bietet die Manpage sowie die Online-Dokumentation 🇬🇧.

Test-Gruppen

Die verschiedenen Auswertungsmodule sind in Test-Gruppen zusammengefasst, um komfortabel umfangreiche Test durchführen zu können. Jedes einzelne Testmodul kann aber auch einzeln oder in Kombinationen gestartet werden.

Test-Gruppen
Gruppe Option Bedeutung
Alle Auswertungen --all Ausführung aller im Programm hinterlegten Test.
Batch-Auswertung --batch Standardauswertung, sofern keine weiteren Optionen angegeben werden.
Batch experimentell --batch-experimental Experimentielle Implementierung im Beta-Status - erzeugt viele "false positives" (inkorrekte Fehlermeldungen).
Interaktiv --interactive Auswertungen, die den Benutzer dazu auffordern etwas zu tun (z.B. Tasten zu betätigen, den Laptopdeckel zu schließen, die Stromversorgung abzuziehen...)
Interaktiv experimentell --interactive-experimental Eine experimentielle Implementierung im Beta-Status - erzeugt viele "false positives".
Power-Management --power-states Tests zum Power-Management (S3 = Suspend-To-RAM; S4 = Suspend-To-Disk) - kann zum Absturz des PCs führen.
Hilfsprogramme --utils Erzeugt Dumps und Logdateien, die z.T. bei den Einzelauswertungen als Eingabedatei genutzt und ausgewertet werden können.

Test-Module

Jedes einzelne Testmodul kann einzeln oder in Kombinationen gestartet werden.

Batch Auswertungen

Die Option --batch führt alle nachfolgenden Testmodule aus und erzeugt sehr umfangreiche Ausgabeinformationen.

Einzel-Module der Test-Gruppe --batch
Option Bedeutung
acpiinfo Überprüfung der Kernel-ACPI-Treiber.
acpitables Plausibiltätprüfungen diverser ACPI-Tabellen.
apicedge Überprüfung des APIC Edge/Level.
apicinstance Überprüfung, ob nur eine Instanz der Multiple-APIC-Description-Table (MADT) vorhanden ist.
aspm Überprüfung der Stromsparfunktion bei PCI-Express.
bios32 Überprüfung des Standard-BIOS 32Bit-Headers.
bios_info Gibt Informationen zum BIOS-Hersteller und der -Version aus.
checksum Überprüfung der Checksummen der ACPI-Tabellen.
crs Überprüfung der PCI Hostbridge-Konfiguration.
csm Überprüfung des UEFI-Compatability-Support-Moduls (CSM).
dmesg_common Auswertung der generellen dmesg-Fehlermeldungen.
dmi_decode Überprüft die DMI/SMBIOS-Tabelle auf Fehler.
ebda Überprüft, dass die Extended-BIOS-Data-Area (EBDA) gekennzeichnet ist.
fadt Überprüfung des SCI-Interrupts für das Power-Management.
fan Ein einfacher Lüftertest.
hda_audio Überprüfung der HDA Audio-Pin-Konfigurationen.
hpet_check Überprüfung der High-Precision-Event-Timer(HPET)-Konfiguration.
klog Überprüfung der kernel.log nach BIOS-, UEFI- und ACPI-Fehlermeldungen.
maxfreq Überprüfung der maximalen CPU-Frequenz gegen die BIOS-Frequenzskalierung.
maxreadreq Überprüfung der MaxReadRequest-Funktion bei PCI-Express Komponenten.
mcfg Überprüfung der Memory-Mapped-Konfiguration bei PCI-Express.
method Semantischer Test der ACPI-DSDT-Tabellen.
microcode Überprüft die Firmware auf den neuesten Microcode.
mpcheck Überprüfung der Multi-Prozessor-Tabellen.
msr Überprüfung der Modell spezifischen Register (MSR) bei Intel/AMD.
mtrr Überprüfung der Memory Type Range Register (MTRR).
nx Überprüfung des Speicherschutzes (Non-eXecute=NX oder eXecute-Disable=XD).
oops Die Kernellogs nach Oops durchsuchen.
os2gap Überprüfung der OS/2-Speicherlücke.
osilinux Disassembliert die DSDT und überprüft den Eintrag zu _OSI("Linux").
pciirq Überprüft die Legacy BIOS PCI-IRQ-Routing Tabelle.
pnp Überprüft den Plug and Play (PnP) BIOS-Support.
smbios Plausibilitätsprüfungen der SMBIOS-Daten.
syntaxcheck Reassembliert die DSDT und sucht nach Syntaxfehlern und Warnungen in der ACPI-Machine-Language (AML).
version Informationen zur Version des Kernels und des ACPI.
virt Überprüfung der Virtualisierungsfunktionen.
wakealarm Überprüft, dass die ACPI-Real-Time-Clock (RTC) funktioniert.
wmi Extrahiert und analysiert die Windows-Management-Instrumentation (WMI).

Batch-Experimental

Die Option --batch-experimentel führt alle nachfolgenden Testmodule aus. Diese befinden sich noch im Beta-Status und können sehr viele "false positives" enthalten.

Einzelmodule der Test-Gruppe --batch-experimental
Option Bedeutung
cpufreq Testen der Prozessorperformance (benötigt ~1-2 Min.).
cstates Überprüfung der C-Statis aller CPUs (benötigt mehrere Min.).
dmar Plausibilitätsprüfung der ACPI-DMA-Remapping(DMAR)-Tabelle.

Interaktive Auswertungen

Die Option --interactive führt alle nachfolgenden Testmodule aus und fordert den Anwender zu bestimmten Aktionen auf. Das können verschiedene Aufgaben sein, wie z.B. das Drücken von Hotkeys, das Schließen des Laptopdeckels, das Ziehen/Anschließen des Stromkabels ...

Einzelmodule der Test-Gruppe --interactive
Option Bedeutung
ac_adapter Überprüfung der ACPI Netzteilerkennung auf Netbooks und Laptops.
battery Verschiedene Batterietests auf Netbooks und Laptops.
brightness Überprüfung der ACPI-Helligkeitsstufen des Displays auf Netbooks und Laptops.
hotkey Überprüfung von Hotkeys.
lid Plausibilitätsprüfungen des ACPI-Deckelschalters auf Netbooks und Laptops.
power_button Überprüfung der ACPI-Einschaltknopf-Funktion auf Netbooks und Laptops.

Power-Management

Die Option --power-states führt die nachfolgenen Module zum Testen des Energiesparmodi mit ACPI aus. Zum Aus- und Einschalten des PCs werden die pm-utils-/pm-suspend-Befehle genutzt.

Hinweis:

Diese Auswertungen können auch zum "Aufhängen" des PCs führen. Bevor man den PC aber "hart" ausschaltet, sollte man mittels Magic SysRQ versuchen, den PC auf eine "sanfte" Art zum Reagieren anzuregen.

Einzelmodule der Test-Gruppe --power-states
Option Bedeutung
s3 Überprüfung der S3-Bereitschaft.
s3power Überprüfung des Stromverbrauchs während der S3-Suspend-Phase.
s4 Überprüfung des S4-Ruhestands.

Hilfsprogramme

Die Option --utils führt Dumps der nachfolgenden Module durch. Es sind keine direkten Auswertungen, können aber dem Kenner, da in lesbarem Format, weiteren Aufschluss geben.

Einzelmodule der Test-Gruppe --utils
Option Bedeutung
acpidump Dumpen der ACPI-Tabellen
cmosdump Dumpen des CMOS-Speichers.
ebdadump Dumpen der Extended-BIOS-Data-Area.
memmapdump Dumpen der System-Memory-Map.
mpdump Dumpen der Multi-Prozessor-Tabellen.
romdump Dumpen der Firmware-ROM-Images.
uefidump Dumpen der UEFI-Variablen.

Dump-Optionen

Mit den folgenden Optionen können fwts-Auswertungsdateien erzeugt bzw. die ACPI-Tabellen disassembliert werden.

Sonderoptionen zum Dumpen bestimmter Tabellen/Logdateien
Option Bedeutung
--dump Erzeugt alle Dump-Dateien, die mit fwts weiterverarbeitet werden können:
README.txt - Informationen zu den Dumpdateien
dmesg.log - Ausgabe der Kernelmeldungen (dmesg > dmesg.log)
dmidecode.log - SMBIOS DMI Tabellen, (Ausgabe mit dmidecode)
lspci.log - PCI-Konfiguration (Ausgabe mit lspci -vvnn)
acpidump.log - ACPI-Tabellen (Format kann mit acpitables verarbeitet werden)
--disassemble-aml Disassembliert die ACPI-Machine Language in Dateien: DSDT.dsl und SSDTx.dsl (x ist die x-te SSDT-Tabelle).

Eingabesteuerung

Bestimmte fwts-Module können auch externe oder vorher gedumpte Dateien auswerten.

Optionen zum Auswerten/Übergeben von externen Dateien
Option Bedeutung
--klog= Übergibt alternative Log-Dateien an fwts, z.B. /var/log/dmesg, dmesg.log ...
--dumpfile= Übergibt alternative Dump-Dateien an das Auswertungsprogramm, anstatt die BIOS-Tabellen auszulesen.

Ausgabensteuerung

Die Ausgaben beinhalten sehr umfangreiche Informationen, die oftmals nicht benötigt werden. Darum kann dies über weitere Optionen beeinflusst werden.

Optionen zur Ausgabe und deren Formatierung
Option Bedeutung
- Standardmäßig werden die Ausgaben in einer results.log fortgeschrieben, ein abschließendes "-" leitet die Ausgabe auf stdout, also den Bildschirm, um und kann so auch mit einer Pipe weiterverarbeitet werden (siehe dazu auch --results-output=).
--force-clean Erzwingt die Neuanlage/das Überschreiben einer vorhandenen results.log bzw. mit --results-output= angegebenen Logdatei.
--log-format= Eine Liste von Schlüsselwörtern, die die Ausgabeformatierung beeinflusssen.
--log-filter= Auswahl von Ausgabezeilen die gedruckt werden sollen.
--log-width= Die Protokollausgabe in einer Datei wird mit einer Breite von 120 Zeichen und am Bildschirm maximal durchgeführt. Um diese Voreinstellung zu überschreiben, kann man mit dieser Option die Zeilenbreite einstellen - Angaben mit weniger als 80 Zeichen sind nicht erlaubt!
--quit Das Programm gibt Fortschrittsanzeigen am Bildschirm aus, um den Fortschritt der Auswertungen zu sehen. Möchte man diese abschalten, z.B. da die Auswertung direkt am Bildschirm angezeigt wird, kann man dies hiermit tun.
--results-output= Angabe einer alternativen Logausgabe, dies kann eine Datei, aber auch stdout oder stderr sein.
--results-no-separators Diese Option unterbindet das Schreiben von Trennzeilen in der results.log, nicht aber am Bildschirm.
--skip-test= Eine durch Kommas getrennte Liste von Modulnamen, die übersprungen, also nicht durchgeführt werden sollen.
--stdout-summary Diese Option bewirkt eine einfache PASSED/FAILED-Meldung am Ende eines jeden Testmoduls.

Formatierungen

Die Standardtextausgabe kann noch um weitere Felder erweitert werden, um eine erstellte results.log auch später noch wiedererkennbar zu machen. Die Liste der zusätzlichen Felder wird in Hochkommatas (") eingeschlossen und die einzelnen Formatierungszeichen sollten durch ein Leerzeichen voneinander getrennt sein.

Bedeutung der --log-format-Optionen
%date Erstellungsdatum
%field Namen der Logzeile
%level Ebene des festgestellten Fehlers
%line Zeilennummerierung
%owner Name des Testmoduls/der Testroutine
%time Erstellungsuhrzeit

Logfilter

Jede Zeile wird intern einem Logfeld zugewiesen und kann für die Ausgabeaufbereitung gefiltert werden. Durch Angabe der Formatoption %field kann diese Zeilenbezeichnung auch mit angedruckt werden. Um nur bestimmte Zeilen auszugeben, kann man diese über einen Logfilter ein- bzw. ausschließen. Die auszugebenden Zeilenkürzel werden hintereinander, durch ein Kommata (,) voneinander getrennt, aufgelistet.

Bedeutung der Zeilenkürzel zu --log-filter
Name Bedeutung
ALL Alle Zeilen ausgeben. Möchte man nun bestimmte Zeilen ausblenden, dann kann man dies mit einem vorangestellten ~ erreichen, z.B. ~SUM,~HED gibt keine Kopf- und Summenzeilen aus.
ADV Hinweise/Ratschläge (Advice)
DBG Veraltet (Deprecated)
ERR Fehlermeldungen zum Test (Error)
FAL Fehlgeschlagene Tests (Failed)
HED Überschriften der einzelnen Tests (Header)
INF Weitergehende Informationen (Information)
NLN Neue Zeile/Leerzeile (Newline)
PAS Durchgeführter Test (Passed)
SEP Trennungzeilen zwischen den Tests (Separator)
SKP Übersprungener Test (Skip)
SUM Zusammenfassung der Testergebnisse (Summary)
WRN Warnungen (Warning)

Beispiele

Alle hier aufgeführten Beispiele geben die Ausgabe am Bildschirm wieder, da die Befehle mit einem einzelnen - beendet werden, siehe dazu auch Ausgabensteuerung.

Auswerten der ACPI-Tabellen

Kernel und Logs

Bootprobleme

Alle BATCH-Module ausführen, um evtl. Bootprobleme festzustellen. Die Ausgabe enthällt je Modul nur die Summenfelder und in der Zusammenfassung wichtige Warn-/Fehlermeldungen. Möchte man nähere Informationen zu einem gemeldeten Modul einsehen, so kann man dazu gezielt die Modulauswahl nutzen.

sudo fwts --batch --log-format="%date %time %line %owner: " --log-filter=SUM - 

Beispielausgabe:

18/10/12 01:00:56 00001 bios_info      : 0 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 1 info only.
18/10/12 01:00:56 00003 version        : 3 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:00:56 00005 klog           : 0 passed, 3 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:00:56 00007 acpiinfo       : 1 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:00:56 00009 dmesg_common   : 1 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:00:57 00011 mtrr           : 1 passed, 11 failed, 0 warnings, 0 aborted, 1 skipped, 0 info only.
18/10/12 01:00:57 00013 oops           : 1 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:14 00015 wakealarm      : 4 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:14 00017 syntaxcheck    : 0 passed, 18 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:14 00019 acpitables     : 7 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:14 00021 apicinstance   : 1 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:14 00023 checksum       : 10 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:16 00025 cstates        : 3 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:16 00027 fadt           : 1 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00029 fan            : 2 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00031 mcfg           : 1 passed, 1 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00033 method         : 188 passed, 0 failed, 0 warnings, 0 aborted, 93 skipped, 0 info only.
18/10/12 01:01:36 00035 apicedge       : 1 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00037 osilinux       : 0 passed, 0 failed, 1 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00039 wmi            : 0 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 2 info only.
18/10/12 01:01:36 00041 ebda           : 1 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00043 bios32         : 0 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00045 hda_audio      : 1 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00047 os2gap         : 1 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00049 mpcheck        : 9 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00051 pciirq         : 4 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00053 pnp            : 2 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00055 smbios         : 1 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00057 dmi_decode     : 41 passed, 1 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00059 hpet_check     : 4 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00061 aspm           : 2 passed, 0 failed, 3 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00063 crs            : 0 passed, 0 failed, 0 warnings, 0 aborted, 1 skipped, 0 info only.
18/10/12 01:01:36 00065 maxreadreq     : 0 passed, 1 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00067 virt           : 0 passed, 0 failed, 0 warnings, 0 aborted, 1 skipped, 0 info only.
18/10/12 01:01:36 00069 maxfreq        : 1 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00071 nx             : 3 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00073 msr            : 57 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00075 microcode      : 0 passed, 0 failed, 0 warnings, 1 aborted, 0 skipped, 0 info only.
18/10/12 01:01:36 00077 csm            : 0 passed, 0 failed, 0 warnings, 0 aborted, 0 skipped, 1 info only.

18/10/12 01:01:36 00079 summary        : 352 passed, 35 failed, 4 warnings, 1 aborted, 96 skipped, 4 info only.
18/10/12 01:01:36 00080 summary        : Test Failure Summary
18/10/12 01:01:36 00081 summary        : Critical failures: NONE
18/10/12 01:01:36 00082 summary        : High failures: 13
18/10/12 01:01:36 00083 summary        :  klog: HIGH Kernel message: [    0.000000] ACPI Warning: 32/64 FACS address mismatch in FADT - two FACS tables! (20090903/tbfadt-369)
18/10/12 01:01:36 00084 summary        :  klog: HIGH Kernel message: [    0.000000] ACPI Warning: 32/64X FACS address mismatch in FADT - CF3EBF40/00000000CF3E7F40, using 32 (20090903/tbfadt-486)
18/10/12 01:01:36 00085 summary        :  klog: HIGH Kernel message: [   10.084054] [drm] MTRR allocation failed.  Graphics performance may suffer.
18/10/12 01:01:36 00086 summary        :  syntaxcheck: Assembler error in line 1376
18/10/12 01:01:36 00087 summary        :  syntaxcheck: Assembler error in line 1873
18/10/12 01:01:36 00088 summary        :  syntaxcheck: Assembler error in line 4032
18/10/12 01:01:36 00089 summary        :  syntaxcheck: Assembler error in line 4066
18/10/12 01:01:36 00090 summary        :  syntaxcheck: Assembler error in line 4100
18/10/12 01:01:36 00091 summary        :  syntaxcheck: Assembler error in line 4134
18/10/12 01:01:36 00092 summary        :  syntaxcheck: Assembler error in line 4168
18/10/12 01:01:36 00093 summary        :  syntaxcheck: Assembler error in line 4202
18/10/12 01:01:36 00094 summary        :  syntaxcheck: Assembler error in line 4236
18/10/12 01:01:36 00095 summary        :  syntaxcheck: Assembler error in line 4270
18/10/12 01:01:36 00096 summary        : Medium failures: 13
18/10/12 01:01:36 00097 summary        :  mtrr: Memory range 0xd0000000 to 0xdfffffff (0000:00:02.0) has incorrect attribute Uncached Write-Back.
18/10/12 01:01:36 00098 summary        :  mtrr: Memory range 0xf7000000 to 0xf7ffffff (0000:04:06.4) has incorrect attribute Write-Back.
18/10/12 01:01:36 00099 summary        :  mtrr: Memory range 0xf8000000 to 0xf8ffffff (0000:04:06.2) has incorrect attribute Write-Back.
18/10/12 01:01:36 00100 summary        :  mtrr: Memory range 0xf9000000 to 0xf9ffffff (0000:04:06.1) has incorrect attribute Write-Back.
18/10/12 01:01:36 00101 summary        :  mtrr: Memory range 0xfa000000 to 0xfaffffff (0000:04:06.0) has incorrect attribute Write-Back.
18/10/12 01:01:36 00102 summary        :  mtrr: Memory range 0xfb000000 to 0xfb0fffff (0000:00:02.0) has incorrect attribute Write-Back.
18/10/12 01:01:36 00103 summary        :  mtrr: Memory range 0xfb100000 to 0xfb11ffff (0000:03:00.0) has incorrect attribute Write-Back.
18/10/12 01:01:36 00104 summary        :  mtrr: Memory range 0xfb120000 to 0xfb120fff (0000:03:00.0) has incorrect attribute Write-Back.
18/10/12 01:01:36 00105 summary        :  mtrr: Memory range 0xfb200000 to 0xfb27ffff (0000:00:02.0) has incorrect attribute Write-Back.
18/10/12 01:01:36 00106 summary        :  mtrr: Memory range 0xfb280000 to 0xfb283fff (0000:00:1b.0) has incorrect attribute Write-Back.
18/10/12 01:01:36 00107 summary        :  mtrr: Memory range 0xfb284000 to 0xfb2843ff (0000:00:1d.7) has incorrect attribute Write-Back.
18/10/12 01:01:36 00108 summary        :  mcfg: MCFG mmio config space at 0xe0000000 is not reserved in the memory map table
18/10/12 01:01:36 00109 summary        :  dmi_decode: String index 0x01 in table entry 'OEM Strings (Type 11)' @ 0x000e8680, field 'String 1', offset 0x04 has a default value 'To Be Filled By O.E.M.' and probably has not been updated by the BIOS vendor.
18/10/12 01:01:36 00110 summary        : Low failures: 1
18/10/12 01:01:36 00111 summary        :  maxreadreq: 1 devices have low MaxReadReq settings. Firmware may have configured these too low.
18/10/12 01:01:36 00112 summary        : Other failures: NONE
18/10/12 01:01:36 00113 summary        : Test           |Pass |Fail |Abort|Warn |Skip |Info |
18/10/12 01:01:36 00114 summary        : ---------------+-----+-----+-----+-----+-----+-----+
18/10/12 01:01:36 00115 summary        : acpiinfo       |    1|     |     |     |     |     |
18/10/12 01:01:36 00116 summary        : acpitables     |    7|     |     |     |     |     |
18/10/12 01:01:36 00117 summary        : apicedge       |    1|     |     |     |     |     |
18/10/12 01:01:36 00118 summary        : apicinstance   |    1|     |     |     |     |     |
18/10/12 01:01:36 00119 summary        : aspm           |    2|     |     |    3|     |     |
18/10/12 01:01:36 00120 summary        : bios32         |     |     |     |     |     |     |
18/10/12 01:01:36 00121 summary        : bios_info      |     |     |     |     |     |    1|
18/10/12 01:01:36 00122 summary        : checksum       |   10|     |     |     |     |     |
18/10/12 01:01:36 00123 summary        : crs            |     |     |     |     |    1|     |
18/10/12 01:01:36 00124 summary        : csm            |     |     |     |     |     |    1|
18/10/12 01:01:36 00125 summary        : cstates        |    3|     |     |     |     |     |
18/10/12 01:01:36 00126 summary        : dmesg_common   |    1|     |     |     |     |     |
18/10/12 01:01:36 00127 summary        : dmi_decode     |   41|    1|     |     |     |     |
18/10/12 01:01:36 00128 summary        : ebda           |    1|     |     |     |     |     |
18/10/12 01:01:36 00129 summary        : fadt           |    1|     |     |     |     |     |
18/10/12 01:01:36 00130 summary        : fan            |    2|     |     |     |     |     |
18/10/12 01:01:36 00131 summary        : hda_audio      |    1|     |     |     |     |     |
18/10/12 01:01:36 00132 summary        : hpet_check     |    4|     |     |     |     |     |
18/10/12 01:01:36 00133 summary        : klog           |     |    3|     |     |     |     |
18/10/12 01:01:36 00134 summary        : maxfreq        |    1|     |     |     |     |     |
18/10/12 01:01:36 00135 summary        : maxreadreq     |     |    1|     |     |     |     |
18/10/12 01:01:36 00136 summary        : mcfg           |    1|    1|     |     |     |     |
18/10/12 01:01:36 00137 summary        : method         |  188|     |     |     |   93|     |
18/10/12 01:01:36 00138 summary        : microcode      |     |     |    1|     |     |     |
18/10/12 01:01:36 00139 summary        : mpcheck        |    9|     |     |     |     |     |
18/10/12 01:01:36 00140 summary        : msr            |   57|     |     |     |     |     |
18/10/12 01:01:36 00141 summary        : mtrr           |    1|   11|     |     |    1|     |
18/10/12 01:01:36 00142 summary        : nx             |    3|     |     |     |     |     |
18/10/12 01:01:36 00143 summary        : oops           |    1|     |     |     |     |     |
18/10/12 01:01:36 00144 summary        : os2gap         |    1|     |     |     |     |     |
18/10/12 01:01:36 00145 summary        : osilinux       |     |     |     |    1|     |     |
18/10/12 01:01:36 00146 summary        : pciirq         |    4|     |     |     |     |     |
18/10/12 01:01:36 00147 summary        : pnp            |    2|     |     |     |     |     |
18/10/12 01:01:36 00148 summary        : smbios         |    1|     |     |     |     |     |
18/10/12 01:01:36 00149 summary        : syntaxcheck    |     |   18|     |     |     |     |
18/10/12 01:01:36 00150 summary        : version        |    3|     |     |     |     |     |
18/10/12 01:01:36 00151 summary        : virt           |     |     |     |     |    1|     |
18/10/12 01:01:36 00152 summary        : wakealarm      |    4|     |     |     |     |     |
18/10/12 01:01:36 00153 summary        : wmi            |     |     |     |     |     |    2|
18/10/12 01:01:36 00154 summary        : ---------------+-----+-----+-----+-----+-----+-----+
18/10/12 01:01:36 00155 summary        : Total:         |  352|   35|    1|    4|   96|    4|
18/10/12 01:01:36 00156 summary        : ---------------+-----+-----+-----+-----+-----+-----+

OSI-String

Auslesen des OSI-String, um evtl. Bootoptionen (acpi_osi= ) zu ermitteln:

sudo fwts osilinux --log-format="%date %line :" --log-width=130 --log-filter=INF,WRN,ERR,ADV,SUM - 

Beispielausgabe:

18/10/12 fwts            :Results generated by fwts: Version V0.26.00 (Wed Sep 19 15:55:55 CST 2012).
18/10/12 fwts            :Some of this work - Copyright (c) 1999 - 2010, Intel Corp. All rights reserved.
18/10/12 fwts            :Some of this work - Copyright (c) 2010 - 2012, Canonical.
18/10/12 fwts            :This test run on 18/10/12 at 01:34:34 on host Linux halligalli 2.6.32-44-generic #98-Ubuntu SMP Mon Sep 24
18/10/12 fwts            :17:27:10 UTC 2012 x86_64.
18/10/12 fwts            :Running tests: osilinux.

18/10/12 osilinux        :Test 1 of 1: Disassemble DSDT to check for _OSI("Linux").
18/10/12 osilinux        :This is not strictly a failure mode, it just alerts one that this has been defined in the DSDT and
18/10/12 osilinux        :probably should be avoided since the Linux ACPI driver matches onto the Windows _OSI strings
18/10/12 osilinux        :        {
18/10/12 osilinux        :            If (_OSI ("Linux"))
18/10/12 osilinux        :            {
18/10/12 osilinux        :                Store (0x03, OSVR)
18/10/12 osilinux        :            }
18/10/12 osilinux        :            Else
18/10/12 osilinux        :            {
18/10/12 osilinux        :                If (_OSI ("Windows 2001"))
18/10/12 osilinux        :                {
18/10/12 osilinux        :                    Store (0x04, OSVR)
18/10/12 osilinux        :                }
18/10/12 osilinux        :WARNING: Test 1, DSDT implements a deprecated _OSI("Linux") test.
18/10/12 osilinux        :0 passed, 0 failed, 1 warnings, 0 aborted, 0 skipped, 0 info only.

18/10/12 summary         :0 passed, 0 failed, 1 warnings, 0 aborted, 0 skipped, 0 info only.
18/10/12 summary         :Test Failure Summary
18/10/12 summary         :Critical failures: NONE
18/10/12 summary         :High failures: NONE
18/10/12 summary         :Medium failures: NONE
18/10/12 summary         :Low failures: NONE
18/10/12 summary         :Other failures: NONE
18/10/12 summary         :Test           |Pass |Fail |Abort|Warn |Skip |Info |
18/10/12 summary         :---------------+-----+-----+-----+-----+-----+-----+
18/10/12 summary         :osilinux       |     |     |     |    1|     |     |
18/10/12 summary         :---------------+-----+-----+-----+-----+-----+-----+
18/10/12 summary         :Total:         |    0|    0|    0|    1|    0|    0|
18/10/12 summary         :---------------+-----+-----+-----+-----+-----+-----+

EFI

Alle (U)EFI-relevanten Bereiche werden ausgewertet:

sudo fwts bios_info version csm uefidump --log-width=140 --log-format="%line %owner : " -  

Modul-Auswertungen

Hier werden die Module acpiinfo und hpet_check ausgeführt. Die Ausgabe dazu erfolgt in detaillierter Form:

sudo fwts acpiinfo hpet_check --log-format="%date %line :" - 

Intern

Extern