starting from kernel 3.18 the fan speed is set according to the temperature during the boot and never changes after that.
in other words, when booting up with cool laptop, the fan speed is low and it never spins up even on heavy compile job (or any other load). when booted with hot laptop, the fan is spun up to (almost?) full speed and never slows down even after the temperature gets to reasonable levels.
when booted cold, "acpi -tc" lists thermal 0 as 45 degrees and stays that way. on hot boot, the temp is 70 and never changes. other thermal zones change (not sure about the correctness of the values, thou).
i've bisected the problem to commit 6ab3430129e258ea31dd214adf1c760dfafde67a.
the hardware is hp mini 5103.
this may (or may not) be related to bugs:
Your acpidump please:
# acpidump > acpidump.txt
can you turn the fan off by manually set the "cur_state" to 0 for all the cooling devices with "type" equals "Fan"?
Created attachment 167081 [details]
yes, "echo 0 > /sys/class/thermal/cooling_device*/cur_state" turns the fan off. thermal 0 then shows 0 and does not raise even under heavy load. (and probably therefore the fan stays off)
Looks like the thermal temperature doesn't change accordingly?
Please show us:
# grep . /sys/class/thermal/thermal_zone*/*
Created attachment 167341 [details]
grep . /sys/class/thermal/thermal_zone*/*
...this is after "echo 0 > /sys/class/thermal/cooling_device*/cur_state"
Can someone of you assignees, please check, whether we have a duplicate of https://bugzilla.kernel.org/show_bug.cgi?id=92431
yup, that's one of the bugs i've mentioned in the description. the thing is, bug 92431 seems to be talking about fan-always-full-on situations only whereas this one also covers the fan-always-at-low-speed scenarios as well so please consider that when deciding whether this is a dupe or not.
so the temperature of thermal_zone 0 is 51, which is higher than the trip point 6 and 5 and cdev0 and cdev1 should be turned on to do cooling. Can you please check in such a situation, do the cdev0 and cdev1's cur_state is 1?
BTW, the cur_state for cdev0 should be:
Please also attach:
ls -l /sys/class/thermal/thermal_zone*/*
Is it that the temperature for those thermal zones constant no matter what the load it is?
(In reply to Radek Podgorny from comment #0)
> when booted cold, "acpi -tc" lists thermal 0 as 45 degrees and stays that
> way. on hot boot, the temp is 70 and never changes. other thermal zones
> change (not sure about the correctness of the values, thou).
I think the root cause is that the bogus temperature.
> i've bisected the problem to commit 6ab3430129e258ea31dd214adf1c760dfafde67a.
This is interesting. can you please double check if the "git checkout 6ab3430129e258ea31dd214adf1c760dfafde67a" kernel has this problem, and then reverting 6ab3430129e258ea31dd214adf1c760dfafde67a fixes the problem?
...what the heck?!? it actually looks like i've bisected this to a wrong revision. i've just checked it again and it actually really seems both 6ab3430129e258ea31dd214adf1c760dfafde67a and 7be180cc7a0c5768a984126d9468afc82dcf93a2 now seem to be behaving correctly.
the tripping temperature still has to be different or something - or i'm that stupid (i hope). :-( ...i'll try to investigate this further as i'm sure i did the bisection correctly the first time.
anyway, as a sidenote, everything seems to be fixed on my stock 3.18.6-1-ARCH kernel.
Close the bug report because the problem is gone in 3.18.6.
Please feel free to re-open it if you can reproduce the problem again in the latest upstream kernel.
hmm, i was too quick. i've just hit the problem again on 3.18.6. ...still, not reopening for now as this behaves completely randomly for me and each boot is different.