Get lm-sensors Working with ASUS M5A996X EVO Motherboard

I just finished building a new Linux Debian 6 Squeeze server based on the ASUS M5A996X EVO motherboard. Yes, I chose an AMD FX-8150 processor instead of one of the new Intel Ivy Bridge i7’s, and not because of price. I may write up something on why later.

Anyway, Debian Squeeze’s version of lm-sensors doesn’t support the it8721-isa-0290 (it8721f) chipset on the ASUS M5A996X EVO, yet I would like for the thermal sensors to work. High temperatures bad.

Support for this chipset starts in kernel version 2.6.37 – but the lm-sensors people have a standalone kernel module you can build that will enable lm-sensors to work in Linux kernel versions prior to 2.6.37 (Debian Squeeze is using 2.6.32).

To get lm-sensors working, I did the following – but I did it on a different machine than this server, because you probably don’t want to have kernel sources and build tools cluttering up all your nice, clean servers.

mkdir /usr/src/it87 ; cd /usr/src/it87
make && make install

Of course, if you don’t have a build environment for kernel modules, and you’re using Debian, just do a

apt-get install linux-headers-2.6-amd64 kernel-package

Then you can build modules against your currently-running kernel. You may be using something else besides the amd64 architecture. How can I know?

If you need to go put this module into other running servers, just copy it on over into the modules tree and probe it.

scp it87.ko root@MyProductionServer:
ssh root@MyProductionServer
cp it87.ko /lib/modules/$(uname -r)/kernel/drivers/hwmon
modprobe it87

That should do you. To load it at boot forever after, do a

echo "it87" >> /etc/modules

Yes, that bit’s a nasty, lazy cheat. Remember, you’ll need to recompile it with new kernel versions. Well, you should.

Hope this might help someone else.

PS. If you’re wondering about that link to some French server, it was taken directly from the lm-sensors site for “standalone driver” for this chipset.