Jak uzyskać odczyty czujników dla najnowszego sprzętu?

10

Jak najlepiej zaktualizować lm-sensorsdo pracy z najnowszym sprzętem?

Mam nową instalację serwera Ubuntu 10.10 i otrzymuję następujące informacje:

$ sudo apt-get install lm-sensors
$ sensors
No sensors found! [...] 
Try sensors-detect [...]
$ sudo sensors-detect
[...]
Driver 'to-be-written':
  * Chip "Nuvoton W83667HG-B Super IO Sensors" (confidence: 9)
Note: there is no driver for [this sensor] yet.
Check http://www.lm-sensors.org/wiki/Devices for updates.

Link mówi mi, że ten układ jest obsługiwany od jądra 2.6.36 (Ubuntu 10.10, gdy używa 2.6.35) lub za pomocą sterownika autonomicznego .

Jaki jest najprostszy sposób aktualizacji czujników LM?

jg-faustus
źródło
3
Rozgryzłem to, ale myślę, że potrzebuje HOWTO, więc wkrótce opublikuję odpowiedź.
jg-faustus

Odpowiedzi:

11

Oto podstawowe alternatywy:

Poczekaj : jeśli nie uważasz krytycznych odczytów czujnika, możesz po prostu poczekać na następną wersję Ubuntu, która może domyślnie obejmować obsługę układu.

Samodzielny sterownik : jeśli nie chcesz czekać, najlepszym rozwiązaniem może być samodzielny sterownik, ponieważ wprowadza minimalne zmiany w pozostałej części systemu. Zobacz poniżej, jak go zainstalować.

Uaktualnij jądro : Jest to nieco bardziej ryzykowne, ponieważ będziesz uruchamiał nieobsługiwaną i nieprzetestowaną kombinację wersji Ubuntu i wersji jądra - uaktualnienie jądra może naprawić obsługę czujnika, jednocześnie psując coś innego. Uaktualnienie jądra może również działać dobrze, o ile jesteś przygotowany na wycofanie się na wypadek, gdyby nie.

Najprostszym sposobem na uaktualnienie jądra jest skorzystanie z jednego z gotowych pakietów jądra Ubuntu, instrukcje znajdziesz w kompilacjach jądra ubuntu.com .


Instalowanie samodzielnego sterownika

Przeczytaj HOWTO kompilacji Ubuntu , zainstaluj narzędzia kompilacyjne:

sudo apt-get install build-essential

Pobierz kod źródłowy sterownika

    wget [.h, .c and Makefile files]
  • Skompiluj, zainstaluj i załaduj nowy moduł. Oto w83627ehfnazwa ostatnio skompilowanego sterownika, będzie się różnić w zależności od systemu.

    make all
    sudo make install
    sudo modprobe w83627ehf
    

Sprawdź, czy to działa

    $ sensors
    w83667hg-isa-0a10
    Adapter: ISA adapter
    in0:       +1.18 V  (min =  +0.62 V, max =  +1.47 V)   
    in1:       +1.11 V  (min =  +1.05 V, max =  +1.15 V)   
    [... snip ...]

Dodaj konfigurację

Nadal wymaga konfiguracji specyficznej dla układu, jest to trudna część.

  • Szczęśliwy przypadek: znajdź gotową konfigurację na konfiguracjach lm-sensors.org .
  • Polowanie Google: wyszukaj nazwę chipa, a możesz znaleźć kogoś z tym samym chipem i działającą konfiguracją.
  • Ostateczność: porównaj z wartościami w BIOS-ie i zgadnij, gdzie czytać.
  • Konfiguracja wchodzi /etc/sensors3.conf
  • Załaduj sudo sensors -sponownie ( ) lub uruchom ponownie ( sudo service lm-sensors restart), aby użyć nowej konfiguracji.

Sprawdzanie po konfiguracji

    $ sensors
    w83667hg-isa-0a10
    Adapter: ISA adapter
    VCore:       +1.18 V  (min =  +0.62 V, max =  +1.47 V)   
    Vtt:         +1.11 V  (min =  +1.05 V, max =  +1.15 V)   
    AVCC:        +3.34 V  (min =  +2.98 V, max =  +3.63 V)   
    +3.3V:       +3.34 V  (min =  +2.98 V, max =  +3.63 V)   
    IGD:         +1.56 V  (min =  +1.00 V, max =  +2.00 V)   
    3VSB:        +3.26 V  (min =  +2.98 V, max =  +3.63 V)   
    VBat:        +3.31 V  (min =  +2.54 V, max =  +3.46 V)   
    CPU Fan:    1834 RPM  (min =  301 RPM, div = 32)
    M/B Temp:    +30.0°C  (high = +55.0°C, hyst = +52.0°C)  sensor = thermistor
    CPU Temp:    +67.0°C  (high = +72.0°C, hyst = +70.0°C)  sensor = thermistor
    AUX Temp:    +27.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor

Uruchom po ponownym uruchomieniu

  • Edytować /etc/rc.local
  • Dodaj linię modprobe w83627ehf
  • (Zamień w83627ehfczujnik na swój system. Upewnij się, że umieściłeś go przed exit 0linią, która kończy skrypt.)

Poczytalność sprawdź wyjście

  • Porównaj sensorslistę z odczytami BIOS-u, sprawdź, czy znajdują się one na boisku.
  • Jeśli uruchamiasz podwójnie z Windows, możesz porównać temperatury procesora z Real Temp .

Kalibracja wyświetlanych wartości

  • Możesz dodać wiersze, takie jak compute in1 (56/10+1)*@, @/(56/10+1)czujniki3.conf. @to wartość czujnika. Pierwsze obliczenie przekształca wartość czujnika w wyświetlaną wartość, drugie obliczenie przekształca ją z powrotem.
  • Widzieć man sensors.conf
  • Uzyskanie dokładnych temperatur wymagałoby termometru na podczerwień i kilku godzin pracy (patrz odpowiedź takkata tutaj ), ale normalnie można uzyskać wartości „ballpark” przy mniejszym wysiłku.

Jeśli znasz sposób na poprawienie tej odpowiedzi, zrób to.

jg-faustus
źródło
1
FANTASIC odpowiedź! Uratowałem mój dzień! : D
MestreLion