lunes, julio 03, 2006

Instalar apropiadamente los sensores

Para continuar con asuntos relaccionados con el hardware vamos a instalar lm-sensors para poder conocer el estado de nuestra máquina en todo momento:

$ sudo aptitude install lm-sensors

Para configurarlo crearemos un script mkdev.sh con el siguiente contenido:

#!/bin/bash
# Here you can set several defaults.
# The number of devices to create (max: 256)
NUMBER=32
# The owner and group of the devices
OUSER=root
OGROUP=root
# The mode of the devices
MODE=600
# This script doesn't need to be run if devfs is used
if [ -r /proc/mounts ] ; then
if grep -q "/dev devfs" /proc/mounts ; then
echo "You do not need to run this script as your system uses devfs."
exit;
fi
fi
i=0;
while [ $i -lt $NUMBER ] ; do
echo /dev/i2c-$i
mknod -m $MODE /dev/i2c-$i c 89 $i || exit
chown "$OUSER:$OGROUP" /dev/i2c-$i || exit
i=$[$i + 1]
done
#end of file

cambiamos los permisos del archivo de forma que pueda ejecutarse, y lo ejecutamos.

$ chmod +x mkdev.sh
$ sudo ./mkdev.sh

Ejecutamos después sensors-detect, que nos hará una serie de preguntas mientras intenta determinar qué módulos deberíamos cargar. Si no sabes contestar a alguna pregunta, simplemente pulsa enter para seleccionar el valor por defecto.

$ sudo sensors-detect

Esta es la salida de sensors-detect para mi PC:

To make the sensors modules behave correctly, add these lines to
/etc/modules:

#----cut here----
# I2C adapter drivers
i2c-viapro
# modprobe unknown adapter bt878 #0 [sw]
i2c-isa
# I2C chip drivers
eeprom
via686a
#----cut here----

Then, run /etc/init.d/module-init-tools

To make the sensors modules behave correctly, add these lines to
/etc/modprobe.d/local and run update-modules:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----

Vamos a añadir los módulos listados a /etc/modules como nos indican. En este caso se necesita un poco de Google o de prueba y error para determinar en qué orden se deben cargar, ya que dependiendo del orden puede que algunos sensores no funcionen. Una vez determinado el orden pasamos a editar el archivo:

$ sudo gedit /etc/modules

En mi caso este es el orden a utilizar:

1. via686a
2. eeprom
3. i2c-viapro
4. i2c-isa

Cargaremos los módulos en el orden específicado para comprobar que funcione

$ sudo modprobe via686a
$ sudo modprobe eeprom
$ sudo modprobe i2c-viapro
$ sudo modprobe i2c-isa
$ sudo depmod -a
$ sudo update-modules

Y por último ejecutamos sensors para comprobar los sensores que detecta y que sus valores sean correctos:

$ sensors
Philips PAL_BG -i2c-1-61
Adapter: bt878 #0 [sw]
eeprom-i2c-1-50
Adapter: bt878 #0 [sw]
Unknown EEPROM type (0)
via686a-isa-6000
Adapter: ISA adapter
CPU core: +1.76 V (min = +2.00 V, max = +2.50 V) ALARM
+2.5V: +1.21 V (min = +0.06 V, max = +3.10 V)
I/O: +3.33 V (min = +3.12 V, max = +3.45 V)
+5V: +4.88 V (min = +4.73 V, max = +5.20 V)
+12V: +12.43 V (min = +11.35 V, max = +12.48 V)
CPU Fan: 7258 RPM (min = 2657 RPM, div = 2)
P/S Fan: 0 RPM (min = 2657 RPM, div = 2) ALARM
SYS Temp: +60.6°C (high = +45°C, hyst = +40°C) ALARM
CPU Temp: +45.8°C (high = +60°C, hyst = +55°C)
SBr Temp: +27.4°C (high = +65°C, hyst = +60°C)

Al reiniciar tendremos acceso a los diferentes sensores para comprobar el estado del sistema. Para mostrar estos valores de forma gráfica podemos utilizar programas como gDesklets o GKrellM. Yo suelo utilizar los applets hardware-monitor o GNOME Sensors Applet del panel de Gnome.

No hay comentarios.: