Thinkpad Fan Control

Hi guys, I am a recent convert from Ubuntu now running Tumbleweed/gnome on a Thinkpad T400 with AMD graphics. Almost everything is working great, and I am absolutely loving GNOME 3. After much fiddling around I finally gave up on trying to install the proprietary AMD driver and stuck with the FOSS version, despite the serious flickering issues. My only problem is that after about 30 minutes of heavy usage (full screen flash video will do it 100% of the time) the temp will reach 100*c and then the laptop will automatically shutdown without the fan ever kicking on. Under Ubuntu I never had these issues, but I was also able to use the proprietary AMD driver.

I have tried installing tpfand and tpfan-admin, and while they run with no issues I can’t seem to change the fan speed. Even running “echo level 7 > /proc/acpi/ibm/fan” does nothing. Is there any support for fan speed control on the IBM/Lenovo Thinkpads?

Here is the relevant log snip:

Jan 5 17:47:13 linux-homh kernel: [88124.393532] thinkpad_acpi: THERMAL EMERGENCY: a sensor reports something is extremely hot!
Jan 5 17:47:13 linux-homh kernel: [88124.397468] thinkpad_acpi: temperatures (Celsius):thinkpad_acpi: 103thinkpad_acpi: 68thinkpad_acpi: 48thinkpad_acpi: 98thinkpad_acpi: 50thinkpad_acpi: N/Athinkpad_acpi: 47thinkpad_acpi: N/Athinkpad_acpi: 49thinkpad_acpi: 64thinkpad_acpi: 77thinkpad_acpi: N/Athinkpad_acpi: N/Athinkpad_acpi: N/Athinkpad_acpi: N/Athinkpad_acpi: N/Athinkpad_acpi:
Jan 5 17:47:13 linux-homh kernel: [88124.405810] Critical temperature reached (100 C), shutting down.
Jan 5 17:47:13 linux-homh kernel: Kernel logging (proc) stopped.

I apologize for the cross-post. I originally posted in Hardware, but I think it may be more appropriate here.

1st and foremost if you have not already done so, use a can of duster spray and with the laptop off and battery removed, blast out all vent holes on the laptop to remove any dust from your internal heat sinks. If you have never done so or it has been a while since this was done, then do it again as soon as possible. Do not underestimate how much dust build up can occur and how it will affect the laptop heating. Laptops and all things work great until they stop working at a time they select no matter what else you may be doing at the time.

Next, you got to read the following article for info concerning the Linux kernel and power consumption which affects heat build up.

GNU/Linux and openSUSE power management regressions - Blogs - openSUSE Forums

Next, you need to check your CPU speed settings, I have a bash script for that. The lower the speed setting the less heat that is generated.

C.F.U. - CPU Frequency Utilitiy - Version 1.10 - For use with the cpufrequtils package - Blogs - openSUSE Forums

There is an even newer kernel just released at version 3.2.0 and you can install it if you want with the following script:

S.A.K.C. - SUSE Automated Kernel Compiler - Version 2.50 - Blogs - openSUSE Forums

Please let us know if any of this has proved helpful.

Thank You,

Thanks for taking the time to reply! These are all great tips, but I am not sure they are addressing the issue at hand. I was not having these issues on Ubuntu (or any other OS that uses the proprietary AMD driver for that matter), so I don’t think my vent holes filled up with dust overnight. It is not shutting down at random intervals, but under high load when the CPU fan should should kick in to high gear, but it instead stays silent. I am almost positive this is the issue.

I am not sure what my CPU speed settings have to do with this as I would rather use all 2800MHz that I paid for. I have disabled all CPU scaling in the BIOS and at the OS level for this reason. Its a Thinkpad; I know this laptop can cool itself under full load at 2.8GHz without issue. Besides, I already get poor performance as it is running full screen HD flash video, I can’t imagine that underclocking my CPU will help that.

Is there any reason that tpfand shouldn’t work under openSUSE? I have all the correct parameters set and it appears the ibm-acpi kernel module is loaded with fan_control=1 set, but I cant get it to manually or automatically turn up the fan speed. I can’t tell if its running at all!

I will try updating my kernel though and let you know if I notice any improvements. Thanks again for the help.

So I am not the expert on tpfand, but the last time I saw it claimed to work was in openSUSE 11.3. Further, I don’t know how old your laptop is, but do not dismiss dust build up out of hand unless it is brand new. Finally, other suggestions are to control CPU speed which makes a difference with heating. A new kernel is an option as this is where the newest stuff lives, but openSUSE 12.1 already has kernel 3.1 included.

Thank You,

Hm, thanks for the help. I am not sure you are understanding the problem though. Let me ask it a different way; Is there any way to manually monitor and/or set the fan speed using the terminal?

Does anyone else here have a Thinkpad? Does the fan kick on under load at all using the FOSS driver?

So on most computers Fan speed is automatically controlled by the present heat being generated and not a foreground task of some sort. So, if you control the actual heat created, you would indirectly control fan speed. Except for a possible override to high speed, when power consumption is not a problem, I don’t think its a good idea to override that function. I did find a link for this here you can look at:

How to control fan speed - ThinkWiki

I have had many desktops (all clones) and several Laptops, most Dell and a few Toshiba’s and fan speed control was not needed or required. But I understand and hope that you do find what you are looking for.

Thank You,

I think I got it working. I added both experimental=1 and fan_control=1 to both /etc/modprobe.d/thinkpad-acpi.conf and 50-thinkpad_acpi.conf. Not exactly sure why both are required in my case, but some reason they are. I will have to do some reading on thinkpad-acpi and maybe update that if possible (I seem some boot time messages related to that).

I haven’t messed with tpfand yet, but I can echo full-speed > /proc/acpi/ibm/fan and I can audibly hear the fan speed increase and the fan speed changes to > 5400rpm in hwmon. When I set it back to auto, the fan speed scales down as it should. Now I will try to do some load testing to see if the fan speed increases automatically like it should, or if I still need to mess with tpfand.

Thanks again for the help!

You know if you get this working properly, you must seriously consider doing a write up on how it works and post it here: Unreviewed How To and FAQ

I am very sure others with the same brand computer would appreciate your help and effort. Think about it.

Thank You,

Oh man, that implies I know what I did to get it working… :sarcastic: Haha!

I will get some documentation together and see what I can do!

You know you got to start somewhere and this really is how you learn even more about Linux yourself. Now I don’t want to get off subject, but as an encouragement to you, my very first linux task was to figure out how to boot openSUSE from an external hard drive connected to my work laptop without modifying the work laptop or its hard drive contents in anyway. Later, I made a write up of how I got it to work. Its been a while since then, but I have made it up to a Moderator here and shows what you can do when you try to help others, you always end up helping yourself as well. I know its sounds corny and I am sorry, but your article and its help is requested, if you are up to it. Do the best you can if you want to, that is all anyone could ask. Good luck.

Thank You,

jdmcdaniel3 wrote:

>
> giant420;2428546 Wrote:
>> Oh man, that implies I know what I did to get it working… :sarcastic:
>> Haha!
>>
>> I will get some documentation together and see what I can do!
>
> You know you got to start somewhere and this really is how you learn
> even more about Linux yourself. Now I don’t want to get off subject,
> but as an encouragement to you, my very first linux task was to figure
> out how to boot openSUSE from an external hard drive connected to my
> work laptop without modifying the work laptop or its hard drive contents
> in anyway. Later, I made a write up of how I got it to work. Its been
> a while since then, but I have made it up to a Moderator here and shows
> what you can do when you try to help others, you always end up helping
> yourself as well. I know its sounds corny and I am sorry, but your
> article and its help is requested, if you are up to it. Do the best you
> can if you want to, that is all anyone could ask. Good luck.

What it really shows is that no good deed goes unpunished :wink:


Will Honea