Thinkfan
Z ThinkPad-Wiki
Spis treści |
Wprowadzenie
thinkfan to proste oprogramowanie do sterowania wentylatorem dla Linuksa. Ten artykuł opisuje instalację i konfigurację dla Debiana i Ubuntu.
Wymagania
Od
- Ubuntu 10.04 „Lucid Lynx” lub
- Debian 6.0 „Squeeze”
thinkfan jest dostępny w repozytoriach dystrybucji.
Obsługiwane są wszystkie modele ThinkPad, w których można załadować moduł jądra thinkpad_acpi. Wyjątki:
- seria SL: brak obsługi thinkpad_acpi
- Seria L, Edge, X100e: wymaga Ubuntu 10.10 z jądrem 2.6.35 lub 10.04 z jądrem tp 2.6.32
Instalacja
Instalacja pakietu
Instalujemy pakiet
- thinkfan
albo za pomocą menedżera pakietów, albo w terminalu
sudo apt-get install thinkfan
Wskazówka: sudo jest potrzebne tylko w Ubuntu; w Debianie wszystkie polecenia wywołuje się zamiast tego z powłoki roota.
Konfiguracja thinkpad_acpi
Aby sterowanie wentylatorem działało, moduł jądra thinkpad_acpi musi zostać załadowany z opcją fan_control=1. W tym celu należy utworzyć plik /etc/modprobe.d/thinkfan.conf z uprawnieniami roota
gksudo gedit /etc/modprobe.d/thinkfan.conf
i wpisać następującą treść
options thinkpad_acpi fan_control=1
Następnie ładujemy moduł ponownie
sudo modprobe -rv thinkpad_acpi sudo modprobe -v thinkpad_acpi
Automatyczne uruchamianie
Aby thinkfan uruchamiał się automatycznie przy starcie systemu, należy edytować plik /etc/default/thinkfan z uprawnieniami roota i w poniższej linii zamienić no na yes:
START=yes
Konfiguracja progów temperatury
thinkfan nie ma interfejsu graficznego. Progi temperatury konfiguruje się w pliku tekstowym /etc/thinkfan.conf. Domyślne progi powinny działać w każdym ThinkPadzie. W razie potrzeby plik można edytować z uprawnieniami roota:
(0, 0, 55) (1, 48, 60) (2, 50, 61) (3, 52, 63) (4, 56, 65) (5, 59, 66) (7, 63, 32767)
Każdy wiersz składa się z trzech wartości - ich znaczenie jest następujące (od lewej do prawej):
- Poziom wentylatora 0 (wyłączony) - 7 (maks.)
- Temperatura, po osiągnięciu której przy spadku temperatury poziom wentylatora jest zmniejszany o 1
- Temperatura, po osiągnięciu której przy wzroście temperatury poziom wentylatora jest zwiększany o 1
Wskazówka: uwzględniana jest zawsze tylko najwyższa wartość ze wszystkich czujników temperatury wykrytych w systemie.
Po skonfigurowaniu progów można ręcznie uruchomić demon thinkfan
sudo /etc/init.d/thinkfan start
Wyświetlanie temperatur
W ThinkPadach wartości wszystkich czujników temperatury wyświetla się za pomocą
cat /proc/acpi/ibm/thermal
. Pierwsza wartość to zawsze CPU. Przyporządkowanie pozostałych czujników zależy od konkretnego modelu. Szczegóły można znaleźć tutaj.
Tryb testowy
Aby od razu obserwować skutki wprowadzonych ustawień, najpierw zatrzymujemy działający w tle demon thinkfan
sudo /etc/init.d/thinkfan stop
Następnie uruchamiamy thinkfan na pierwszym planie poleceniem
sudo thinkfan -n
Pojawia się następujące, ciągłe wyjście (przykład)
WARNING: Using default temperature inputs in /proc/acpi/ibm/thermal. WARNING: You have not provided any correction values for any sensor, and your fan will only start at 55 °C. This can be dangerous for your hard drive. Config as read from /etc/thinkfan.conf: Fan level Low High 0 0 55 1 48 60 2 50 61 3 52 63 4 56 65 5 59 66 7 63 32767 sleeptime=5, temp=50, last_temp=0, biased_temp=50 -> level=1 sleeptime=5, temp=60, last_temp=59, biased_temp=60 -> level=2 sleeptime=5, temp=61, last_temp=60, biased_temp=61 -> level=3 sleeptime=5, temp=52, last_temp=53, biased_temp=52 -> level=2 sleeptime=5, temp=50, last_temp=51, biased_temp=50 -> level=1
Test można zakończyć za pomocą Ctrl+C.
Rozwiązywanie problemów
Brak działania na X220, T420(s), L420 z Ubuntu 11.04 / jądrem 2.6.38
Objaw: przy ręcznym uruchomieniu thinkfan poleceniem
sudo /etc/init.d/thinkfan start
pojawia się następujący komunikat
/proc/acpi/ibm/thermal: No such file or directory
Przyczyna: plik /proc/acpi/ibm/thermal nie istnieje już w omawianych modelach. Czujniki temperatury zostały przeniesione w inne miejsce w Sysfs, a thinkfan ich nie rozpoznaje.
Rozwiązanie: aby ustalić dostępne czujniki temperatury, należy najpierw zainstalować pakiet
- lm-sensors
Następnie uruchamiamy wykrywanie poleceniem
sudo sensors-detect
Wszystkie pytania programu (poza ostatnim) można potwierdzić klawiszem <Enter> (YES).
Na ostatnie pytanie programu "Do you want to add these lines automatically to /etc/modules? (yes/NO)" odpowiadamy yes <Enter>.
W następnym kroku ładujemy moduły jądra wykryte przez sensors-detect poleceniem
sudo /etc/init.d/module-init-tools start
lub, opcjonalnie, restartując system.
Teraz dostępne czujniki temperatury można wyświetlić następującym poleceniem:
find /sys/devices -type f -name "temp*_input"
Wiersze wyniku dodaje się z poprzedzającym je sensor do pliku /etc/thinkfan.conf (przed progami temperatur).
Przykład (T420s):
sensor /sys/devices/platform/coretemp.0/temp1_input sensor /sys/devices/platform/coretemp.2/temp1_input sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
Aktualne wartości czujników temperatury można
sensors
wyświetlić.
Linki
Źródła
- Forum Thinkpad - instrukcja instalacji) autorstwa jetronic (3. wpis
- Thinkpad-Forum - punkt wyjścia dla obejścia problemu autorstwa unattached (wpis 57)
- ThinkPad-Forum - wskazówka dotycząca sensors-detect od Miko (wpis 7)

