Asus Zenbook Lüfter steuern mit Fan Control

By -

Ich habe mir neulich ein neues Laptop zugelegt. Genauer gesagt ein Ultrabook, nämlich das Asus Zenbook Prime UX31A. Ein wirklich schickes und tolles Ultrabook und natürlich musste sofort Arch Linux drauf installiert werden, doch dazu an späterer Stelle mehr. Seit jeher liest man, dass bei den Asus Zenbooks die Lüfter dauernd für kurze zeit anspringen. An, aus, an, aus und so weiter. Bei einigen Betroffenen ließ sich dieses Problem durch ein Update des BIOS lösen, bei vielen nicht. Woran das letztendlich liegt konnte ich nicht final feststellen. Es wird vermutet, dass es an Ivy Bridge liegen könnte.

Die Lüfter des Asus Zenbook mit Fan Control regeln

Bevor ich zur eigentlichen Lösung komme, möchte ich noch etwas vorweg schicken. Es hat mich ewig viel Zeit gekostet in die Nähe der Lösung zu kommen. Viele scheinen den Wunsch zu haben, die Lüfter des Asus Zenbook individuell zu steuern, doch niemand steigt tiefer in die Materie ein. Naja, nicht ganz. Gerade, als ich mit der Suche aufgeben wollte bin ich auf einen Eintrag in der LM-Sensor Mailing-Liste gestoßen. Auch meine Intention war es, die Lüfter über lm-sensors auszulesen. Dort gibt es einen Verweis auf einen Foren-Post mit sehr detaillierten Informationen zur Lüftersteuerung der Asus Zenbooks. Die Lüfter werden ACPI angesteuert. Leider gibt es noch keine fertige Lösung für das Problem. Dies hat mir jedoch ein weiteres entscheidendes Stichwort geliefert, mit dem ich dann zu einer halbwegs tauglichen Lösung gekommen bin. Der Ersteller dieses Posts hat nämlich ein Tool zusammengehackt, mit dem sich der/die Lüfter der Asus Zenbooks auf eine bestimmte Geschwindigkeit regeln lassen. Es wird jedoch ausdrücklich gesagt, dass dieses Tool ein Hack ist und nicht für die alltägliche Nutzung gedacht ist. Vielmehr soll veranschaulicht werden, dass prinzipiell die Steuerung der Lüfter über ACPI calls möglich ist.

Dieses Script wurde dann an anderer Stelle wieder aufgegriffen (siehe Kommentar von Oz). Der Benutzer Oz hat das Skript so modifiziert, dass das Skript alle 5 Sekunden die Temperatur überprüft und basierend auf der Temperatur die Geschwindigkeit des Lüfters regelt. Das klingt für mich jedoch nach einem ziemlichen Overhead und auch hier der Hinweis, dass es nicht für einen produktiven Einsatz gedacht ist. Aber es ist wohl besser als nichts, wenn einem das aufdrehen des Lüfters auf den Keks geht. Das passiert schon bei 50°C. Ich kenne mich damit nicht besonders aus, aber da die verbaute CPU laut Datenblatt maximal 105°C verträgt sollte das bei diesen Temperaturen noch nicht nötig sein. Für die Temperaturbereiche 40°C, 50°C, 60°C, 70°C und 80°C kann mit dem Tool festgelegt werden, wie schnell die Lüfter drehen sollen. Das Tool wurde übrigens sinnigerweise auf den Namen Fancontrol getauft. Den Sourcecode kann man auf pastebin einsehen. Das Ganze muss noch kompiliert werden. Leider verstehe ich die Parameter nicht so ganz, weshalb ich die Beispiele des Autor verwende.

./fancontrol 48 53 65 90 180

Wie gesagt, eine Nutzung über einen längeren Zeitraum ist nicht empfohlen aber wenn der Lüfter in der Bibliothek mal nervt, schadet das sicher nicht. Ich kann aber auch nicht einschätzen, wie (in)effektiv diese Methode hier ist bezüglich der Akkulaufzeit des Asus Zenbooks. Da dieses “Schätzchen” sehr gut vergraben ist, wollte ich diese Lösung hier einfach mal festhalten.

Du willst auf dem Laufenden bleiben was Android Apps und Android Spiele angeht? Dann folge TuxAndDroid.de auf Google+, Facebook oder Twitter!

Ich blogge seit mehreren Jahren hier auf TuxAndDroid.de über Android und Linux. Der Fokus liegt dabei auf interessanten Spielen und Apps. Ich studiere Wirtschaftsinformatik im Master an der Universität Koblenz.

6 Comments to Asus Zenbook Lüfter steuern mit Fan Control

  1. Die Parameter legen die Lüftergeschwindigkeit für die Temperaturen bei 40, 50, 60, 70 und 80°C fest. Dabei können die Parameter die Werte 0 – 255 annehmen, da die Geschwindigkeit systemintern offenbar als zweistellige Hexzahl codiert ist. Ich kenne mich damit auch nicht aus, aber soviel kann ich aus dem Quelltext herauslesen.

  2. Habe ein Shell-Skript geschrieben, dass obiges Programm kontrolliert, je nach gegenwärtiger Temperatur!
    KEINE Garantie dass das auf einem anderen System als meinem (UX31a) funktioniert
    — muss aber auf JEDEN FALL angepasst werden an das System auf dem es benutzt wird! –

    /////////// Skript //////////////

    #!/bin/sh

    ## this script is as ugly as they come. It shouldn’t be used by anyone!

    ## you need to specify where the compiled version of fancntrl.c is
    ## mine is in “/home/nathan/skripte” and is called “fanc”
    ## also, you need to have sensors installed, test them with “sensors” in your bash
    ## if you don’t know what I am talking about, DO NOT USE this script

    temp=70
    lower=50
    max=70
    dummy=0
    xx=0
    yy=0

    echo “as long as not exited with ctrl-c, I will now control your fans ”
    echo “depending on the current temperature prevailing …”
    echo “if exited, don’t forget to set control back to auto!”
    echo
    sleep 2

    while [ $dummy -lt 1 ]
    do
    temp=$(sensors | grep ‘Physical’ | cut -c18-19)
    echo “temperature is $temp °C”
    yy=$(($temp-50))
    yy=$(($yy*5))
    echo “in percent: $yy”

    xx=$(($yy * 255 / 100))

    echo “in ascii: $xx”
    if [ $xx -gt 0 ]
    then
    if [ $xx -gt 254 ]
    then
    /home/nathan/skripte/fanc 255
    echo “set fanspeed to max”
    else
    /home/nathan/skripte/fanc $xx
    echo “set fanspeed to $yy percent”
    fi
    else
    /home/nathan/skripte/fanc 1
    echo “set fanspeed to min”
    fi
    echo
    sleep 4
    done

  3. cybtrash

    @Ben, danke für dein Script, aber das hier erwähnte Programm passt doch schon an sich alle 5 Sekunden den Lüfter an die aktuelle Temperatur an..?

  4. Vielen Dank für deinen Beitrag!

    Ich suche schon gefühlte Ewigkeiten ein Tool, das mir den Lüfter meines Ux31a anpasst. Hab mit Powertop mal nachgemessen: Ein nicht laufender Lüfter verringert den Stromverbrauch enorm! 1 oder 2 Stunden mehr Akkulaufzeit wären damit drin. :)

    LG Thomas

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>