How I learned to control my (Intel CPU-based) Fujitsu fan

What works, and doesn't, for you. Be specific, and please include Puppy version.
Post Reply
Message
Author
User avatar
Marv
Posts: 1264
Joined: Wed 04 May 2005, 13:47
Location: SW Wisconsin

How I learned to control my (Intel CPU-based) Fujitsu fan

#1 Post by Marv »

Finally, a cure for my Fujitsu Laptop hair trigger fan blues. First off, thanks to norgo, LateAdopter, and Billtoo for the pointers and discussion on intel_pstate. Thanks to rcrsn51 and others who had a hand in CPUtemp, I am running v1.9.

The laptops: These are all intel, circa 2004 to 2008, and have Pentium M (Banias), core duo (Yonah), and core 2 duo (Penryn) processors.

The pups: X-slacko 3bx through 4.2, X-Tahr 1bx through 2.0, LxPupSc up to 17.01.25. Probably others but not tested 1:1.

The problem: System fan goes from nothing to full on with the slightest load or sometimes (with the Yonah) completely on its own with no use. acpi-cpufreq & governors are always applied, either ondemand or conservative. CPU temperatures are never over 45 degrees Celsius. All extraneous services have been eliminated and unused ports and services turned off in the BIOS. gvfsd-metadata is under control. CPU use in Lxtask at idle is 3 to 10%, depending on processor and pup.

Background: Intel introduced support for its P-State governor in the SandyBridge processor circa 2011. All of the above processors precede that by a wide margin.

The kernels I have used in these machines: 3.14.20, 3.14.56, 3.15.4, 3.17.x, 4.1.31. and 4.8.x through 4.9.4. All have intel_pstate=y in the DOTCONFIGs as do pretty much all of the post 3.x.x pup kernels I have looked at.

The solution: As suggested by the members above (sorry if I missed any), pass intel_pstate=disable as a kernel parameter as in the following Grub4Dos line.

Code: Select all

kernel /LxPupSc/vmlinuz pmedia=ataflash ignore=usb pdev1=sda1 psubdir=LxPupSc intel_pstate=disable pfix=copy ipv6.disable=1
With that passed, the fans now follow the governor and CPU temperature nicely. CPU temperatures remain in the mid 40 Celsius range in normal use and just enough fan is used to keep them there. Change the governor parameters and the fan use changes with them. No use, no fan!

It won't raise fans from the dead or tame real toasters but for me it made the load/temperature/fan use much more rational. I really don't know the mechanism for the p_state interference but it seems to over-ride my governor settings in the OS even though the processors don't support it.
Pups currently in kennel :D Older LxPupSc and X-slacko-4.4 for my users; LxPupSc, LxPupSc64 and upupEF for me. All good pups indeed, and all running savefiles for look'n'feel only. Browsers, etc. solely from SFS.

april

#2 Post by april »

I read this with interest having just tipped a machine that was doing funny things with the fan and closing down the machine on next to no workload . All thermal contact paste was replaced to no avail.
Thanks to rcrsn51 and others who had a hand in CPUtemp, I am running v1.9.
I see rcrsn51 is involved in some of what you quote and have noticed some shady stuff going on in his threads and posts . "PM me and i'll send you the program" . All executeable binaries only . No source. See Barry Kaulers post on this also
http://murga-linux.com/puppy/viewtopic. ... 1&start=65

I would take care there.Did you download any of his fixes prior to the trouble ?
http://murga-linux.com/puppy/viewtopic. ... 45&start=6
Last edited by april on Wed 25 Jan 2017, 11:45, edited 7 times in total.

april

#3 Post by april »

Code: Select all

kernel /LxPupSc/vmlinuz pmedia=ataflash ignore=usb pdev1=sda1 psubdir=LxPupSc intel_pstate=disable pfix=copy ipv6.disable=1
Can you explain at all further what this does please ?

User avatar
Marv
Posts: 1264
Joined: Wed 04 May 2005, 13:47
Location: SW Wisconsin

#4 Post by Marv »

@april,

Lets deal with two things quite separately.

First with respect to rcrsn51. As I explained in the post, I am using the version 1.9 of a pet publicly available on this forum. He and a number of other members worked on it. It allows a quick look from the panel at the system temperatures and CPU speed. It is a valuable diagnostic tool and has nothing to do with the system problem I'm troubleshooting. Please, let's use the forum as an information exchange and avoid personal attacks.

Second, the kernel parameters. A pretty comprehensive explanation is available here: http://puppylinux.org/wikka/BootParameters/ Specifically in my Grub4Dos line, the parameters work as follows:
pmedia=ataflash sets up puppy so writes to the media are minimized (PUPMODE=13)
ignore=usb is my personal way of dealing with slowness of systems returning a USB ready flag even when not booting from USB. I customize the init script to support it.
pdev1 and psubdir constrain/target puppys search for files and speed up the boot process.
intel_pstate=disable disables a kernel resident intel cpu speed governor which causes problems with many pre 2011 or so CPUs so the CPU governors in puppy can work properly
ipv6.disable=1 constrains pup to use only the older of two network address schemas

The only change made to 'fix' my CPU governors and fan control was to add the intel_pstate=disable parameter. It works a treat on my older all-intel machines, particularly a core duo laptop that was almost unusable before.
Pups currently in kennel :D Older LxPupSc and X-slacko-4.4 for my users; LxPupSc, LxPupSc64 and upupEF for me. All good pups indeed, and all running savefiles for look'n'feel only. Browsers, etc. solely from SFS.

april

#5 Post by april »

OK thanks .
rcrsn51 won't give out his source code and thats the basis of all open source software . That's why I asked about your use of any of his binary packages before your problems stated above . Its not a personal attack its a pointer to use caution and an information exchange as you mention.

A pet sticks it on your machine as a binary . It does not tell you whats in it. Just because they are public does not mean they are safe. However we all use them trustingly from time to time . They are convenient.

I'm interested in the thermal runaway effect I have suffered on one of my machines.

"ipv6.disable=1" - I don't understand why you would do that.Whats wrong with Puppy's handling of it?
"intel_pstate=disable" - is the interesting one for me and I'll have to reinstate my old machine and play with it but I don't have a command called "intel_pstate" or a constant variable by that name so what are you doing to use this please?

Oh and my name is April not @april not that it matters my friend.

Post Reply