EC-Control ist ein Bash Script welches es erlaubt, Werte in bestimmten OffSets des EC’s zu lesen und zu schreiben. Es wird als Unterbau für die EC-Control Gnome Shell Extension verwendet, kann aber auch Standalone genutzt werden. EC-Control ermöglicht es Lüfter, Bluetooth, Touchpad, Tastaturbeleuchtung, Webcam etc. eines Laptops unter Linux zu steuern. Voraussetzung ist ein aktiviertes DebugFS im Kernel sowie dem aktiven ec_sys Kernelmodul, alternativ ein aktives acpi_ec Kernelmodul.
Für Windows werden von den jeweiligen Herstellern Tools zum einstellen von Laptop Eigenschaften wie Bluetooth, Lüfter etc., mitgeliefert. Für mein Gigabyte P57W beispielsweise, war es mir anfangs nicht möglich, unter Linux die Lüfter im Automatik Modus zu betreiben, stattdessen liefen diese stets im Performance Modus – was akustisch einem Fön gleicht. Aus der Not heraus und mit ein wenig Reverse-Engineering, habe ich die wichtigsten möglichen Werte des Laptops in einer Datenbank zusammengetragen.
Voraussetzungen
- Kernel mit DebugFS Support und aktiven EC_SYS Kernelmodul oder aktiven ACPI_EC Kernel Modul
- xxd um Werte aus dem EC zu lesen
- dd um Werte im EC zu schreiben
- pkexec um EC-Control das schreiben im EC zu ermöglichen
Installation
ec-control herunterladen und im folgenden Verzeichnis kopieren: sudo cp ec-control /usr/bin/
ec-control ausführbar machen:sudo chmod +x /usr/bin/ec-control
Beschreibung
EC-Control ist auch ohne Gnome Extension nutzbar. Wenn der Offset des Registers und die entsprechenden Werte bekannt sind, lassen sich diese wie folgt steuern:
Einen Wert in einem Offset ermitteln:
sudo /usr/bin/ec-control get offset ec_path
Einen Wert in einem Offset schreiben:
sudo /usr/bin/ec-control set value offset ec_path
Beispiel: Gigabyte P57 – Lüftersteuerung Automatik
sudo /usr/bin/ec-control set 20 6 /dev/ec
Beispiel: Gigabyte P57 – Tastaturbeleuchtung 100%
sudo /usr/bin/ec-control set 02 215 /dev/ec
Beispiel: Gigabyte P57 – Touchpad Abschalten
sudo /usr/bin/ec-control set 80 3 /dev/ec
Auf diesem Wege kann auch der EC mittels Starter im KDE oder Gnome gesteuert werden. Die Werte sind der entsprechenden Datenbank zu entnehmen.
Frage & Antwort
Was ist nun der Unterschied zu NBFC?
NBFC ist ein klasse Projekt, verfolgt allerdings ein anderes Ziel. Unter NBFC ist es möglich die Lüfter – und nur die Lüfter – je nach Hersteller und sofern Unterstützt, stufenlos zu regeln. Ich möchte jedoch gerne Dinge wie Tastaturbeleuchtung, Webcam, oder das Touchpad steuern können.