Firmware Test Suite
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
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:
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.
fwts (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install fwts
Oder mit apturl installieren, Link: apt://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.
PPA¶
Die aktuellste stabile Version gibt es in einem "Personal Package Archive" (PPA) [2].
Adresszeile zum Hinzufügen des PPAs:
ppa:firmware-testing-team/ppa-fwts-stable
Hinweis!
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams firmware-testing-team zu entnehmen.
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¶
Auswerten der ACPI-Tabellen:
sudo fwts acpitables -
Auswerten einer vorher erstellen Dump-Datei:
fwts acpitables --dumpfile=apcidump.dat -
Kernel und Logs¶
Auswerten des kompletten Kernel-Ringpuffers mit detaillierten Informationen:
fwts klog oops dmesg_common --log-width=140 --log-format="%line %owner :" -
Auswerten der dmesg-Meldungen des Kernel-Ringpuffers mit detaillierten Informationen:
fwts dmesg_common -
Auswerten der kern.log mit Summen- und Warnhinweisen:
fwts dmesg_common --klog=/var/log/kern.log --log-format="%line %owner :" --log-filter=SUM -
00001 : 0 passed, 35 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only. 00003 : 0 passed, 35 failed, 0 warnings, 0 aborted, 0 skipped, 0 info only. 00004 : Test Failure Summary 00005 : Critical failures: 7 00006 : klog: CRITICAL Kernel message: Oct 18 19:46:31 halligalli-ThinkPad-X230-Tablet kernel: [ 0.438308] pci0000:00: >ACPI _OSC request failed (AE_SUPPORT), returned control mask: 0x0d 00007 : klog: CRITICAL Kernel message: Oct 18 19:49:02 halligalli-ThinkPad-X230-Tablet kernel: [ 0.438318] pci0000:00: >ACPI _OSC request failed (AE_SUPPORT), returned control mask: 0x0d 00008 : klog: CRITICAL Kernel message: Oct 18 20:46:25 halligalli-ThinkPad-X230-Tablet kernel: [ 0.438321] pci0000:00: >ACPI _OSC request failed (AE_SUPPORT), returned control mask: 0x0d 00009 : klog: CRITICAL Kernel message: Oct 18 22:03:23 halligalli-ThinkPad-X230-Tablet kernel: [ 0.442087] pci0000:00: >ACPI _OSC request failed (AE_SUPPORT), returned control mask: 0x0d 00010 : klog: CRITICAL Kernel message: Oct 19 13:53:02 halligalli-ThinkPad-X230-Tablet kernel: [ 0.442529] pci0000:00: >ACPI _OSC request failed (AE_SUPPORT), returned control mask: 0x0d 00011 : klog: CRITICAL Kernel message: Oct 19 14:12:45 halligalli-ThinkPad-X230-Tablet kernel: [ 0.458287] pci0000:00: >ACPI _OSC request failed (AE_SUPPORT), returned control mask: 0x0d 00012 : klog: CRITICAL Kernel message: Oct 19 14:34:53 halligalli-ThinkPad-X230-Tablet kernel: [ 0.442312] pci0000:00: >ACPI _OSC request failed (AE_SUPPORT), returned control mask: 0x0d 00013 : High failures: 28 00014 : klog: HIGH Kernel message: Oct 18 19:46:31 halligalli-ThinkPad-X230-Tablet kernel: [ 0.003343] ENERGY_PERF_BIAS: Set to 'normal', was 'performance' 00015 : klog: HIGH Kernel message: Oct 18 19:46:31 halligalli-ThinkPad-X230-Tablet kernel: [ 1.982448] ACPI Warning: 0x0000000000000460-0x000000000000047f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00016 : klog: HIGH Kernel message: Oct 18 19:46:31 halligalli-ThinkPad-X230-Tablet kernel: [ 1.982459] ACPI Warning: 0x0000000000000428-0x000000000000042f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00017 : klog: HIGH Kernel message: Oct 18 19:46:31 halligalli-ThinkPad-X230-Tablet kernel: [ 1.982465] ACPI Warning: 0x0000000000000500-0x000000000000053f SystemIO conflicts with Region \_SB_.PCI0.LPC_.LPIO 1 (20120320/utaddress-251) 00018 : klog: HIGH Kernel message: Oct 18 19:49:02 halligalli-ThinkPad-X230-Tablet kernel: [ 0.003342] ENERGY_PERF_BIAS: Set to 'normal', was 'performance' 00019 : klog: HIGH Kernel message: Oct 18 19:49:02 halligalli-ThinkPad-X230-Tablet kernel: [ 1.923019] ACPI Warning: 0x0000000000000460-0x000000000000047f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00020 : klog: HIGH Kernel message: Oct 18 19:49:02 halligalli-ThinkPad-X230-Tablet kernel: [ 1.923029] ACPI Warning: 0x0000000000000428-0x000000000000042f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00021 : klog: HIGH Kernel message: Oct 18 19:49:02 halligalli-ThinkPad-X230-Tablet kernel: [ 1.923035] ACPI Warning: 0x0000000000000500-0x000000000000053f SystemIO conflicts with Region \_SB_.PCI0.LPC_.LPIO 1 (20120320/utaddress-251) 00022 : klog: HIGH Kernel message: Oct 18 20:46:25 halligalli-ThinkPad-X230-Tablet kernel: [ 0.003345] ENERGY_PERF_BIAS: Set to 'normal', was 'performance' 00023 : klog: HIGH Kernel message: Oct 18 20:46:25 halligalli-ThinkPad-X230-Tablet kernel: [ 2.681555] ACPI Warning: 0x0000000000000460-0x000000000000047f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00024 : klog: HIGH Kernel message: Oct 18 20:46:25 halligalli-ThinkPad-X230-Tablet kernel: [ 2.681567] ACPI Warning: 0x0000000000000428-0x000000000000042f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00025 : klog: HIGH Kernel message: Oct 18 20:46:25 halligalli-ThinkPad-X230-Tablet kernel: [ 2.681574] ACPI Warning: 0x0000000000000500-0x000000000000053f SystemIO conflicts with Region \_SB_.PCI0.LPC_.LPIO 1 (20120320/utaddress-251) 00026 : klog: HIGH Kernel message: Oct 18 22:03:23 halligalli-ThinkPad-X230-Tablet kernel: [ 0.003339] ENERGY_PERF_BIAS: Set to 'normal', was 'performance' 00027 : klog: HIGH Kernel message: Oct 18 22:03:23 halligalli-ThinkPad-X230-Tablet kernel: [ 2.450929] ACPI Warning: 0x0000000000000460-0x000000000000047f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00028 : klog: HIGH Kernel message: Oct 18 22:03:23 halligalli-ThinkPad-X230-Tablet kernel: [ 2.450942] ACPI Warning: 0x0000000000000428-0x000000000000042f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00029 : klog: HIGH Kernel message: Oct 18 22:03:23 halligalli-ThinkPad-X230-Tablet kernel: [ 2.450951] ACPI Warning: 0x0000000000000500-0x000000000000053f SystemIO conflicts with Region \_SB_.PCI0.LPC_.LPIO 1 (20120320/utaddress-251) 00030 : klog: HIGH Kernel message: Oct 19 13:53:02 halligalli-ThinkPad-X230-Tablet kernel: [ 0.003345] ENERGY_PERF_BIAS: Set to 'normal', was 'performance' 00031 : klog: HIGH Kernel message: Oct 19 13:53:02 halligalli-ThinkPad-X230-Tablet kernel: [ 2.658295] ACPI Warning: 0x0000000000000460-0x000000000000047f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00032 : klog: HIGH Kernel message: Oct 19 13:53:02 halligalli-ThinkPad-X230-Tablet kernel: [ 2.658305] ACPI Warning: 0x0000000000000428-0x000000000000042f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00033 : klog: HIGH Kernel message: Oct 19 13:53:02 halligalli-ThinkPad-X230-Tablet kernel: [ 2.658314] ACPI Warning: 0x0000000000000500-0x000000000000053f SystemIO conflicts with Region \_SB_.PCI0.LPC_.LPIO 1 (20120320/utaddress-251) 00034 : klog: HIGH Kernel message: Oct 19 14:12:45 halligalli-ThinkPad-X230-Tablet kernel: [ 0.003341] ENERGY_PERF_BIAS: Set to 'normal', was 'performance' 00035 : klog: HIGH Kernel message: Oct 19 14:12:46 halligalli-ThinkPad-X230-Tablet kernel: [ 2.747319] ACPI Warning: 0x0000000000000460-0x000000000000047f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00036 : klog: HIGH Kernel message: Oct 19 14:12:46 halligalli-ThinkPad-X230-Tablet kernel: [ 2.747330] ACPI Warning: 0x0000000000000428-0x000000000000042f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00037 : klog: HIGH Kernel message: Oct 19 14:12:46 halligalli-ThinkPad-X230-Tablet kernel: [ 2.747337] ACPI Warning: 0x0000000000000500-0x000000000000053f SystemIO conflicts with Region \_SB_.PCI0.LPC_.LPIO 1 (20120320/utaddress-251) 00038 : klog: HIGH Kernel message: Oct 19 14:34:53 halligalli-ThinkPad-X230-Tablet kernel: [ 0.003343] ENERGY_PERF_BIAS: Set to 'normal', was 'performance' 00039 : klog: HIGH Kernel message: Oct 19 14:34:53 halligalli-ThinkPad-X230-Tablet kernel: [ 1.904574] ACPI Warning: 0x0000000000000460-0x000000000000047f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00040 : klog: HIGH Kernel message: Oct 19 14:34:53 halligalli-ThinkPad-X230-Tablet kernel: [ 1.904587] ACPI Warning: 0x0000000000000428-0x000000000000042f SystemIO conflicts with Region \_SB_.PCI0.LPC_.PMIO 1 (20120320/utaddress-251) 00041 : klog: HIGH Kernel message: Oct 19 14:34:53 halligalli-ThinkPad-X230-Tablet kernel: [ 1.904594] ACPI Warning: 0x0000000000000500-0x000000000000053f SystemIO conflicts with Region \_SB_.PCI0.LPC_.LPIO 1 (20120320/utaddress-251) 00042 : Medium failures: NONE 00043 : Low failures: NONE 00044 : Other failures: NONE 00045 : Test |Pass |Fail |Abort|Warn |Skip |Info | 00046 : ---------------+-----+-----+-----+-----+-----+-----+ 00047 : klog | | 35| | | | | 00048 : ---------------+-----+-----+-----+-----+-----+-----+ 00049 : Total: | 0| 35| 0| 0| 0| 0| 00050 : ---------------+-----+-----+-----+-----+-----+-----+
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 :" -
Links¶
Intern¶
Extern¶
Introducing the Firmware Test Suite Live (fwts-live) 🇬🇧 - Blogbeitrag von Colin King, 02/2012
Liste von Computer-Abkürzungen - Wikipedia