I own a ThinkPad X1 Yoga. As it's a convertible computer that can be used as a tablet, I set up ThinkFan so that the fan is always off when I'm watching videos and doing regular tasks, and that it's on when I'm building stuff.

The setup works for the most part - when I have a sudden load ThinkFan is triggered and the fan is dialed up, then slowly down until it's cold. However, when I have an "average" load that keeps the temperature up a bit but not enough to trigger ThinkFan, I often notice that something else decides it's time to turn on the fan.

The result is that the fan stays on all the time even when the computer is idle, because ThinkFan doesn't touch it until a temperature threshold is reached, so it stays at 4/7 or 'auto' (which I think means it's controlled by some kernel module).

How can I find out what program or kernel module is dialing the fan up without my permission?

What I already tried: using auditd to watch /proc/acpi/ibm/fan and /sys/devices/platform/thinkpad_hwmon/hwmon/hwmon2/pwm1*; I checked the audit log but got no entries.

My current workaround is to manually restart ThinkFan so that it resets the fan according to my thresholds, or to manually turn the fan off.

  • You tried lsof on those files? – dirkt Sep 9 '18 at 17:16
  • Yes, I get nothing. I think whatever writes to them doesn't keep them open. – Depau Sep 9 '18 at 17:27
  • I also tried using inotifywait, then running lsof right after it detected a write, but nothing. – Depau Sep 9 '18 at 17:28

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.