How do I best update lm-sensors
to work with recent hardware?
I have a fresh install of Ubuntu 10.10 server, and get the following:
$ 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.
The link tells me that this chip is supported from kernel 2.6.36 (while Ubuntu 10.10 is using 2.6.35) or by using a standalone driver.
What is the simplest way to update lm-sensors?
These are the primary alternatives:
Wait it out: If you don't consider sensor readings critical you may just wait for the next Ubuntu release, which may include support for the chip by default.
Standalone driver: If you don't want to wait, a standalone driver may be the best option, as it makes minimal changes to the rest of the system. See below for how to install it.
Upgrade the kernel: This is somewhat more risky, as you will be running an unsupported and untested combination of Ubuntu version and kernel version - upgrading the kernel may fix the sensor support while breaking something else. Upgrading the kernel may also work just fine, as long as you are prepared to roll back in case it doesn't.
The simplest way to upgrade the kernel is to use one of Ubuntu's prebuilt kernel packages, see ubuntu.com kernel builds for instructions.
Installing a standalone driver
Read the Ubuntu compiling HOWTO, install compiling tools:
sudo apt-get install build-essential
Download the source code for the driver
Compile, install and load the new module. Here
w83627ehf
is the name of the recently compiled driver, it will differ between systems.Check that it works
Add configuration
It still needs chip-specific configuration, this is the hard part.
/etc/sensors3.conf
sudo sensors -s
) or restart (sudo service lm-sensors restart
) to use the new configuration.Checking post-config
Make it work after restart
/etc/rc.local
modprobe w83627ehf
w83627ehf
with the sensor for your system. Make sure to put it before theexit 0
line, which terminates the script.)Sanity check the output
sensors
listing with the BIOS readings, verify that they are in the ballpark of each other.Calibrating display values
compute in1 (56/10+1)*@, @/(56/10+1)
to sensors3.conf.@
is the sensor value. The first calculation converts a sensor value to display value, the second calculation converts it back.man sensors.conf
If you know of a way to improve this answer, please do.