Login
Newsletter
Werbung

Fr, 1. Juli 2011, 13:50

Software::Kernel

Verkürzte Akkulaufzeit durch BIOS-Probleme

Zahllose Probleme mit Linux haben ihren Ursprung in einem fehlerhaft implementierten BIOS. Im jüngsten Fall betrifft es die Energieverwaltung von PCI Express, wovon besonders Laptop-Benutzer betroffen sind.

Schon im April hatte das Portal Phoronix verkündet, eine oder mehrere Regressionen in Linux 2.6.38 gefunden zu haben, die den Energieverbrauch erhöhen. Dies führte bei einigen Laptop-Benutzern zu merklich verkürzten Akku-Laufzeiten. Allerdings enthielt die Ankündigung des Portals viel Fanfare, aber wenig Fakten. Insbesondere wurde wohl vergessen, das Problem den Linux-Kernel-Entwicklern zu melden. So fand auf der Kernel-Mailingliste augenscheinlich keinerlei Diskussion des Problems statt, und niemand fühlte sich zuständig. Linux 2.6.39 erschien wenige Wochen später dementsprechend ohne wesentliche Änderung in diesem Bereich.

Nun hat Phoronix offenbar die genaue Änderung lokalisiert, die zu dem Problem führte. Es gibt einen Workaround, der das Problem für einige Anwender beheben kann. Er besteht darin, dem Kernel beim Booten die Option pcie_aspm=force mitzugeben. Die Option funktioniert allerdings nicht auf jedem System; in manchen Fällen kann sie dazu führen, dass das Gerät sich aufhängt. Diese Boot-Probleme zu beheben, war wohl auch der Grund für die Änderung. Zu diesem Zeitpunkt wusste der Entwickler wohl noch nicht, dass auf einigen Geräten die Akkulaufzeit darunter leiden kann. Denn letztlich ist das Problem auf das BIOS zurückzuführen.

Der PCI-Express-Bus verfügt über ein »Active State Power Management« (ASPM), um den teils hohen Energiebedarf der Geräte zu regulieren. ASPM kann ein- und ausgeschaltet werden. Das BIOS sollte Auskunft darüber geben, ob das System ASPM unterstützt. Falls die Auskunft »nein« lautet, ruft der Kernel keine ASPM-Funktionen auf - so war es jedenfalls früher. Doch es stellte sich heraus, dass das BIOS manchmal trotz dieser Auskunft ASPM für manche Geräte aktivierte, was unter Linux zu den genannten Hängern beim Booten führte. Matthew Garrett hatte daher im Dezember dafür gesorgt, dass ASPM explizit abgeschaltet wird, wenn es laut BIOS nicht unterstützt wird. Dass in diesem Fall die PCI-Express-Geräte mehr Energie verbrauchen, ist eine logische Folge.

Eine einfache Lösung des Problems ist nicht in Sicht. Schaltet man ASPM ein, wo immer es möglich ist, muss man mit Problemen aufgrund nicht funktionierender Hardware rechnen, und man kann immer nur reagieren, indem man diese Hardware in eine schwarze Liste aufnimmt. Der umgekehrte Weg, ASPM nur für Hardware einzuschalten, von der man weiß, dass sie funktioniert, scheint sicherer, sorgt aber zunächst für höheren Energieverbrauch. Die zugehörige weiße Liste könnte durch Erfolgsmeldungen der Benutzer nach und nach vergrößert werden.

Diese Episode bestätigt für Matthew Garrett und andere Kernel-Entwickler wieder einmal die schlechte Meinung, die sie von BIOS-Entwicklern haben. Oft werden Tabellen falsch ausgefüllt, nicht einmal die offensichtlichsten minimalen Anpassungen werden vollzogen, Standards werden frei, aber immer falsch interpretiert, und die Funktion wird an die Vorgaben oder Fehler des monopolistischen Windows-Systems angepasst. Qualitätsbewusste Hersteller führen wenigstens noch einige Tests mit Linux durch, um sicherzustellen, dass alle Komponenten funktionieren. Offensichtlich gehören jedoch nicht alle Hersteller in diese Kategorie.

Werbung
Kommentare (Insgesamt: 64 || Alle anzeigen )
Re[8]: blub2 (blablabla, Mo, 4. Juli 2011)
Re[7]: blub2 (asdsad, Mo, 4. Juli 2011)
Re[6]: blub2 (blablabla, Mo, 4. Juli 2011)
Re[9]: blub2 (asdsad, So, 3. Juli 2011)
Re[8]: blub2 (lkjhgfdsa, So, 3. Juli 2011)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung