Das NAS-Device besitzt einen kleinen Lüfter an der Rückseite, der durch das eingebaute Lüftermanagement niemals abgeschalten wird. Da ich mein NAS im Schlafzimmer stehen habe, war für mich ein leiser Lüfter absolut notwendig. Seit November 2007 habe ich mit einem Script, welches zwei interne Programme des NAS nutzt, herumgeschlagen. Es gab viele Probleme, was sich schon an den momentanen 124 Kommentaren erkennen lässt. Dankbarerweise hat sich Fonz (der Macher des fun_plug) nun erbarmt und hat ein C-Programm erstellt. Dieses steuert den Lüfter über die internen Funktionen des NAS an (genauer gesagt geht das über die Netzwerkkarte) und verzichtet so auf überflüssige Interpreter und externe Programme. Nach einem intensiven Beta-Test (danke an euch alle!) möchte ich nun das Paket dazu freigeben.

Diese Anleitung bedingt, dass das fun_plug 0.5 (Reguläre Version) (USB-Version) korrekt installiert wurde. Zudem weise ich darauf hin, dass ich nicht für eventuelle Schäden, Datenverluste oder andere Probleme haften werden. Das Verwenden dieses Artikels geschieht auf eigene Gefahr!

Das Tutorial setzt voraus, dass fun_plug installiert wurde und mein Repository entsprechend der Anweisungen synchronisiert und aktualisiert wurde. Die Installation gestaltet sich dann extrem einfach:

1
funpkg -i /ffp/pkg/additional/ffp-misc/fanctl-*.tgz

Damit ist das Paket installiert. Nun geht’s an die Einrichtung. Zunächst muss man die Konfigurationsdatei kopieren.

1
cp /ffp/etc/examples/fanctl.conf /ffp/etc/fanctl.conf

Nun könnte man die Steuerungswerte für die Regelung in der /ffp/etc/fanctl.conf anpassen. Die Defaultwerte sind aber schon recht brauchbar. Ein paar Details zur Regelungstechnik:

  • Ist der Temperaturwert unter temp_stop, so wird pwm_stop als Drehzahl gesetzt

  • Ist der Temperaturwert wieder über temp_lo, so wird der Lüfter mit der Drehzahl pwm_start für eine Sekunde betrieben (Lüfteranlaufen), danach wird der nächste Punkt angewendet.

  • Ist der Temperaturwert zwischen temp_lo und temp_hi, so wird folgende Rechnung zur Berechnung der Drehzahl angewandt:

    (pwm_hi - pwm_lo) * (temp - temp_lo) / (temp_hi - temp_lo) * (temp - temp_lo) / (temp_hi - temp_lo) + pwm_lo

  • Ist der Temperaturwert über temp_hi, so wird pwm_hi als Drehzahl gesetzt

  • Ist der Temperaturunterschied zwischen temp_stop und temp_lo zu niedrig wird die Hysterese nicht richtig funktionieren und der Lüfter dann alle paar Minuten vermutlich kurz für ein Intervall laufen. Ich habe mit 3° gute Erfahrungen gemacht.

Hier noch ein Bild des Steuerungsverlaufs mit den Default-Werten:

Fanctl

Ein Wort zu den Werten: Temperaturen & Drehzahlen werden *1000 gerechnet und eingetragen. Bei temp_crit werden die Befehle aus temp_crit_command ausgeführt (Default: NAS fährt herunter). Bei manchen NAS-Systemen kann dieser Wert zu niedrig sein!

Bevor nun das Programm nun laufen darf, müssen alle anderen Lüfterscripte abgestellt werden. Dazu kann man diese z.B. in der fun_plug auskommentieren oder das executable-Bit entfernen (wenn diese im start-Ordner liegen). Anschließend bitte einmal rebooten.

Nach dem reboot bitte prüfen ob nur noch die Lüftersteuerung des Herstellers aktiv ist:

1
ps aux|grep fan

Dies sollte lediglich einen Prozess mit dem Namen fancontrol zeigen, also z.B: diese Ausgabe:

1
2
[NUMMER] root fancontrol
[NUMMER] root grep fan

Auf ins kalte Wasser:

1
sh /ffp/start/fanctl.sh start

Nach dieser Zeile wird der interne Fancontroller gekillt und das fanctl übernimmt dessen Arbeit. Dies sollte hörbar vernehmbar sein, denn in den ersten 30 Sekunden wird der Lüfter auf Vollgas laufen (Das ist so beabsichtigt). Sobald das erste “laute” Intervall durchgelaufen ist, wird fanctl die reguläre Steuerung aufnehmen, was sich in einem leisen Lüfter “bemerkbar” machen wird.

Natürlich kannst du das fanctl auch dauerhaft aktivieren, dann startet es automatisch beim Bootvorgang mit:

1
chmod a+x /ffp/start/fanctl.sh

Soweit erstmal von meiner Seite, bei allen Fragen bitte melden!

Hinweis: Ein sehr ausführliches Tutorial mit vielen Hintergrundinformationen findet sich auf meiner englischsprachigen Seite www.nas-tweaks.net .