Rem0o / FanControl.Releases

This is the release repository for Fan Control, a highly customizable fan controlling software for Windows.
Other
14.2k stars 446 forks source link

CPU fan stopped! #1848

Open ThatMouse opened 1 year ago

ThatMouse commented 1 year ago

Since V160 sometimes when I turn on my PC in the morning my CPU fan is stopped! I can see 90+ temps on my Curve, but the CPU Control has no effect on the fan. Rebooting fixes the problem.

Mind777 commented 1 year ago

What's really needed is an alarm feature to automtically warn the user should a fan stop working.

Having a fan stop working can be very dangerous and result in damage to system components.

MogLevins commented 1 year ago

After updating from v154 to v164, v166, and v168 the CPU fan control controlled by a graph monitoring cpu temperature will make the CPU temp max out until crashing but the device attached to the CPU fan header will never increase. The system is idle and total system cpu utilization remains at 1-2%. Disabling just the cpu controller in FanSpeed resolves the issue. It is not cosmetic. The temperature rises until the cpu shuts off. The AIO attached to the CPU fan header never increases pump or fan speed and the radiator becomes too hot to touch. The CPU fan header is set to PWM in the bios/firmware.

Rebooting the system and only running FanControl yields the same experience: enabling the fan controller using a CPU temp graph curve results in instant cpu temp rise until cpu halts from being over temp.

Attached userConfig.zip. userConfig.zip

Asus ROG CrossHair VIII Hero (AMD X570) motherboard, AMD 5950X CPU, Arctic Liquid Freezer II 420 A-RGB AIO. Windows 10 22H2.

Controller: /lpc/nct6798d/control/1 Sensor: /lpc/nct6798d/fan/1 Curve: /lpc/nct6798d/temperature/1

Rem0o commented 1 year ago

@MogLevins Can you identify what causes the temp spike, aka which fan/pump is stopped ? I can see that you hide your pump(s) speed. Do those stop at some point, and when?

image

MogLevins commented 1 year ago

@Rem0o The "Waterpump" and "AIO Pump" headers have nothing connected. Instead, an integrated pump, fans, and radiator unit is attached to the CPU fan header (AIO means all-in-one and there is only a single PWM plug to control the pump and fans). Before I updated from v154 to v164, the FanControl setup worked, IIRC. With a mixture of Windows updates (including .NET framework security patches) and updating to v164, enabling the controller for the CPU fan header results in the cpu temp immediately rising to its maximum value. The problem is that even though the temperature is growing, the pump and fans attached to the CPU header do not increase speed in response to temperature like they did with v154. Instead, pump utilization and fan rpm go down or go to the minimum value as temp goes up. The issue is reproducible 100% of the time.

ThatMouse commented 1 year ago

@MogLevins Out of curiosity does setting the Control to Manual Control work? In my case, the CPU fan would be totally stopped and Manual Control would do nothing. No action on this report, so I have since switched back to my Asus software for this one PC. My other PCs use Fan Control still, so I'm worried there is a bug.

MogLevins commented 1 year ago

@ThatMouse The option to select manual control appears disabled and I cannot select it. I have a fan curve defined in the bios. With the FanControl controller disabled, the pump runs around 50% and the fans run around 900 RPM (as reported by FanControl).

Rem0o commented 1 year ago

@MogLevins you need to click on the toggle to set the control "on".

MogLevins commented 1 year ago

@Rem0o Oops, I see that I have to enable the control to select manual mode. Doing so stops the fans and the temp climbs even though fans should be at 50%. Setting the manual mode and moving from 50% to 100% runs the fans at 333 RPM instead of the real maximum. The fans on the radiator support a range of 200 - 1700 RPM.

Rem0o commented 1 year ago

If you can narrow it down to a previous fan control version, I would recommend for now you stick to that version on that build. Most likely a LHM update broke support partially for your setup. If you want the latest build of fan control still, you can always drop an old lhm dll onto a new FanControl build.

MogLevins commented 1 year ago

@Rem0o I think I see what is happening. The PWM setting for the CPU fan in the BIOS has a fan curve defined. I cannot recall if the minimum is set to 50% or 20% in the BIOS. It seems that the FanControl program (well, LHM library) is applying a multiplier to the BIOS fan curve instead of the raw value such that the BIOS's fan curve setting becomes the maximum value FanControl can access. So 50% of 50% becomes 25% and the pump and fans run at the lowest supported speeds. No matter what FanControl (LHM?) tells the AIO to do, it ends up being an insufficient fan speed to remove heat and the heat just climbs due to the pump and fans running at the slowest settings. Disabling the controller lets the AIO run with the full fan curve stored in the BIOS and it runs at 50% (900 RPM).

I don't know if this is related to a library update or BIOS settings changes on my part. I'll have to do more testing and diagnosis. I'll also try different versions of LHM dll.

Mind777 commented 1 year ago

After updating from v154 to v164, v166, and v168 the CPU fan control controlled by a graph monitoring cpu temperature will make the CPU temp max out until crashing but the device attached to the CPU fan header will never increase. The system is idle and total system cpu utilization remains at 1-2%. Disabling just the cpu controller in FanSpeed resolves the issue. It is not cosmetic. The temperature rises until the cpu shuts off. The AIO attached to the CPU fan header never increases pump or fan speed and the radiator becomes too hot to touch. The CPU fan header is set to PWM in the bios/firmware.

Rebooting the system and only running FanControl yields the same experience: enabling the fan controller using a CPU temp graph curve results in instant cpu temp rise until cpu halts from being over temp.

Attached userConfig.zip. userConfig.zip

Asus ROG CrossHair VIII Hero (AMD X570) motherboard, AMD 5950X CPU, Arctic Liquid Freezer II 420 A-RGB AIO. Windows 10 22H2.

Controller: /lpc/nct6798d/control/1 Sensor: /lpc/nct6798d/fan/1 Curve: /lpc/nct6798d/temperature/1

This is great software but i've read too many reports of fans just suddenly stop working (also happened to me) which could prove to be very dangerous and damaging to pc components.

Unless there is some built-in safeguard against this, i've stopped using fancontrol for now unfortuntely. It's just too risky.

Rem0o commented 1 year ago

@MogLevins that makes sense! Seen similar scenarios with asus boards where applying a profile from asus software/bios would limit the available range. You can probably disable those curves/profiles to gain access to the full range. The usual good practice is to set a flat manual speed in the bios as a fallback, high enough as a nice default. You do not want to have a competing software/fan curve with FanControl running.

MogLevins commented 1 year ago

@Rem0o @ThatMouse I found that even though I used the asus uninstaller and windows showed the related asus packages and services were uninstalled, the asus services were not removed and continued to run. This made LHM unable to read fan rpm correctly and prevented the desired fan controls from working. I did not change my bios settings. I went through the windows task manager and manually stopped all asus services. Then I deleted the asus folders from the various places on disk. Now fan control v168 can read fan speeds and set the all-in-one duty cycle correctly. I feel asus software is the culprit for the problems I saw.

rpm readable and correct duty cycle

surekqomi commented 10 months ago

Not sure if related, but I switched to Fan Control from HWInfo due to the ASUS BIOS buggyness mentioned here and here amongst others. The symptom I was (am) seeing is the fans and AIO pump control seems to invert after a random amount of time, anywhere from minutes to days after booting. Once this happens, I can work around the stopped fans by enabling manual control and setting the speed control to 0% - this will bring the fan up to full speed. The problem is that the AIO pump cannot be controlled, and with the pump also stopped, the CPU will hit TJ max and shutdown.

I was able to get an old molex fan adapter that breaks out the sense wire so that the speed can still be monitored, whilst the AIO pump runs directly off the 12V supply rail. That solves the stopped pump issue, but I still need to keep an eye on the fans though, as stopped fans still lead to overheating. I'm running Home Assistant on the network and this PC has the HASS Agent feeding sensor values back to HA for graphing. I'm considering trying to hack a plugin together that will allow me to switch the fans to manual and 0% when the fan speed drops too low and the CPU temp goes over 70°C.

Just for reference, my motherboard is an ASUS Prime X470 Pro and an Antec Symphony 360 AIO. Overkill, but my previous AIO died and this was on special. This Windows 10 install has never had HWInfo on it, nor have I installed any ASUS utils. I went straight to Libre Hardware Monitor (v0.92 right now) with Fan Control v174 as of 2 weeks ago.