fan cooler at maximum speed no matter what cpu load is

Dear all.

It has been a while I had to make a fan cooler replacement in my laptop; since then I could not get back fan speed control (i.e., according to cpu load), so the fan is always running at maximum speed no matter what the cpu load is. Even at the start, at booting the laptop, the fan is already at highest speed. I had previous a problem that might be related, namely,  screen brightness could not be controlled. This was overcome when I added “acpi_backlight=video” as a parameter for "GRUB_CMDLINE_LINUX_DEFAULT=“ in /etc/default/grub; curiously this allows me to control brightness at linux , but not at windows (this laptop is dual boot) , where the screen keeps at + - half the brightness. For some reason I have two EFI partitions in my SSD, I think the first was created when I installed windows, then, linux which, as far as I remember, required a larger efi partition. Recently I changed from Leap 15.1 into a brand new Leap 15.3 installation, but the problem persists. The laptop is a lenovo P400.
Points to where I could find possible solutions to this problem are welcome.

Thank you,


One possible reason is that the fan has a rotation sensor and that is not working.

Do you still have the old fan? If so, check if that has a rotation sensor and do the same thing for the new fan.

If the new fan has a rotation sensor, what is it reporting?

Thanks, Marel. I should add more details to this quest. This is laptop is almost 8 y.o., generally working with high cpu demand. The original fan (I do not know the manufacturer, but let’s call it manufacturer 1) wore out and then I changed to a new fan (from manufacturer 2 - all subsequent fans I know the manufacturer name and I could decline here if possible). It wore out and then I changed to manufacturer 3 and then the problem (always full speed) started. Then I went to manufacturer 4 and the problem continued. Manufacturers 2, 3 and 4 are different - I could no longer find a fan from manufacturer 2, but as far as I understand the fan is a passive element, acting according to orders from the system (or motherboard, I think). I could not devise what other system changes might have been made along the time, but I think it has to do with configurations (eg., the lack of control for screen brightness that I could solve at grub configuration).

I do not know of rotation sensors, I have the " sensors" command which, nevertheless, seems to output only temperatures.

Thank you.

Did you check your BIOS settings? Sometimes there’s options to set the speed or turn off the control. I once found my Asus “cool’n quiet” on a desktop disabled after a long search like yours. I don’t know if / what is available with Lenovo.

Thanks kasi042. Yes, I did check it, there does not seem to be any option concerning the control of the fan.

I do not know whether this might be of any effect, but originally this laptop came with windows 8, license expired once the original HD wore out. I bought an SSD and I have a license for windows 10. I installed windows 10 first (which created an efi boot partition, /dev/sda2 , 100 MiB) and then OpenSuSE (now Leap 15.3) (which required more space and then needed a new efi partition, /dev/sda5 , 256 MiB , this one mounted as /boot/efi ) to have a dual boot machine (though I rarely boot windows). At turning on the laptop , things seem to run as usual , grub gives me the option to choose the os. I cite this because I would cogitate this might be an issue. I recall I had a problem with screen brightness which was corrected (only in linux, but not in windows) when I passed a parameter ( acpi_backlight=video ) at grub level. The problem with the fan speed happens for both linux and windows.


Searched for “laptop fan lenovo P400” and found on Amazon 90202127 Lenovo P400 P500 CPU Cooling Fan.

There are 4 wires clearly visible on the picture, two to power the fan and two for the rotation sensor.

Yes, marel, as a matter of fact, that is one of the manufacturers for which there was no fan control. For any reason (configuration) it seems the system/hardware is not sending the due signal to modulate the speed. But I think this problem is not manufacturer dependent yet the fan should be a passive element, just answering to signals it receives.


Windows OEM license is bound to motherboard, not drive. Sometimes key is included in UEFI. Windows 8 is no longer supported, you can upgrade it to 8.1 or 10.
Upgrading Leap 15.1 -> 15.3 is not supported, only 15.2 -> 15.3, thus 15.1 -> 15.2 -> 15.3.
You can select 100 MiB ESP for Leap. Installer will complain, just ignore it.

Laptop fans have different pinout compared to destop, and another voltage - 5V vs. 12V.
Try to update BIOS/UEFI.
Clean laptop’s cooler system, change cooler paste and pads.
Supposedly old laptop uses not PWM regulation, but DC by changing voltage.

You may add in PWM/DC fan regulation module.

Thank you Svyatko for your new input to my problems.
I thought OEM license was bound to the whole set. Good to know it is about the motherboard, this one has not worn out yet! Anyway , I do have my own windows 10 license which more frequently I use as a virtual machine.
My Leap 15.3 is a brand new installation, it does not come from an upgrade.
I did not know I could ignore the 100 MiB complaint, so that might be the reason I have two efi partitions. I fear this might lead to some side effects, but I cannot devise what these might be.

As understand, updating the BIOS might help here. I wonder if these might change also the efi partition such that different parameters might be passed and then the laptop know how to control the fan, in this case.

I am reading about updating the bios; there is a way to use a little program under window and a way to go from a bootable USB. In any case, I see I had better make a full backup in case any accident happens. I will program myself to do so, this should take some days for everything to be prepared. I will give a feedback here.

About the cooler: this one is quite recent and the technician told me to have made correct cleaning and thermal paste usage.

Also you say about the PWM/DC fan regulation module; I will have to study how to check this and, eventually add it.



Had a look and see the 4 pin laptop fans are indeed likely PWM controlled and have a rotation sensor.

I would do:

$ sudo sensors-detect --auto
$ sudo sensors

And see if there is a fan that it having a non-zero RPM.

Dear marel.

Yes, I ran that command and answered YES to all scan proposals, except I2C/SMBus which tells of the risks (and I found in the internet that some people did have problems). I got:

Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `coretemp’:

  • Chip `Intel digital thermal sensor’ (confidence: 9)

Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no): no

I do not see any mention to a fan sensor, although I do not know whether the IC2/SMBus test is necessary for that.
Thank you.

Okay, I have a Lenovo T550 laptop that I do not use that often but that is completely quite, did hear the fan running for a short time in the past. I fired it up and tried some things.

Indeed, no fan found running “sudo sensors-detect; sudo sensors”.

The found this page and tried:

cat /proc/acpi/ibm/fan
status:    enabled
speed:     0
level:     auto

Tried changing the speed following the instructions on the page but that does not work and I do not need it.

In automatic mode, the embedded controller sets the fan speed automatically according to system temperatures and some unknown algorithm.

As to the system temperature, “sensors” is reporting several temperatures all under 30°C:

$ sudo sensors
Adapter: ISA adapter
Package id 0:  +29.0°C  (high = +105.0°C, crit = +105.0°C)
Core 0:        +29.0°C  (high = +105.0°C, crit = +105.0°C)
Core 1:        +27.0°C  (high = +105.0°C, crit = +105.0°C)

Adapter: Virtual device
temp1:        +24.0°C  

Adapter: ACPI interface
temp1:        +26.0°C  (crit = +103.0°C)

Adapter: ACPI interface
in0:          12.28 V  

Adapter: Virtual device
temp1:        +27.0°C  

Adapter: ISA adapter
fan1:           0 RPM
temp1:        +26.0°C  
temp2:         +0.0°C  
temp3:         +0.0°C  
temp4:         +0.0°C  
temp5:         +0.0°C  
temp6:         +0.0°C  
temp7:         +0.0°C  
temp8:         +0.0°C  

Adapter: ACPI interface
in0:          12.31 V

Are you seeing the same sensors and what are your temperatures?

On more thing you can try:

> sudo /usr/sbin/pwmconfig
# pwmconfig version 3.6.0
This program will search your sensors for pulse width modulation (pwm)
controls, and test each one to see if it controls a fan on
your motherboard. Note that many motherboards do not have pwm
circuitry installed, even if your sensor chip supports pwm.

We will attempt to briefly stop each fan using the pwm controls.
The program will attempt to restore each fan to full speed
after testing. However, it is ** very important ** that you
physically verify that the fans have been to full speed
after the program has completed.

Found the following devices:
   hwmon0 is BAT0
   hwmon1 is BAT1
   hwmon2 is acpitz
   hwmon3 is AC
   hwmon4 is pch_wildcat_point
   hwmon5 is thinkpad
   hwmon6 is coretemp
   hwmon7 is iwlwifi_1

Found the following PWM controls:
   hwmon5/pwm1           current value: 255
hwmon5/pwm1 is currently setup for automatic speed control.
In general, automatic mode is preferred over manual mode, as
it is more efficient and it reacts faster. Are you sure that
you want to setup this output for manual control? (n) 

Not sure if it is wise to go to manual control but are you seeing the same devices?

Dear marel.

I have a Lenovo Ideapad P400 touch, acquired in 2013, a workhorse I might say.
Through my internet searches, I had not found the page you mention. Good point. I read it (I guess informations for a thinkpad might be transferable to an ideapad - nevertheless, at the end it describes some models to which the instructions do not  apply).

No, I do not have a "fan"  directory. I made a wide search.

With sensors, I get:

localhost:~ # sensors
Adapter: ACPI interface
in0: +16.02 V

Adapter: ACPI interface
temp1: +77.0°C (crit = +127.0°C)

As I mentioned before, sensors tells me of only BAT1-acpi-0 (battery voltage?) and acpitz-acpi-0 (one temperature).
I see you have a mention to fan at “Adapter: ISA adapter” , sensors-detect did not report anything for me about “ISA I/O ports” .

Then, at issuing:

localhost:~ # /usr/sbin/pwmconfig

pwmconfig revision $Revision$ ($Date$)

This program will search your sensors for pulse width modulation (pwm)
controls, and test each one to see if it controls a fan on
your motherboard. Note that many motherboards do not have pwm
circuitry installed, even if your sensor chip supports pwm.

We will attempt to briefly stop each fan using the pwm controls.
The program will attempt to restore each fan to full speed
after testing. However, it is ** very important ** that you
physically verify that the fans have been to full speed
after the program has completed.

/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed

My deduction is that I should first have a sensor module installed.
Any recipe on how to do this?
Thank you.

Do you have /proc/acpi/ibm? For the IBM ACPI driver, see and Thinkpad-acpi - ThinkWiki

I do not see any special package enabling /proc/acpi/ibm but I am on Tumbleweed, maybe that makes a difference.

Adapter: ACPI interface
temp1: +77.0°C (crit = +127.0°C)

With the fan running at full speed I think that is a pretty good reason for the hardware to keep the fan on.

I have:

localhost:~ # ll /proc/acpi/
total 0
dr-xr-xr-x 3 root root 0 May 29 10:39 button
-rw-r–r-- 1 root root 0 May 29 10:39 wakeup
localhost:~ #

As a matter of fact, lately, most of the time (as for just now), I am using the 8 cpu’ s at maximum, but, yes, for sometimes I just have the basal usage and even so fans do not go slower. Even at suspending the heavy jobs, to leave the laptop at a basal level, fans keep the same.

Might Thinkpad-acpi - ThinkWiki provide me a kernel module (though my laptop is an ideapad, not a thinkpad?) ?

On I do not see the P400 listed so that could be the reason you do not see /proc/acpi/ibm although I read /proc/acpi/ibm is deprecated, instead /sys/devices/platform/thinkpad_acpi and /sys/devices/platform/thinkpad_hwmon should be used and these are available on my T550.

Also on I do not see the P400 listed so I guess you are out of luck.

You could still try a recent kernel or Tumbleweed, see Lenovo-Platform-Profile-For-512

I had not found these sites before. Fine. Maybe I could also post some questions there.
As I understand, my kernel is

localhost:~ # uname -a
Linux localhost.localdomain 5.3.18-57-default #1 SMP Wed Apr 28 10:54:41 UTC 2021 (ba3c2e9) x86_64 x86_64 x86_64 GNU/Linux

I would have to find out a version that will provide me a kernel > 5.12. Just checked tumbleweed, it seems 5.12.4… so it can suit.
Nevertheless I should remember that older openSuSE versions could control fan speed nicely, for this same laptop.

Two of my heavy processes are ending this night. Therefore I am scheduling for tomorrow to update the bios, be it through the windows applet or through an external pen drive. I wonder also why this same problem (fan speed ) happens under windows; screen brightness as well, which I managed to correct only under linux.

Thank you.

ILL with Win 10 Lenovo threw away support for this hardware, and in some degree did it also with Linux.
With Windows try to install drivers for previous versions with “compatibility mode”.