1

I have spent several hours trying to get thinkfan to work on my Lenovo T420/Lubuntu 16.04.

The problem that I currently have is that it does not automatically start with booting.

Furthermore, the program cannot be started with

sudo systemctl enable thinkfan

or

sudo systemctl enable thinkfan.service

Both those commands yield the following output:

[sudo] password for martin: 
Synchronizing state of thinkfan.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable thinkfan

… but the fan is still running on "auto" mode

martin@heat-200-lu:~$ cat /proc/acpi/ibm/fan
status:     enabled
speed:      3987
level:      auto
commands:   level <level> (<level> is 0-7, auto, disengaged, full-speed)
commands:   enable, disable
commands:   watchdog <timeout> (<timeout> is 0 (off), 1-120 (seconds))

… and runs at 4000 rpm although the temperature is fairly low:

martin@heat-200-lu:~$ cat /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
52000

I can start thinkfan using

martin@heat-200-lu:~$ sudo /etc/init.d/thinkfan start
[ ok ] Starting thinkfan (via systemctl): thinkfan.service.

… but, as I said, I can't get it to start automatically.

Here are some config files:

martin@heat-200-lu:~$ cat /etc/default/thinkfan 
# Should thinkfan be started automatically on boot?
# Only say "yes" when you know what you are doing, have configured
# thinkfan correctly for *YOUR* machine and loaded thinkpad_acpi
# with fan_control=1 (if you have a ThinkPad).
START=yes

# Additional startup parameters
DAEMON_ARGS="-q"


martin@heat-200-lu:~$ cat /etc/thinkfan.conf 
######################################################################
# thinkfan 0.7 example config file
# ================================
#
# ATTENTION: There is only very basic sanity checking on the configuration.
# That means you can set your temperature limits as insane as you like. You
# can do anything stupid, e.g. turn off your fan when your CPU reaches 70°C.
#
# That's why this program is called THINKfan: You gotta think for yourself.
#
######################################################################
#
# IBM/Lenovo Thinkpads (thinkpad_acpi, /proc/acpi/ibm)
# ====================================================
#
# IMPORTANT:
#
# To keep your HD from overheating, you have to specify a correction value for
# the sensor that has the HD's temperature. You need to do this because
# thinkfan uses only the highest temperature it can find in the system, and
# that'll most likely never be your HD, as most HDs are already out of spec
# when they reach 55 °C.
# Correction values are applied from left to right in the same order as the
# temperatures are read from the file.
#
# For example:
# tp_thermal /proc/acpi/ibm/thermal (0, 0, 10)
# will add a fixed value of 10 °C the 3rd value read from that file. Check out
# http://www.thinkwiki.org/wiki/Thermal_Sensors to find out how much you may
# want to add to certain temperatures.

#  Syntax:
#  (LEVEL, LOW, HIGH)
#  LEVEL is the fan level to use (0-7 with thinkpad_acpi)
#  LOW is the temperature at which to step down to the previous level
#  HIGH is the temperature at which to step up to the next level
#  All numbers are integers.
#

# I use this on my T61p:
#tp_fan /proc/acpi/ibm/fan
#tp_thermal /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input
sensor /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
sensor /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input

(0, 0,  55)
(1, 48, 60)
(2, 55, 66)
(3, 62, 73)
(4, 66, 79)
(5, 72, 81)
(7, 75, 32767)


martin@heat-200-lu:~$ cat /etc/modprobe.d/thinkfan.conf 
options thinkpad_acpi fan_control=1

I welcome any suggestions regarding what might go wrong.

1

According to the ThinkWiki: Put the following in /etc/modprobe.d/thinkpad_acpi.conf:

options thinkpad_acpi fan_control=1

Then reboot. Then you should be able to echo level disengaged > /proc/acpi/ibm/fan

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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