Ask Your Question
2

How to change CPU temperature thresholds and control fan speed?

asked 2013-09-04 05:35:29 -0600

Bucic gravatar image

updated 2013-09-12 07:34:02 -0600

My laptop fan max RPM is ~3100. Currently it usually runs at almost 2000 RPM maintaining temperature of as low as ~36 deg C.

How do I change the current thermal thresholds or add new ones?

Fedora 19
Thinkpad T500 with most recent BIOS

EDIT: Following the TLP trail (its output on its status) I've discovered the following contents of two files

cat /proc/acpi/ibm/thermal
temperatures:   39 36 37 -1 -128 -128 -128 -128 36 38 38 -128 -128 -128 -128 -128

cat /proc/acpi/ibm/fan
status:     enabled
speed:      1986
level:      auto

I thought it will be enough to just change these to whatever I like and be done with it. It turned out this files contain continuously updated readings from sensors, not settings! This can be verified by issuing watch cat /proc/acpi/ibm/fan

I've managed to gain manual control over my laptop fan following these instructions: How to control thinkpad_acpi but this doesn't solve anything.

Now, I know there are fan control scripts but I would really like to be done with changing just the threshold. It would also be great to provide a method not specific to a laptop model.

Note:
the /proc/... locations are specific to laptop models!

Note2:
I've set the fan to absolute max RPM for testing. It operated at 4700 RPM and managed to cool down my CPU to ~33 degrees. Now you see how idiotic it was to set the default threshold (Lenovo, kernel blokes...?!) to ~36 degrees. It's barely 10 degrees over room temperature!!!

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2013-09-12 10:11:11 -0600

Bucic gravatar image

updated 2013-09-12 11:01:10 -0600

I did a lot of reading and I think I can answer my own question now.

Here's an overview:

Writen by a non-savvy, kept simple. All of the tools mentioned here are available in Fedora repositories. No compilation, building from source etc.

Prerequisite: https://ask.fedoraproject.org/question/9478/how-to-easily-check-temperatures-and-fan-speeds/

  1. Install and run general powersaving tools
  2. Use Thinkfan to control the fan speed (no longer 'for Thinkpads only')
  3. Bonus question: How to reduce the minimum fan speed?

tbc...

1. Install and run general powersaving tools

This alone may solve your fan/temperature problems to the extent you won't be interested in the rest of the article anymore.

TLP

http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html#installation
Simple. Just this installs it and does not require your further attention. Starts with your system and enables power-saving tweaks automatically. Check its status using the su -c 'tlp-stat'

powertop

su -c 'yum install powertop'
su -c 'powertop'
Use [Tab] key to switch to the 'Tunables' tab. Use [ENTER] and arrow keys to change all elements marked 'Bad' to 'Good'.
[Esc] to exit (powertop doesn't need to stay running in the terminal window)
The 'Overview' tab puts most active i.e. power draining processes on top of the list. A one stop place to immediatelly identify such processes!

powertop tweaks are not being remembered between computer restars. To make the changes permanent follow these instructions http://wiki.manjaro.org/index.php/PowerTOP_to_Optimise_Laptop_Power_Consumption or these https://wiki.archlinux.org/index.php/Powertop

2. Use Thinkfan to control the fan speed (no longer 'for Thinkpads only')

Keep a separate terminal window with sensors running at all times! (see the prerequisite above)

WARNING:
HDDs / batteries will not survive as high temperatures as CPUs may. Make sure you monitor your HDD / battery temperature during thinkfan test run and abort the testrun using Ctrl+C key combination while having the terminal window with thinkfan running active

Thinkpad users may check here to see which sensor is for which device http://www.thinkwiki.org/wiki/Thermal_Sensors Others - I don't know. Please feel free to add the info.

su -c 'yum info thinkfan'
Note the version and download appropriate thinkfan version, extract the archive, just to be able to access the README file easily.
su -c 'yum install thinkfan'
Follow the instructions in the README file. Observe the warnings!

For a quick test run do sections:

(2.2a) Configure hardware interface (IBM/Lenovo Thinkpads) OR (2.2b) Configure hardware interface (any system)
(2.4) Test and install

As with powertop thinkfan requires additional steps for it to start during system startupo and use specified configuration.

3. Answer to a bonus question: How to reduce the minimum fan speed?

i.e. even the lowest fan RPM seems too high.

As I said, the meaning of level 0 through 7 and PWM 0 to 255 (i.e. the actual fan speed) is defined by the embedded controller. Thinkfan has nothing to do with that. If you want to ...

(more)
edit flag offensive delete link more

Comments

The utility thinkfan didn't work for me. Using a T540p with Fedora20. thinkfan tries to read the file /proc/acpi/ibm/thermal but the ifle is not there. Any suggestions?

Pepito gravatar imagePepito ( 2014-07-12 01:01:43 -0600 )edit
0

answered 2015-03-08 09:37:37 -0600

Squilliam gravatar image

You must follow the README included in the package to the letter.

IF AND ONLY IF sensor /proc/acpi/ibm/thermal or fan /proc/acpi/ibm/fan don't work, you must find the missing sensors or fans using:

find -L /sys/class/hwmon -maxdepth 5 -name "temp*_input" \ -print -exec cat {} \; 2>/dev/null for sensors and

find -L /sys/class/hwmon -maxdepth 3 -name "pwm?" \ -print -exec cat {} \; 2>/dev/null for fans

In short, FOLLOW THE README

(Also, if you are running the latest version of Fedora, you will need to add your arguments to the thinkfan.service file, then enable and start thinkfan.service in the terminal)

edit flag offensive delete link more

Question Tools

Stats

Asked: 2013-09-04 05:35:29 -0600

Seen: 45,568 times

Last updated: Mar 08 '15