Come ottenere letture del sensore per hardware recente?


10

Come posso aggiornare lm-sensorsal meglio per funzionare con hardware recente?

Ho una nuova installazione del server Ubuntu 10.10 e ottengo quanto segue:

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

Il link mi dice che questo chip è supportato dal kernel 2.6.36 (mentre Ubuntu 10.10 sta usando 2.6.35) o usando un driver standalone .

Qual è il modo più semplice per aggiornare i sensori lm?


3
L'ho capito, ma penso che abbia bisogno di un HOWTO, quindi pubblicherò una risposta a breve.
jg-faustus,

Risposte:


11

Queste sono le alternative principali:

Aspetta : se non consideri le letture dei sensori critiche, potresti semplicemente aspettare la prossima versione di Ubuntu, che potrebbe includere il supporto per il chip di default.

Driver autonomo : se non si desidera attendere, un driver autonomo potrebbe essere l'opzione migliore, poiché apporta modifiche minime al resto del sistema. Vedi sotto per come installarlo.

Aggiorna il kernel : questo è un po 'più rischioso, poiché eseguirai una combinazione non supportata e non testata della versione di Ubuntu e della versione del kernel - l'aggiornamento del kernel può riparare il supporto del sensore mentre si rompe qualcos'altro. Anche l'aggiornamento del kernel può funzionare bene, a patto che tu sia pronto a tornare indietro nel caso non lo fosse.

Il modo più semplice per aggiornare il kernel è usare uno dei pacchetti predefiniti del kernel di Ubuntu, vedere le build del kernel di ubuntu.com per istruzioni.


Installazione di un driver autonomo

Leggi il HOWTO sulla compilazione di Ubuntu , installa gli strumenti di compilazione:

sudo apt-get install build-essential

Scarica il codice sorgente per il driver

    wget [.h, .c and Makefile files]
  • Compilare, installare e caricare il nuovo modulo. Ecco w83627ehfil nome del driver compilato di recente, differirà tra i sistemi.

    make all
    sudo make install
    sudo modprobe w83627ehf
    

Controlla che funzioni

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

Aggiungi configurazione

Ha ancora bisogno di una configurazione specifica per i chip, questa è la parte difficile.

  • Caso fortunato: trova una configurazione già pronta nelle configurazioni di lm-sensors.org .
  • Ricerca di Google: cerca il nome del chip e potresti trovare qualcuno con lo stesso chip e una configurazione funzionante.
  • Ultima risorsa: confronta con i valori nel BIOS e fai un'ipotesi plausibile su quale lettura vada dove.
  • La configurazione entra /etc/sensors3.conf
  • Ricarica ( sudo sensors -s) o riavvia ( sudo service lm-sensors restart) per utilizzare la nuova configurazione.

Verifica post-configurazione

    $ 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

Fallo funzionare dopo il riavvio

  • modificare /etc/rc.local
  • Aggiungi la linea modprobe w83627ehf
  • (Sostituisci w83627ehfcon il sensore per il tuo sistema. Assicurati di inserirlo prima della exit 0riga, che termina lo script.)

Sanity controlla l'output

  • Confronta l' sensorselenco con le letture del BIOS, verifica che si trovino nel campo di gioco reciproco.
  • Se esegui il dual boot con Windows puoi confrontare le temperature della CPU con Real Temp .

Calibrazione dei valori visualizzati

  • È possibile aggiungere righe simili compute in1 (56/10+1)*@, @/(56/10+1)a sensor3.conf. @è il valore del sensore. Il primo calcolo converte un valore del sensore in visualizzazione del valore, il secondo calcolo lo converte indietro.
  • Vedere man sensors.conf
  • Ottenere temperature accurate richiederebbe un termometro a infrarossi e alcune ore di lavoro (vedere la risposta di Takkat qui ), ma normalmente è possibile ottenere valori "a sfera" con meno sforzo.

Se conosci un modo per migliorare questa risposta, per favore fallo.


1
Risposta FANTASICA! Mi hai salvato la giornata! : D
MestreLion,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.