How I Got “lm-sensors” Working on my Via Epia SN1800 Motherboard

via.8azvymjas0kc0s4k4s8wg8kk4.17ldmg3f9ou8088wk04c40sgo.thI’ve been the owner of a Via Epia SN1800 motherboard for quite some time now, and ever since I got it, I’ve always wanted to be able to monitor the CPU temperature from inside the operating system.

Since I’m using Linux, this means using the “lm-sensors” program, which in my experience never seems to work “out of the box” without a lot of Google searching and configuration tweaking.

Now, I’m no expert in configuring “lm-sensors”. In fact, I mostly get stuck reading a lot of advanced mailing lists about kernel modules and custom Linux kernels.

My System

Motherboard: Via Epia SN1800 (1,8 GHz with active cooling)
Operating System: Debian 5.0.8 (upgraded over time from Debian 5.0 with aptitude)
Kernel: 2.6.26-2-486 (I haven’t installed any kernel versions manually)

How I Got “lm-sensors” Working

As I prefer not to go into extremes and build my own custom Linux kernel, just to get “lm-sensors” working, I decided not to “Google myself to death”, and simply try to follow the instructions given by the “sensors-detect” program.

After some time, I finally got it working.

Finding and Loading the Missing Kernel Module

Using the root account, I started out running the “sensors-detect” program, which is used to find out which sensor chips the motherboard has and which kernel modules are needed to detect and make use of them.

As I expected, no sensor chips were found and I was given the following URL to check for the correct kernel module to load.

Now, to find out the name of the sensor chip on my motherboard, I used the program “lshw” (List Hardware).

The following output from “lshw”, gave me a hint.

description: PCI bridge
product: VT8237/VX700 PCI Bridge
vendor: VIA Technologies, Inc.

Comparing the name “VT8237” to the list on the website posted above, told me that I needed the kernel module called “i2c-viapro”.

Now, executing the following commands, I was finally getting somewhere.

modprobe i2c-viapro

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): yes
Module cpuid loaded successfully.
Silicon Integrated Systems SIS5595… No
VIA VT82C686 Integrated Sensors… No
VIA VT8231 Integrated Sensors… No
AMD K8 thermal sensors… No
AMD Family 10h thermal sensors… No
AMD Family 11h thermal sensors… No
AMD Family 12h and 14h thermal sensors… No
Intel digital thermal sensor… No
Intel AMB FB-DIMM thermal sensor… No
VIA C7 thermal sensor… Success!
(driver `via-cputemp’)
VIA Nano thermal sensor… No

Sadly, however, the last portion of the output showed this message:

Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `via-cputemp’:
* Chip `VIA C7 thermal sensor’ (confidence: 9)

Warning: the required module via-cputemp is not currently installed
on your system. If it is built into the kernel then it’s OK.
Otherwise, check for
driver availability.

No modules to load, skipping modules configuration.

Unloading cpuid… OK

So far so good. Now “sensors-detect” was telling me that I needed another kernel module called “via-cputemp”, which apparently wasn’t in my system.

Finding, Compiling and Installing the “via-cputemp” Kernel Module

Getting the “via-cputemp” kernel module compiled and installed, turned out to be quite simple in the end.

Again, using the link mentioned earlier, I was able to find the “via-cputemp” module as a “standalone driver”.

Direct link to the module:

I then executed the following commands, to get the module downloaded, compiled and installed.

mkdir temp
cd temp
make install

Once the driver was installed, I needed to load it temporarily and then have the “sensors-detect” program load it permanently into my system.

modprobe via-cputemp

The last bit of output from “sensors-detect”, now showed these messages:

Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `via-cputemp’:
* Chip `VIA C7 thermal sensor’ (confidence: 9)

Do you want to generate /etc/sysconfig/lm_sensors? (yes/NO): yes
Copy prog/init/lm_sensors.init to /etc/init.d/lm_sensors
for initialization at boot time.
You should now start the lm_sensors service to load the required
kernel modules.

Unloading cpuid… OK

Now “sensors-detect” had installed and loaded the module permanently, but the above output was also suggesting that I should start the service manually (instead of rebooting the operating system, of course).

/etc/init.d/lm-sensors start

Now, finally, the “sensors” program was correctly configured and showing me the CPU temperature.

Adapter: ISA adapter
Core 0: +50.0°C

One thought on “How I Got “lm-sensors” Working on my Via Epia SN1800 Motherboard”

Leave a Reply

Your email address will not be published.