Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have an overheating issue on my netbook (ASUS EeePC 1015PW), which I'm trying to troubleshoot. Using lm-sensors while overheating gave me this output :

acpitz-virtual-0
Adapter: Virtual device
temp1:        +86.0°C  (crit = +100.0°C)   

eeepc-isa-0000
Adapter: ISA adapter
fan1:        4089 RPM 

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +82.0°C  (crit = +100.0°C)
Core 1:       +80.0°C  (crit = +100.0°C)

But I couldn't hear the fan, even though the sensor claims it's spinning. So I enabled manual pwm controling and set the fan to full speed, and after a few minutes I got this output :

acpitz-virtual-0
Adapter: Virtual device
temp1:        +65.0°C  (crit = +100.0°C)

eeepc-isa-0000
Adapter: ISA adapter
fan1:        4016 RPM

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +62.0°C  (crit = +100.0°C)
Core 1:       +58.0°C  (crit = +100.0°C)

And this time I could hear the fan spinning. So there's quite obviously an issue with either fan control or fan monitoring. Hence the question : what kind of physical information does the fan sensor really report?

Why I'm pretty sure the man I'm controlling is the one I'm monitoring :

*** root # cd /sys/class/hwmon/hwmon2
*** hwmon2 # ls
device  fan1_input  name  power  pwm1  pwm1_enable  subsystem  uevent
*** hwmon2 # cat *
cat: device: is a folder
4094
eeepc
cat: power: is a folder
0
2
cat: subsystem: is a folder
*** hwmon2 # echo 1 > pwm1_enable; echo 255 > pwm1
*** hwmon2 # cat *
cat: device: is a folder
4016
eeepc
cat: power: is a folder
255
1
cat: subsystem: is a folder

It seems that lm-sensors is reading the content of this fan1_input file, which is in the same folder as the pwm1 file I'm playing with, and they should be associated to the same device.

I have tried setting the fan to half speed echo 125 > pwm1, the result was that the fan was still spinning though slower (logical) but the fan1_input contained 4094! So I tried playing around... It turns out that at any speed below 242, the fan states that it spins at 4090-ish RPM (4094 each time I tried today), while above 243 it reports a speed of 4020-ish RPM (between 4015 and 4025).

And now I'm really puzzled... How can this be? Is it that the computer isn't reading the fan input on the same "scale" as the fan is providing it?

Thank you

PS. I should have added that the computer is a small, hard-to-disassemble netbook, so I can't and don't want to try experiments like "block the fan and see what the sensor reports".

share|improve this question
    
AFAIK most fan sensors read directly from a controller wire from the fan itself - Older 3 wire CPU fans (& GFX cards) had a red (+) black (-) and yellow (sensor) wires. Unsure if they fan in an EEEPC would be the same –  HaydnWVN Jul 9 '12 at 9:04
    
@HaydnWVN : Then the question becomes : what kind of information is transmitted through that wire (whatever form it is), and where it is read (physically). –  T. Verron Jul 9 '12 at 9:07
    
Isn't there an option in a BIOS that allows you to tell the computer at what temperature the fan should be switched on at? Don't quote me, but I'm sure I've seen an option like this in a BIOS before. –  mickburkejnr Jul 9 '12 at 9:40
    
@mickburkejnr : Not in mine. Also, I guess in the first sensors listing, the computer is convinced the fan is spinning, following the same sensor as lm-sensors uses. –  T. Verron Jul 9 '12 at 9:43
    
You won't be able to hear a fan (in good condition) running at low speed. (How do you know the unit is overheating?) –  Daniel R Hicks Jul 9 '12 at 12:03
show 10 more comments

1 Answer

It doesn't actually report physical information at all. The physical sensors return a value from 0 to (say) 65535, and then this value is manipulated (multiplied, added to, etc.) to give the result you see. It may be that the software is miscalibrated or such, which would give strange values such as the ones you're seeing.

share|improve this answer
    
Thanks for your answer. If I understand correctly, you mean I shouldn't question the value itself, but instead investigate what the motherboard does with it afterwards? Also, when you say "software", you mean the OS or the BIOS? –  T. Verron Jul 11 '12 at 9:27
    
Neither. The actual software that probes the sensors (i.e. lm_sensors) is itself responsible for manipulating the value. –  Ignacio Vazquez-Abrams Jul 11 '12 at 9:49
    
I had to install lm_sensors to obtain these values, but the problem (hot computer + fan not spinning) was there prior to that. Also, in the above file listings, it seems lm_sensors is reading the file fan1_input (which contains the already manipulated value). It would be somewhat weird if it was also responsible for writing this file? –  T. Verron Jul 11 '12 at 10:11
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.