Fancontrol is a little tricky on Thinkpads and the configuration can be different from device to device. For a Thinkpad T430 I could not find any starting point in the arch wiki or the official thinkfan documentation. However, I found this article from Ivan Denkov that explains the usage of thinkfan for Thinkpad T430’s:
This article is a reiteration of the one linked, as there have been breaking changes in thinkfan itself.
1. Install lm-sensors and thinkfan
Both lm-sensors and thinkfan need to be installed. lm-sensors is available from the official repositories, but thinkfan is only available from the AUR.
sudo pacman -S lm-sensors yaourt thinkfan
After installing both, lm-sensors needs to detect the hardware sensors. This can be done using the following command:
2. Load kernel modules
The kernel modules
thinkpad_acpi need to be loaded for fancontrol to work. The
modprobe command can be used to load them:
sudo modprobe thinkpad_acpi sudo modprobe coretemp
3. Find sensors
Next, the sys/device files relating to our temperature readings have to be located. The following command will find them:
sudo find /sys/devices -type f -name "temp*_input"
Depending on your system configuration the output will look something like this:
$ sudo find /sys/devices -type f -name "temp*_input" /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input /sys/devices/virtual/hwmon/hwmon0/temp1_input
4. Write a configuration file
Copy one of the default configurations from
/etc/thinkfan.conf and add the following lines to the top (replace the paths with the output of the command above):
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input hwmon /sys/devices/virtual/hwmon/hwmon0/temp1_input
You can test your configuration by executing
thinkfan -n manually. If the configuration in
/etc/thinkfan.conf is invalid it will fail to start.
For reference, this is my configuration file on my personal laptop (I prefer my devices hotter, but quiet):
# The device that is used to control the fan tp_fan /proc/acpi/ibm/fan # The sensors to probe. # The hottest of these will be used to control temperature hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input hwmon /sys/devices/virtual/hwmon/hwmon0/temp1_input # Fan configuration. The first number is the fanspeed level (0-7), the second # number is the temperature which will trigger the next lower speed when temperatures # are falling and the third number will trigger the next higher speed when # temperatures are rising (0, 0, 55) (1, 50, 60) (2, 55, 65) (3, 60, 70) (4, 65, 75) (5, 70, 80) (7, 75, 85) # 127 references the highest available RPM: disengaged. # This line is pretty much saying "just cool the damn thing, I don't care" (127, 80, 32767)
5. Autostart thinkfan on boot
To autostart thinkfan at boot, the necessary kernel modules have to be loaded and thinkfan itself has to be started.
To load the neccessary kernel modules automatically on system start, ensure that
thinkpad_acpi are present in
To start thinkfan automatically use systemd:
sudo systemctl enable thinkfan.service sudo systemctl start thinkfan.service