3DRX

// post

How to control thinkpad fan in Linux

with a simple shell command

Updated

Environment

OS: Debian 12 Machine: Thinkpad T14 Gen1, Intel

Steps

  1. Put line options thinkpad_acpi fan_control=1 into /etc/modprobe.d/thinkpad_acpi.conf (you might need to create this file first), or with the following command.
echo 'options thinkpad_acpi fan_control=1' | sudo tee -a /etc/modprobe.d/thinkpad_acpi.conf
  1. Try some of these and see if they work.
echo level 0 | sudo tee /proc/acpi/ibm/fan           # fan off
echo level 2 | sudo tee /proc/acpi/ibm/fan           # low speed
echo level 4 | sudo tee /proc/acpi/ibm/fan           # medium speed
echo level 7 | sudo tee /proc/acpi/ibm/fan           # maximum speed
echo level auto | sudo tee /proc/acpi/ibm/fan        # automatic - default
echo level disengaged | sudo tee /proc/acpi/ibm/fan  # disengaged
  1. Then you can create your own shell command for controlling the fan speed.
fullspeed_fan() {
  echo "level 7" | sudo tee /proc/acpi/ibm/fan
}
autospeed_fan() {
  echo "level auto" | sudo tee /proc/acpi/ibm/fan
}