Processors
Processors (Intel® Core™, Intel® Xeon®, etc); processor utilities and programs (Intel® Processor Identification Utility, Intel® Extreme Tuning Utility, Intel® Easy Streaming Wizard, etc.)
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
12252 Discussions

Problem with fan speed on Linux 5.4 kernel - microcode of Intel CPU

Piotr
Novice
687 Views

Dear Intel Community Support,

I have question. I have problem with my fan. This is not increase speed when I load my CPU. This works only with idle speed so I have problem with overheating. This behaviour only in Linux OS.

I heard that this can be problem with microcode firmware of the CPU. Is it safe to unistall this microcode? Or maybe I will ask you in different way, How I can unistall microcode of the CPU loaded by linux kernel without risk of damage my PC?

I hope that some of the users now how I can do this. I am sure that we have here linux user or maybe official linux developer from Intel.

Thank you.

Have a nice day!

0 Kudos
11 Replies
n_scott_pearson
Super User Retired Employee
629 Views

(1) You should never downgrade the microcode. This will (re-)introduce errata that will cause system failures and could cause an incompatibility between the processor and the current firmware for the Intel Management Engine.

(2) It is absolute baloney that this is happening purely because of the microcode being updated. Whomever is telling you this is a complete idiot and you should stop listening to them. Fan Speed is controlled by the motherboard. It is configured from the motherboard's BIOS Setup program. Go there and configure it properly and it will handle the temperature changes just fine.

Off my soapbox now...

...S

Piotr
Novice
617 Views

@n_scott_pearson thank you for your answer. This is old notebook machine from HP. I know that sensors are on the motherboard but I think that in my case fan speed is controlled by Linux kernel and not by BIOS. Why I think that? I readed this on kernel.org because some people had this same problem after upgrade from 3.12 to 3.13 kernel (I have now 5.4 kernel) and I tested it.

When my notebook overheating while work in Linux OS I rebooted my machine and go to BIOS. Now my fan speed is 100% speed but when I boot up and Linux is loaded next my fan speed is only 10% (idle speed). When my machine is cold I go to BIOS I have also idle speed. So this is problem that fan speed is controled by OS, not BIOS and kernel have problems probably with detect some sensors.

On newer machines (desktop PC) my fans was controlled by BIOS and I could configure that. In this notebook from HP I don't have any configuration option to fans.

This person who told me about microcode was not person from kernel.org. I also thinked that this sound strange so that is why I asked you about help.

n_scott_pearson
Super User Retired Employee
614 Views

Yea, major difference PC to Laptop. Likely what is happening is that the Kernel is executing the ACPI code for (passive) fan control. If what you say is happening, then it sounds like you may not have a method to modify the setpoints in this code. There are supposed to be programs that will allow you to dump the ACPI code/tables, but I have no references for Linux handy.

So, it may be that someone is suggesting that, with the later microcode that has workarounds for Spectre, etc., you may be seeing higher temperatures. I still do not recommend going to an earlier microcode release, as this decreases security, but if you want to try, this is really up to you.

...S

Piotr
Novice
601 Views

Yeah, someone alo suggest me to update BIOS because I have old version. Maybe this can help but I readed that someone did it and this not help but for 3.14 kernel, now we have 5.4.

I executed this command and I can see only two thermal zones. On my second machine with linux I have six thermal zones so this can be problem with sensors. Kernel can't find some sensors.

$ cat /sys/class/thermal/thermal_zone*/temp


59500
20000

n_scott_pearson
Super User Retired Employee
583 Views
No, Kernel only utilizes the zones configured and presented to it. Likely this is just supporting CPU and PCH (chipset) temperatures.
Another thing you need to watch out for, though, is garbage thermal zones that were pasted in by BIOS creator but never properly configured. I have seen this with a few of the Intel NUCs and had to report it for fix.
...S
Piotr
Novice
546 Views

@n_scott_pearson I have some simple question to you. Do you know what command I can use to load my CPU to minimum 50%? I know that I can do this by dd command but maybe do you know what other, safe command I can use to load my CPU without installing any programs?

I want to try some other linux distributions with live session so I don't want to install any programs but I must load my CPU to ensure if my fan spinning will be speed up or not. Thanks.

n_scott_pearson
Super User Retired Employee
534 Views

For Linux you mean? On Windows, I often use prime95 to load up the system. I know that there is a Linux/FreeBSD command-line implementation of this called MPrime. I have no idea if this is a standard package in any particular distros, however. If it's not in yours, you can always download it from mersenne.org.

More often though, I use the AIDA64 application, since it has the most comprehensive support for sensor devices in the industry and can monitor and log sensor readings across their built-in stress test. There is no Linux equivalent for AIDA64, but, in a google that I did, I noted this webpage that might help you: 6 Best CPU Stress Test and Performance Benchmark Linux Tools.

Hope this helps,

...S

Piotr
Novice
516 Views

@n_scott_pearson thank you for your answer. I mean Linux because in the past I used Windows and I know what programs are good to do benchamarks or stress test.

For Linux I mean not use programs to benchmark or stress test. I wanted to know what is simple method to load CPU to near 50% or more. Why I want to do that? I must load CPU to increase temperature because I want to check if on another linux distributions my issue with fan will be still there. I readed that I can use dd command to load CPU but this will also load my hard drive but I prefer more to load only CPU. I don't know if it is available simple method to do that without installing additional programs. I prefer to do it from terminal when I will be offline. If you know some method I will apreciate for answer. Thank you.


dd command to load CPU:

time dd if=/dev/zero of=/dev/null bs=262144 count=40960

 

Piotr
Novice
476 Views

I tried Fedora 34 with 5.11 kernel and I have this same issue so this looks like upstream problem. I find that someone have similar problem in the past: https://bugzilla.kernel.org/show_bug.cgi?id=71711


I also notice that person who helps with ACPI problems in kernel is from Intel?

n_scott_pearson
Super User Retired Employee
452 Views

LOL! No, I am a former (retired) Intel engineer, who volunteers some of my time (too much) to help with issues here in the forums.

...S

Piotr
Novice
181 Views

This thread can be closed. I not use Linux Family OS anymore and I also recycled this old notebook . This issue with fans speed are related to ACPI issue but only affected Linux. On Windows this works correctly. I reported this issue to the Linux kernel developers but they are not interested with resolving this issue. It is very sad. Linux is veryy buggy OS.

Reply