It's likely worth re-detecting your system's sensor chips every so often

August 5, 2016

My main Linux machines are relatively old by now. Some people reinstall their machines every so often, but I don't, so a certain amount of stuff on my machines has been frozen as it was back when they were initially set up and installed. So let's talk about system sensors.

Lm_sensors is a long-standing package for getting readings for things like fan RPMs, power supply voltages, and various temperatures. Most motherboards, chipsets, and even graphics cards come with chips that can report this information; lm_sensors finds these chips and talks to them. In the way of the PC world, this is nowhere as easy or as straightforward as you would like it to be; there are all sorts of obscure places these chips can be hiding out and very few motherboard makers and so on bother to document anything.

(Usually they just write some Windows drivers and call it a day. The people who made the sensor chips may have written a datasheet that you can get access to, but that doesn't necessarily describe how the chip was connected in to some bit of the system so it can be read.)

Fortunately lm_sensors comes with a script that's designed to probe everything and find everything it can, called sensors-detect. You run it once, tell it to go ahead and probe everything, and then have it record the detected configuration so everything just works from then on (or at least works as well as lm_sensors can make it work). When I got my machines back in 2011, this is exactly what I did, and ever since then I've just run sensors every so often without thinking about it.

2011 is a long time ago in software years and the lm_sensors people have done any number of releases since back then. While I was in the process of running sensors-detect on a new system I was setting up to see what would turn up, I wound up wondering what would happen if I re-ran the current, modern Fedora version on my 2011 machines. Would the current version detect anything new or anything different?

The short answer is yes. It doesn't seem to have made a major difference, but sensors-detect did change what modules it wanted to use and the new set seems to have a bit different information it presents. Specifically, on my ASUS motherboard lm_sensors switched from w83627ehf to nct6775. As covered in the relevant kernel hwmon documentation, the latter is the preferred thing these days for chips that it supports and sensors now does seem to have a bit more data to report.

In the future I probably should do this every few Fedora releases just to see if anything changes. Probably it won't (and it would be handy if sensors-detect could detect that), but it doesn't hurt and there are evidently new developments every so often.


Comments on this page:

By Stephen Kitt at 2016-08-05 11:00:41:

You can even read the temperature of certain DIMMs over the I2C bus, e.g. using the jc42 module — I think sensors-detect needs i2c-dev to be loaded manually before it can figure this out.

Written on 05 August 2016.
« Some malware that sends interesting fake mailing list messages
Free software licenses are social things, not just legal ones »

Page tools: View Source, View Normal, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Fri Aug 5 01:53:10 2016
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.