Wie erhalte ich Sensorwerte für aktuelle Hardware?

10

Wie aktualisiere ich am besten lm-sensors, um mit der neuesten Hardware zu arbeiten?

Ich habe eine Neuinstallation des Ubuntu 10.10-Servers und erhalte Folgendes:

$ 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.

Der Link sagt mir, dass dieser Chip von Kernel 2.6.36 (während Ubuntu 10.10 2.6.35 verwendet) oder von einem eigenständigen Treiber unterstützt wird .

Was ist der einfachste Weg, um lm-Sensoren zu aktualisieren?

jg-faustus
quelle
3
Ich habe es herausgefunden, denke aber, dass es ein HOWTO braucht, also werde ich in Kürze eine Antwort veröffentlichen.
JG-Faustus

Antworten:

11

Dies sind die Hauptalternativen:

Warten Sie ab : Wenn Sie die Sensorwerte nicht für kritisch halten, können Sie einfach auf die nächste Ubuntu-Version warten, die standardmäßig Unterstützung für den Chip enthält.

Standalone-Treiber : Wenn Sie nicht warten möchten, ist ein Standalone-Treiber möglicherweise die beste Option, da er nur minimale Änderungen am Rest des Systems vornimmt. Weiter unten erfahren Sie, wie Sie es installieren.

Upgrade des Kernels : Dies ist etwas riskanter, da Sie eine nicht unterstützte und nicht getestete Kombination aus Ubuntu-Version und Kernel-Version ausführen. Durch ein Upgrade des Kernels wird möglicherweise die Sensorunterstützung behoben, während etwas anderes beschädigt wird. Das Aktualisieren des Kernels funktioniert möglicherweise auch einwandfrei, solange Sie bereit sind, ein Rollback durchzuführen, falls dies nicht der Fall ist.

Die einfachste Möglichkeit, den Kernel zu aktualisieren, besteht darin, eines der vorgefertigten Kernel-Pakete von Ubuntu zu verwenden . Anweisungen hierzu finden Sie unter Kernel-Builds von ubuntu.com .


Installieren eines eigenständigen Treibers

Lesen Sie das Ubuntu-Kompilierungs-HOWTO und installieren Sie die Kompilierungs-Tools:

sudo apt-get install build-essential

Laden Sie den Quellcode für den Treiber herunter

    wget [.h, .c and Makefile files]
  • Kompilieren, installieren und laden Sie das neue Modul. Hier w83627ehfist der Name des kürzlich kompilierten Treibers, er unterscheidet sich zwischen den Systemen.

    make all
    sudo make install
    sudo modprobe w83627ehf
    

Überprüfen Sie, ob es funktioniert

    $ 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 ...]

Konfiguration hinzufügen

Es benötigt noch eine chipspezifische Konfiguration, dies ist der schwierige Teil.

  • Glücksfall : Eine vorgefertigte Konfiguration finden Sie unter lm-sensors.org-Konfigurationen .
  • Google-Jagd: Wenn Sie nach dem Namen des Chips suchen, finden Sie möglicherweise jemanden mit demselben Chip und einer funktionierenden Konfiguration.
  • Letzter Ausweg: Vergleichen Sie mit den Werten im BIOS und raten Sie genau, welche Lesung wohin führt.
  • Konfiguration geht in /etc/sensors3.conf
  • Reload ( sudo sensors -s) oder restart ( sudo service lm-sensors restart), um die neue Konfiguration zu verwenden.

Überprüfung nach der Konfiguration

    $ 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

Lassen Sie es nach dem Neustart funktionieren

  • Bearbeiten /etc/rc.local
  • Fügen Sie die Zeile hinzu modprobe w83627ehf
  • (Ersetzen Sie ihn w83627ehfdurch den Sensor für Ihr System. Stellen Sie sicher, dass er vor der exit 0Zeile steht, die das Skript beendet.)

Überprüfen Sie die Ausgabe

  • Vergleichen Sie die sensorsListe mit den BIOS-Messwerten und stellen Sie sicher, dass sie sich im Ballpark voneinander befinden.
  • Wenn Sie mit Windows dual booten, können Sie die CPU-Temperaturen mit Real Temp vergleichen .

Anzeigewerte kalibrieren

  • Sie können Zeilen wie compute in1 (56/10+1)*@, @/(56/10+1)sensors3.conf hinzufügen. @ist der Sensorwert. Die erste Berechnung wandelt einen Sensorwert in einen Anzeigewert um, die zweite Berechnung wandelt ihn zurück.
  • Sehen man sensors.conf
  • Um genaue Temperaturen zu erhalten, wären ein Infrarot-Thermometer und einige Stunden Arbeit erforderlich (siehe Takkats Antwort hier ), aber normalerweise können Sie mit weniger Aufwand "Baseball" -Werte erhalten.

Wenn Sie einen Weg kennen, um diese Antwort zu verbessern, tun Sie dies bitte.

jg-faustus
quelle
1
FANTASISCHE Antwort! Rettete meinen Tag! : D
MestreLion