You are not logged in.
So I'm trying to setup fan control on my new ThinkPad E14. So here's what I did:
1. Using lm_sensors
So I followed the guide for lm_sensors on the wiki, and here's my sensors output:
iwlwifi_1-virtual-0
Adapter: Virtual device
temp1: +41.0°C
spd5118-i2c-14-50
Adapter: SMBus I801 adapter at 0000:00:1f.4
temp1: +44.2°C (low = +0.0°C, high = +55.0°C)
(crit low = +0.0°C, crit = +85.0°C)
ucsi_source_psy_USBC000:002-isa-0000
Adapter: ISA adapter
in0: 0.00 V (min = +0.00 V, max = +0.00 V)
curr1: 0.00 A (max = +0.10 A)
nvme-pci-0400
Adapter: PCI adapter
Composite: +40.9°C (low = -273.1°C, high = +82.8°C)
(crit = +84.8°C)
Sensor 1: +37.9°C (low = -273.1°C, high = +65261.8°C)
Sensor 2: +40.9°C (low = -273.1°C, high = +65261.8°C)
acpitz-acpi-0
Adapter: ACPI interface
temp1: +50.0°C
ucsi_source_psy_USBC000:001-isa-0000
Adapter: ISA adapter
in0: 5.00 V (min = +5.00 V, max = +5.00 V)
curr1: 0.00 A (max = +0.10 A)
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +54.0°C (high = +105.0°C, crit = +105.0°C)
Core 0: +56.0°C (high = +105.0°C, crit = +105.0°C)
Core 4: +52.0°C (high = +105.0°C, crit = +105.0°C)
Core 8: +52.0°C (high = +105.0°C, crit = +105.0°C)
Core 9: +52.0°C (high = +105.0°C, crit = +105.0°C)
Core 10: +52.0°C (high = +105.0°C, crit = +105.0°C)
Core 11: +50.0°C (high = +105.0°C, crit = +105.0°C)
Core 12: +52.0°C (high = +105.0°C, crit = +105.0°C)
Core 13: +52.0°C (high = +105.0°C, crit = +105.0°C)
Core 14: +52.0°C (high = +105.0°C, crit = +105.0°C)
Core 15: +54.0°C (high = +105.0°C, crit = +105.0°C)
Core 16: +52.0°C (high = +105.0°C, crit = +105.0°C)
Core 20: +54.0°C (high = +105.0°C, crit = +105.0°C)
Core 24: +52.0°C (high = +105.0°C, crit = +105.0°C)
Core 28: +54.0°C (high = +105.0°C, crit = +105.0°C)
Core 32: +48.0°C (high = +105.0°C, crit = +105.0°C)
Core 33: +48.0°C (high = +105.0°C, crit = +105.0°C)
BAT0-acpi-0
Adapter: ACPI interface
in0: 13.21 V
power1: 0.00 W
acpi_fan-acpi-0
Adapter: ACPI interface
fan1: 0 RPM
Seeing that my fan output is 0 RPM, I also followed the "Increase the fan divisor for sensors" part, and here's my /etc/sensors.d/fan-speed-control.conf
chip "coretemp-isa-0000"
set fan1_div 4
which when use sensors -s, outputs
Error: File /etc/sensors.d/fan-speed-control.conf, line 2: Unknown feature name
coretemp-isa-0000: No such subfeature known
2. Using thinkfan
So I followed the thinkfan guide on the wiki. Everything was going well until when I cat /proc/acpi/ibm/fan, which doesn't exist for some reason
So what should I do now? pls help me
Offline
Some systems have /proc/acpi/ibm/fan and /proc/acpi/ibm/thermal available; on others, you will need to specify something like:
hwmon: /sys/devices/virtual/thermal/thermal_zone0/temp
to use generic hwmon sensors instead of thinkpad-specific ones.
Online
The wiki wrote:Some systems have /proc/acpi/ibm/fan and /proc/acpi/ibm/thermal available; on others, you will need to specify something like:
hwmon: /sys/devices/virtual/thermal/thermal_zone0/temp
to use generic hwmon sensors instead of thinkpad-specific ones.
Can you give me an example config with the generic hwmon? I just want to be extra careful so that I don't accidentally overheat anything
Offline
There's a link to a sample in the gentoo wiki in the arch wiki section, also you first need to figure the proper node.
https://thinkwiki.de/Thinkfan#Keine_Fun … n_Modellen (German, but the commands are highlighted and google translate can probably cover the rest)
In order to prevent overheating (what realistically will just result in the CPU stepping down and ultimately an emergency shutdown) *manually* make small adjustments first to see whether and what impact it has.
Online
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp26_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp6_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp13_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp17_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp10_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp30_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp14_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp34_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp18_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp11_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp15_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp35_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp12_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp22_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp2_input
/sys/devices/platform/coretemp.0/hwmon/hwmon7/temp16_input
/sys/devices/pci0000:00/0000:00:06.2/0000:04:00.0/nvme/nvme0/hwmon4/temp3_input
/sys/devices/pci0000:00/0000:00:06.2/0000:04:00.0/nvme/nvme0/hwmon4/temp1_input
/sys/devices/pci0000:00/0000:00:06.2/0000:04:00.0/nvme/nvme0/hwmon4/temp2_input
/sys/devices/pci0000:00/0000:00:1f.4/i2c-15/15-0050/hwmon/hwmon6/temp1_input
/sys/devices/virtual/thermal/thermal_zone0/hwmon2/temp1_input
/sys/devices/virtual/thermal/thermal_zone9/hwmon8/temp1_input
so i just test out every module listed here?
Offline
coretemp.0 is your CPU nvme0 your SSD and the wiki suggests to respond to the thermal zone temperature - it largely depends on what which(?) fan is actually managing.
Individual core temperatures can swing wildly and fast, the two thermal zones are likely
Sensor 1: +37.9°C (low = -273.1°C, high = +65261.8°C)
Sensor 2: +40.9°C (low = -273.1°C, high = +65261.8°C)
and probably what you want to keep under general control?
Online
So decided so just put something in the sensors part for now. How about the fans, hwmon output doesn't have anything that I can see is easily identifiable as a fan
Offline
oh wait
ERROR: hwmon sensor driver: Could not find an `hwmon*' directory or `temp*_input' file in /sys/devices/platform/coretemp.0/hwmon/hwmon7//device/hwmon/hwmon7/device.
i did not add the last dot btw
Last edited by okbzl (2025-10-13 13:50:08)
Offline
so when i enter /sys/devices/platform/coretemp.0, it somehow redirect itself to /sys/devices/platform/coretemp.0/hwmon/hwmon7/device/hwmon
/sys/devices/platform/coretemp.0/hwmon to /sys/devices/platform/coretemp.0/hwmon/hwmon7/device/hwmon/hwmon7
Offline
acpi_fan-acpi-0
Adapter: ACPI interface
fan1: 0 RPM
It's gonna be one of the cooling_device's
Have you tried
hwmon: /sys/devices/virtual/thermal/thermal_zone0/temp
(you have that path)
Online
acpi_fan-acpi-0 Adapter: ACPI interface fan1: 0 RPM
It's gonna be one of the cooling_device's
Have you tried
hwmon: /sys/devices/virtual/thermal/thermal_zone0/temp
(you have that path)
No dice
ERROR: hwmon sensor driver: Could not find an `hwmon*' directory or `temp*_input' file in /sys/devices/virtual/thermal/thermal_zone0/hwmon2/device/hwmon2/device.
Offline
Why would it look at …/thermal_zone0/hwmon2/device/hwmon2/device instead of just …/thermal_zone0 ?
Post the config you have there.
Online
thinkfan -n
ERROR: hwmon sensor driver: Could not find an `hwmon*' directory or `temp*_input' file in /sys/devices/virtual/thermal/thermal_zone0/hwmon2/device/hwmon2/device.
thinkfan.conf
sensors:
- hwmon: /sys/devices/virtual/thermal/thermal_zone0
indices: [0]
fans:
- tpacpi: /proc/acpi/ibm/fan
levels:
- [0, 0, 41]
- [1, 38, 51]
- [2, 45, 56]
- [3, 51, 61]
- [4, 55, 64]
- [5, 60, 66]
- [6, 63, 68]
- [7, 65, 74]
- [127, 70, 32767]
ls sys/devices/virtual/thermal/thermal_zone0
? available_policies hwmon2 ? k_d ? k_po ? mode ? policy ? slope ? sustainable_power ? trip_point_0_hyst ? trip_point_0_type ? trip_point_1_temp ? type
device ? integral_cutoff ? k_i ? k_pu ? offset power subsystem ? temp ? trip_point_0_temp ? trip_point_1_hyst ? trip_point_1_type ? uevent
Offline
https://manpages.debian.org/unstable/th … hwmon-path
Try
- hwmon: /sys/devices/virtual/thermal/thermal_zone0/temp
and remove "indices: [0]"
You have the hwmon2 entry (and it's likely index 0, but that runs you into an infinite recursion)
"/proc/acpi/ibm/fan" will likely still not work?
Online
So it works(?) now. Now this
ERROR: lookup: Initializing fan control in /proc/acpi/ibm/fan: No such file or directory
Offline
"/proc/acpi/ibm/fan" will likely still not work?
It's gonna be one of the cooling_devices
Online
ok so i have no idea what to put here. any idea what file i must put?
ls /sys/devices/virtual/thermal/cooling_device0/
? cur_state device ? max_state power subsystem ? type ? uevent
Offline
and in case you ask what it says now
thinkfan -n
ERROR: init: Initializing fan control in /sys/devices/virtual/thermal/cooling_device0: No such file or directory
Offline
sanity check
systool -vm thinkpad_acpi
Online