[GH-ISSUE #1097] Cannot lower fan speed to 0. Target fan speed values seem to be ignored. #941

Closed
opened 2026-02-26 00:33:59 +03:00 by kerem · 14 comments
Owner

Originally created by @Demetrio92 on GitHub (Mar 14, 2021).
Original GitHub issue: https://github.com/hirschmann/nbfc/issues/1097

I've recently installed nbfc and noticed it acts weirdly. It somewhat ignores the target values. At first, I thought the config which wasn't yet reviewed is at fault, but then I figured, I can manually max out fans, but I cannot completely shut them down.

Reproduce

  1. Fan speed to max -- works.
    actually, it also ignores GPU fans, but I'll deal with that later
user@myLaptop:~$ sudo mono /opt/nbfc/nbfc.exe set --speed 100
user@myLaptop:~$ sudo mono /opt/nbfc/nbfc.exe status
Service enabled		: True
Read-only		: False
Selected config name	: nitro5_this_laptop_mod
Temperature		: 49

Fan display name	: AMD Ryzen 5 3550H
Auto control enabled	: False
Critical mode enabled	: False
Current fan speed	: 104.89
Target fan speed	: 100.00
Fan speed steps		: 100

Fan display name	: GTX 1650
Auto control enabled	: True
Critical mode enabled	: False
Current fan speed	: 38.13
Target fan speed	: 15.00
Fan speed steps		: 100
  1. Fan speed set to 10% -- fans calm down, but do not get below 30%.
user@myLaptop:~$ sudo mono /opt/nbfc/nbfc.exe set --speed 10
# wait a few minutes
user@myLaptop:~$ sudo mono /opt/nbfc/nbfc.exe status
Service enabled		: True
Read-only		: False
Selected config name	: nitro5_this_laptop_mod
Temperature		: 46

Fan display name	: AMD Ryzen 5 3550H
Auto control enabled	: False
Critical mode enabled	: False
Current fan speed	: 36.60
Target fan speed	: 10.00
Fan speed steps		: 100

Fan display name	: GTX 1650
Auto control enabled	: True
Critical mode enabled	: False
Current fan speed	: 33.05
Target fan speed	: 0.00
Fan speed steps		: 100

Expected behavior
The fan speed should follow the target value.

System information

  • operating system
Linux  5.8.0-44-generic #50~20.04.1-Ubuntu SMP Wed Feb 10 21:07:30 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Additional context
I'm using this config here, but I modified the curves a bit.
https://github.com/hirschmann/nbfc/pull/1041

At first I thought that maybe it writes into the wrong EC register, but then I would not be able to max-out fans using set --speed 100.

Edit: Tested the laptop at a low load with an external cooling pad. Once I bring it to 32 degrees, the set --speed 10 option keeps the fans spinning (14%, some weird offset bug). Doing set --speed 0 then brings them to 0. My impression is that my bios/chipset/whatever does not allow lowering the fan curve.
Is this a known issue, are there any solutions?

Originally created by @Demetrio92 on GitHub (Mar 14, 2021). Original GitHub issue: https://github.com/hirschmann/nbfc/issues/1097 I've recently installed nbfc and noticed it acts weirdly. It somewhat ignores the target values. At first, I thought the config which wasn't yet reviewed is at fault, but then I figured, I can manually max out fans, but I cannot completely shut them down. **Reproduce** 1. Fan speed to max -- works. _actually, it also ignores GPU fans, but I'll deal with that later_ ```bash user@myLaptop:~$ sudo mono /opt/nbfc/nbfc.exe set --speed 100 user@myLaptop:~$ sudo mono /opt/nbfc/nbfc.exe status Service enabled : True Read-only : False Selected config name : nitro5_this_laptop_mod Temperature : 49 Fan display name : AMD Ryzen 5 3550H Auto control enabled : False Critical mode enabled : False Current fan speed : 104.89 Target fan speed : 100.00 Fan speed steps : 100 Fan display name : GTX 1650 Auto control enabled : True Critical mode enabled : False Current fan speed : 38.13 Target fan speed : 15.00 Fan speed steps : 100 ``` 2. Fan speed set to 10% -- fans calm down, but do not get below 30%. ``` user@myLaptop:~$ sudo mono /opt/nbfc/nbfc.exe set --speed 10 # wait a few minutes user@myLaptop:~$ sudo mono /opt/nbfc/nbfc.exe status Service enabled : True Read-only : False Selected config name : nitro5_this_laptop_mod Temperature : 46 Fan display name : AMD Ryzen 5 3550H Auto control enabled : False Critical mode enabled : False Current fan speed : 36.60 Target fan speed : 10.00 Fan speed steps : 100 Fan display name : GTX 1650 Auto control enabled : True Critical mode enabled : False Current fan speed : 33.05 Target fan speed : 0.00 Fan speed steps : 100 ``` **Expected behavior** The fan speed should follow the target value. **System information** - operating system ```bash Linux 5.8.0-44-generic #50~20.04.1-Ubuntu SMP Wed Feb 10 21:07:30 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux ``` - NBFC version: `1.6.3.0` - log files https://gist.github.com/Demetrio92/4ffb4748c80453d0e2e87b8ed06e186c **Additional context** I'm using this config here, but I modified the curves a bit. https://github.com/hirschmann/nbfc/pull/1041 At first I thought that maybe it writes into the wrong EC register, but then I would not be able to max-out fans using `set --speed 100`. Edit: Tested the laptop at a low load with an external cooling pad. Once I bring it to 32 degrees, the `set --speed 10` option keeps the fans spinning (14%, some weird offset bug). Doing `set --speed 0` then brings them to 0. My impression is that my bios/chipset/whatever does not allow lowering the fan curve. Is this a known issue, are there any solutions?
kerem closed this issue 2026-02-26 00:33:59 +03:00
Author
Owner

@Demetrio92 commented on GitHub (Mar 14, 2021):

@batmalin any hints?

<!-- gh-comment-id:798941915 --> @Demetrio92 commented on GitHub (Mar 14, 2021): @batmalin any hints?
Author
Owner

@batmalin commented on GitHub (Mar 15, 2021):

Same here and you can`t stop it even on windows. Thermal fan control i disabled in BIOS(EC) therefore you are allowed to make changes only within predefined range by the EC

<!-- gh-comment-id:799723403 --> @batmalin commented on GitHub (Mar 15, 2021): Same here and you can`t stop it even on windows. Thermal fan control i disabled in BIOS(EC) therefore you are allowed to make changes only within predefined range by the EC
Author
Owner

@Demetrio92 commented on GitHub (Mar 15, 2021):

I see, gotta go to win-raid.com and beg folks to unlock my bios.

<!-- gh-comment-id:799765616 --> @Demetrio92 commented on GitHub (Mar 15, 2021): I see, gotta go to win-raid.com and beg folks to unlock my bios.
Author
Owner

@batmalin commented on GitHub (Mar 15, 2021):

Yeah, already did this:)

<!-- gh-comment-id:799770360 --> @batmalin commented on GitHub (Mar 15, 2021): Yeah, already did this:)
Author
Owner

@Demetrio92 commented on GitHub (Mar 15, 2021):

psst!

need a proper programmer and balls to brick my laptop

<!-- gh-comment-id:799771541 --> @Demetrio92 commented on GitHub (Mar 15, 2021): psst! _need a proper programmer and balls to brick my laptop_
Author
Owner

@macvenez commented on GitHub (May 19, 2023):

Hi, how did you fix this issue?
I have an Acer Nitro 5 (AN515-55) and can't get fans lower than 30%
Thanks

<!-- gh-comment-id:1554578477 --> @macvenez commented on GitHub (May 19, 2023): Hi, how did you fix this issue? I have an Acer Nitro 5 (AN515-55) and can't get fans lower than 30% Thanks
Author
Owner

@mirh commented on GitHub (May 20, 2023):

It is likely that fan off mode relies on some kind of other switch/value/toggle inside the EC.

<!-- gh-comment-id:1555900931 --> @mirh commented on GitHub (May 20, 2023): It is likely that fan off mode relies on some kind of other switch/value/toggle inside the EC.
Author
Owner

@macvenez commented on GitHub (May 20, 2023):

So there are no advancement to completely turn off fans currently?
Thanks

<!-- gh-comment-id:1555903384 --> @macvenez commented on GitHub (May 20, 2023): So there are no advancement to completely turn off fans currently? Thanks
Author
Owner

@lurker98 commented on GitHub (Aug 13, 2023):

Hi, how did you fix this issue? I have an Acer Nitro 5 (AN515-55) and can't get fans lower than 30% Thanks

Try using the liquorix/zen kernel. That worked for me

<!-- gh-comment-id:1676340477 --> @lurker98 commented on GitHub (Aug 13, 2023): > Hi, how did you fix this issue? I have an Acer Nitro 5 (AN515-55) and can't get fans lower than 30% Thanks Try using the liquorix/zen kernel. That worked for me
Author
Owner

@mirh commented on GitHub (Aug 13, 2023):

Then, it either means that going from 5.8 to 6.4 in general is already enough to handle this, or that the secret is inside one of these 2000 patches.
(alternatively, it may be laptops built at slightly different times have slightly more or less updated ECs.. but let's not be pessimistic)

<!-- gh-comment-id:1676373467 --> @mirh commented on GitHub (Aug 13, 2023): Then, it either means that going from 5.8 to 6.4 in general is already enough to handle this, or that the secret is inside one of these [2000](https://github.com/torvalds/linux/compare/v6.4...zen-kernel:zen-kernel:6.4/main) patches. (alternatively, it may be laptops built at slightly different times have slightly more or less updated ECs.. but let's not be pessimistic)
Author
Owner

@macvenez commented on GitHub (Aug 13, 2023):

Hi, I updated yesterday Arch from "standard" Kernel from 6.3 to 6.4 no changes on minimum fan speed.

More info:
If I turn on the computer and do light tasks which doesn't need the PC to spin fans they remains at 0.
If I do something which gets the CPU hotter and makes the fan spin up, they then remain at like 30% even if the requested speed from nbfc is 0.

On your side has the issue disappeared when updating to 6.4 kernel? Can you please replicate my situation and confirm the fan speed gets to 0 correctly even after spinning the fans? If it does work can you please share with me your config file?

Thanks a lot!

<!-- gh-comment-id:1676421049 --> @macvenez commented on GitHub (Aug 13, 2023): Hi, I updated yesterday Arch from "standard" Kernel from 6.3 to 6.4 no changes on minimum fan speed. **More info:** If I turn on the computer and do light tasks which doesn't need the PC to spin fans they remains at 0. If I do something which gets the CPU hotter and makes the fan spin up, they then remain at like 30% even if the requested speed from nbfc is 0. On your side has the issue disappeared when updating to 6.4 kernel? Can you please replicate my situation and confirm the fan speed gets to 0 correctly even after spinning the fans? If it does work can you please share with me your config file? Thanks a lot!
Author
Owner

@lurker98 commented on GitHub (Aug 14, 2023):

On my laptop, the generic kernel has consistently failed at this ever since 2019. The zen/liquorix kernel has consistently worked ever since I discovered it works in 2021.

The secret is probably inside those 2000 patches.

<!-- gh-comment-id:1676664492 --> @lurker98 commented on GitHub (Aug 14, 2023): > On my laptop, the generic kernel has consistently failed at this ever since 2019. The zen/liquorix kernel has consistently worked ever since I discovered it works in 2021. The secret is probably inside those 2000 patches.
Author
Owner

@lurker98 commented on GitHub (Aug 14, 2023):

Hi, I updated yesterday Arch from "standard" Kernel from 6.3 to 6.4 no changes on minimum fan speed.

More info: If I turn on the computer and do light tasks which doesn't need the PC to spin fans they remains at 0. If I do something which gets the CPU hotter and makes the fan spin up, they then remain at like 30% even if the requested speed from nbfc is 0.

On your side has the issue disappeared when updating to 6.4 kernel? Can you please replicate my situation and confirm the fan speed gets to 0 correctly even after spinning the fans? If it does work can you please share with me your config file?

Thanks a lot!

Yes, this is the same behavior on my laptop as well. I have also noticed that restarting nbfc stops the fans to zero for a second or two before it ramps back up again.

I live in a tropical area so I wonder if ambient temperatures have to do anything with it.

On arch linux, install the zen kernel and see if that fixes this for you.

sudo pacman -S linux-zen

and

sudo pacman -S linux-zen-headers if you use NVIDIA proprietary drivers

<!-- gh-comment-id:1676666210 --> @lurker98 commented on GitHub (Aug 14, 2023): > Hi, I updated yesterday Arch from "standard" Kernel from 6.3 to 6.4 no changes on minimum fan speed. > > **More info:** If I turn on the computer and do light tasks which doesn't need the PC to spin fans they remains at 0. If I do something which gets the CPU hotter and makes the fan spin up, they then remain at like 30% even if the requested speed from nbfc is 0. > > On your side has the issue disappeared when updating to 6.4 kernel? Can you please replicate my situation and confirm the fan speed gets to 0 correctly even after spinning the fans? If it does work can you please share with me your config file? > > Thanks a lot! Yes, this is the same behavior on my laptop as well. I have also noticed that restarting nbfc stops the fans to zero for a second or two before it ramps back up again. I live in a tropical area so I wonder if ambient temperatures have to do anything with it. On arch linux, install the zen kernel and see if that fixes this for you. sudo pacman -S linux-zen and sudo pacman -S linux-zen-headers if you use NVIDIA proprietary drivers
Author
Owner

@Demetrio92 commented on GitHub (Aug 14, 2023):

I do not understand why this closed issue is continued to be debated with references to things that are not the issue I was facing. Which is: minimum fan speed is hard-coded into the bios for a certain temperature level. E.g. if your temps go above 40, the fan will kick in, and there is nothing you can do about it. Unless you're willing to modify your bios.

This is not solvable by choosing a different kernel version, neither is it a bug in NBFC.

That was the issue on the machine I was testing on.

If you have different hardware you should open a new issue.

<!-- gh-comment-id:1677799588 --> @Demetrio92 commented on GitHub (Aug 14, 2023): I do not understand why this closed issue is continued to be debated with references to things that are not the issue I was facing. Which is: minimum fan speed is hard-coded into the bios for a certain temperature level. E.g. if your temps go above 40, the fan will kick in, and there is nothing you can do about it. Unless you're willing to modify your bios. **This is not solvable by choosing a different kernel version, neither is it a bug in NBFC.** That was the issue on the machine I was testing on. If you have different hardware you should open a new issue.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nbfc-hirschmann#941
No description provided.