lm-sensors on the VIA EPIA SN10000EG and SN18000g
1. Edit /etc/modprobe.d/options.conf
2. Add the following line:
options dme1737 probe_all_addr=1 |
3. Save and exit
4. Load the module
modprobe dme1737 |
5. Check that it loaded succesfully:
lsmod |
6. Edit the /etc/sysconfig/lm_sensors file
HWMON_MODULES="dme1737" MODULE_0=dme1737 |
7. Run sensors to check the output
sensors |
8. I also compiled the c7temp module because the in0 didn’t show and loaded it.
mkdir -p /usr/src/c7temp (I extracted the c7temp.c file from the patch which is placed here: http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20080619/0dccdaf0/attachment.bin) touch /usr/src/c7temp/c7temp.c filled the contents of c7temp.c with those of the patch |
Created a makefile in the c7temp dir.
obj-m := c7temp.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules |
And ran make in the c7temp dir. This will get you a .ko file. Install it.
install -m 644 c7temp.ko /lib/modules/`uname -r`/kernel/drivers/hwmon/c7temp.ko |
Generate the modules.dep and map files
depmod -a |
And load the module
modprobe c7temp |
And check that the module loaded with lsmod
lsmod |
Modified the /etc/sysconfig/lm_sensors file a bit again
# Generated by sensors-detect on Wed Jul 1 08:43:13 2009 # This file is sourced by /etc/init.d/lm_sensors and defines the modules to # be loaded/unloaded. # # The format of this file is a shell script that simply defines variables: # HWMON_MODULES for hardware monitoring driver modules, and optionally # BUS_MODULES for any required bus driver module (for example for I2C or SPI). HWMON_MODULES="dme1737 c7temp" # For compatibility reasons, modules are also listed individually as variables # MODULE_0, MODULE_1, MODULE_2, etc. # You should use BUS_MODULES and HWMON_MODULES instead if possible. MODULE_0=dme1737 MODULE_1=c7temp |
Done.
9. I edited the /etc/sensors3.conf file on my machine
chip "sch311x-*" ignore in0 label in1 "Vcore" label in2 "+3.3V" label in3 "+5V" label in4 "+12V" label in5 "3VSB" label in6 "Vbat" label temp1 "CPU" label temp2 "SIO Temp" label temp3 "M/B Temp" set in2_min 3.3 * 0.90 set in2_max 3.3 * 1.10 set in3_min 5.0 * 0.90 set in3_max 5.0 * 1.10 set in4_min 12.0 * 0.90 set in4_max 12.0 * 1.10 set in5_min 3.3 * 0.90 set in5_max 3.3 * 1.10 set in6_min 3.0 * 0.90 set in6_max 3.0 * 1.10 chip "c7temp-*" ignore temp1 |
Categories: Debian
Hi,
Managed to build c7temp, but installing it seems a little trickier. Running sid I think c7temp.ko should go in kernel/drivers/hwmon, though I may well be wrong. Where ever I put it modprobe will not see it… Any ideas or pointers?
I noticed there was a command missing after the install script which might cause this. Try to run: “depmod -a” to generate modules.dep and map files.
If that still fails:
I just placed the file in the driver dir. Although you are right about the hwmon directory, you should be able to put it there. You might try an insmod with the .ko file to see if it will load at all. If this fails you could try to view the log files to see what is going wrong. Dmesg might give you an idea.
Thank you for your comments. I fixed the blog entry accordingly.
Revisiting the subject after some system updates, appears c7temp is now immediately seen by sensors-detect and your article has helped me iron out the last kinks. Thank you!
Thanks a bunch for this guide, I was really interested in getting the c7temp module to work, but couldn’t be bothered to get a complete kernel source and patch it – I would never have expected that it can be compiled seperately just like that, but it worked!
I’d like to ask you some questions though, first: Why did you choose to ignore the temp1 of c7temp?
And second: Based on what information did you set the label names? I own a Via Epia CN13000EG and the output is a bit different for me, so if you can point me to a place where you got the info from, I would greatly appreciate that π
I ignored the temp1 of c7temp because it never returns any value. I suppose it is not used/connected on my system.
About the labels: I just made them up. π I had to fill in something to make it look ok. π I suspect the CPU label to be ok. The SIO and M/B temps are probably not ok. I suspect temp3 to be the northbridge/southbridge. The quickest way to find is by running watch sensors I guess and heating/cooling some parts of the motherboard more than others. As I was only interested in the CPU temperature I left it like that.
Ok thanks for your quick reply π
temp1 works for my board in c7temp which is quite nice (it shows 58.0C right now) – but i read on some mailing list that it shows 0.0C for some people, so you seem to be one of the unlucky ones :-/
maybe I’ll make up some other labels later, or see if I can find some place where someone figured them out for the vt1211 module.
For those (like me) unlucky ones getting 0.0C from Juerg’s driver (linked in the article above), Justin Chudgar combined it with another driver developed by Harald Welte which can get the right temperature. See the link http://lists.lm-sensors.org/pipermail/lm-sensors/2009-August/026537.html.
The path on step 8 would now be:
http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20090822/92ea9107/attachment-0001.bin
It worked for me like a charm (thanks for showing us how to do it without recompiling the whole kernel, Wytze!). My output:
fileserver:/usr/src/c7temp# sensors
c7temp-isa-0000
Adapter: ISA adapter
in1: +1.00 V
c7temp: +63.0Β°C
It’s a pretty hot day here, 35.5ΒΊC outside, and I have no A/C on my server today π