Bueno, estabamos el otro dia al pedo, charlando con lordcrow y yo seguia persistente con mi idea de poner gDesklets en mi nuevo Slack 10.1, para poder ver el estado de mi hardware, temperatura, velocidad del cooler, tensiones del mother, velocidad de transferencia de la placa de red y etc… bueno, en un momento me dice q le habian comentado de un programita q hacia lo q estabamos buscando, el famoso lm_sensors!
Bueno, aca empezamos:
Antes que nada esto esta hecho para Slackware 10.1, en otras distros puede variar la localizacion de los archivos!
Lo primero q tenemos q saber es que esto lo hice para el kernel 2.6.7, q ya trae el soporte i2c, el cual deberas bajarte si tenes un kernel de la serie 2.4.x aca te dejo un link donde habla sobre como hacerlo.
Bueno, teniendo en cuenta q tenemos un kernel de la serie 2.6.x con soporte para i2c, nos fijaremos q este este compilado en el kernel!
#make menuconfig
# nos fijamos en >device drivers>i2c support y nos fijamos q este todo como modulo, y si no esta lo ponemos!
#make bzImage
#make modules
#make modules_install
copiamos el archivo System.map al directorio /boot/, con el nombre System.map-version de kernel por ej en mi caso System.map-2.6.7
copiamos el archivo bzImage q esta en /usr/src/linux/arch/i386/boot tb a /boot, tb cambiando el nombre a la version q tengan, ej: bzImage-2.6.7
lo agregamos en el archivo /etc/lilo.conf si usas LILO o /boot/grub/menu.lst si usas GRUB
#lilo
o
#grub
dependiendo del bootloader
para Grub
title Linux-2.6.x
root (hd0,1)
kernel /boot/bzImage-2.6.x ro root=LABEL=/ <— aca pone lo mismo q ya tenes escrito para el otro kernel!
para lilo
image=/boot/bzImage-2.6.x
label=Linux-2.6.x root=/dev/hdaX
read-only
bueno, esto fue una pequeña explicacion de como compilar un kernel de la serie 2.6.x es la forma q yo utilizo, de la misma forma tb es posible recompilar un kernel para tu hardware especifico! Bueno, despues de todo esto, ya tenemos el soporte en el kernel, ahora nos bajamos los sources de lm_sensors, y tb un paquete para nuestra distro si queremos tb podemos compilar los sources!.
bien, luego de hacer esto vamos al directorio donde descomprimimos el source y vamos al directorio /lm_sensors/prog/mkdev y ejecutamos como root ./mkdev.sh
Esto crea los dispositivos de los sensores en /dev
Una vez hecho esto ejecutamos sensors-detect esto lo q va hacer es detectar q sensores tenemos funcionado y nos dira q archivos modificar para levantar los modulos necesarios al iniciar linux!
en mi caso aparece esto
#—-cut here—-
# I2C adapter drivers
modprobe i2c-sis96x
modprobe i2c-isa
# I2C chip drivers
modprobe eeprom
modprobe w83781d
#—-cut here—-
esto lo ponemos en nuestro archivo /etc/rc.d/rc.local para q los levante al inicio
hay q editar el archivo q esta en /etc llamado modules.conf y agregar esta linea
alias char-major-89 i2c-dev
sensors-detect nos generará un archivo en donde pusismos las fuenes /lm_sensors/prog/init
q se llama lm_sensors.init el cual copiaremos y renombraremos a rc.lm en /etc/rc.d
le damos permisos de ejecucion con chmod +x a nuestro archivo rc.lm
#chmod +x rc.lm
luego de todo esto agregamos esta linea a nuestro archivo rc.local
/etc/rc.d/./rc.lm start
y listo, ya estan funcionando al inicio!
para ver q esta funcionando ejecutamos
#sensors
y nos deberia devolver algo asi!
w83697hf-isa-0290
Adapter: ISA adapter
VCore: +1.62 V (min = +1.72 V, max = +1.89 V)
+3.3V: +3.25 V (min = +3.14 V, max = +3.48 V)
+5V: +4.98 V (min = +4.77 V, max = +5.25 V)
+12V: +12.12 V (min = +10.84 V, max = +13.21 V)
-12V: +1.56 V (min = -13.16 V, max = -10.77 V)
-5V: +2.40 V (min = -5.23 V, max = -4.73 V)
V5SB: +5.52 V (min = +4.77 V, max = +5.25 V)
VBat: +0.52 V (min = +2.40 V, max = +3.60 V)
fan1: 0 RPM (min = 10546 RPM, div = 2)
fan2: 4927 RPM (min = 337500 RPM, div = 2)
temp1: +37\uffffC (high = +0\uffffC, hyst = +52\uffffC) sensor = diode ALARM
temp2: +44.5\uffffC (high = +120\uffffC, hyst = +120\uffffC) sensor = diode
alarms:
beep_enable:
Sound alarm enabled
esto es generico para utilizar con cualquier frontend como gkrellm, gdesklets o superkaramba.