¿Cómo obtener lecturas de sensores para hardware reciente?

10

¿Cómo puedo actualizar mejor lm-sensorspara trabajar con hardware reciente?

Tengo una nueva instalación del servidor Ubuntu 10.10 y obtengo lo siguiente:

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

El enlace me dice que este chip es compatible con el kernel 2.6.36 (mientras que Ubuntu 10.10 usa 2.6.35) o mediante un controlador independiente .

¿Cuál es la forma más sencilla de actualizar los sensores lm?

jg-faustus
fuente
3
Lo descubrí, pero creo que necesita un CÓMO, así que publicaré una respuesta en breve.
jg-faustus

Respuestas:

11

Estas son las alternativas principales:

Espere : si no considera que las lecturas del sensor son críticas, puede esperar la próxima versión de Ubuntu, que puede incluir soporte para el chip de forma predeterminada.

Controlador independiente : si no desea esperar, un controlador independiente puede ser la mejor opción, ya que realiza cambios mínimos en el resto del sistema. Vea a continuación cómo instalarlo.

Actualice el kernel : esto es algo más arriesgado, ya que ejecutará una combinación no respaldada y no probada de la versión de Ubuntu y la versión del kernel: la actualización del kernel puede solucionar el soporte del sensor mientras se rompe algo más. Actualizar el kernel también puede funcionar bien, siempre y cuando esté preparado para retroceder en caso de que no lo haga.

La forma más sencilla de actualizar el kernel es usar uno de los paquetes de kernel preconstruidos de Ubuntu, consulte las compilaciones del kernel de ubuntu.com para obtener instrucciones.


Instalar un controlador independiente

Lea el CÓMO de compilación de Ubuntu , instale las herramientas de compilación:

sudo apt-get install build-essential

Descargue el código fuente del controlador

    wget [.h, .c and Makefile files]
  • Compile, instale y cargue el nuevo módulo. Aquí w83627ehfestá el nombre del controlador compilado recientemente, diferirá entre sistemas.

    make all
    sudo make install
    sudo modprobe w83627ehf
    

Comprueba que funciona

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

Agregar configuración

Todavía necesita una configuración específica de chip, esta es la parte difícil.

  • Caso de suerte: encuentre una configuración preparada en lm-sensors.org configuraciones .
  • Búsqueda de Google: busque el nombre del chip y puede encontrar a alguien con el mismo chip y una configuración de trabajo.
  • Último recurso: compárelo con los valores del BIOS y haga una suposición informada sobre qué lectura va a dónde.
  • La configuración entra /etc/sensors3.conf
  • Vuelva a cargar ( sudo sensors -s) o reinicie ( sudo service lm-sensors restart) para usar la nueva configuración.

Comprobando post-config

    $ 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

Haz que funcione después de reiniciar

  • Editar /etc/rc.local
  • Agrega la línea modprobe w83627ehf
  • (Reemplace w83627ehfcon el sensor de su sistema. Asegúrese de colocarlo antes de la exit 0línea, que finaliza el script).

La cordura verifica la salida

  • Compare el sensorslistado con las lecturas del BIOS, verifique que estén en el campo de juego el uno del otro.
  • Si realiza un arranque dual con Windows, puede comparar las temperaturas de la CPU con Real Temp .

Calibrar valores de visualización

  • Puede agregar líneas como compute in1 (56/10+1)*@, @/(56/10+1)sensores3.conf. @es el valor del sensor El primer cálculo convierte un valor del sensor en un valor de visualización, el segundo cálculo lo convierte de nuevo.
  • Ver man sensors.conf
  • Obtener temperaturas precisas requeriría un termómetro infrarrojo y unas pocas horas de trabajo (vea la respuesta de takkat aquí ), pero normalmente puede obtener valores de "estadio" con menos esfuerzo.

Si conoce una manera de mejorar esta respuesta, hágalo.

jg-faustus
fuente
1
¡Respuesta fantástica! Me salvó el día! : D
MestreLion