CozmoNate / HWSensors

HWSensors is a software bundle that includes drivers and applications that allow you to access information from hardware sensors available on your Mac
658 stars 133 forks source link

Fan threshold kicks in, but doesn't drop out when sensor below threshold. #200

Open JohnWolf opened 10 years ago

JohnWolf commented 10 years ago

I set a threshold on the GPU temp sensor at 50c to kick the case fan up to 1200rpm.

When the threshold was met, the fan sped up to ~1200rpm as it should have. When I was done with the 3D app, the temp dropped down below 50c (back down to ~30c) but the fan was still at 1200rpm. Turning off the fan control left it at 1200rpm. After reboot, it returned to ~650rpm (Typical idle).

Motherboard: GA-Z87N-WIFI, MSI GTX 760 Gaming ITX, Mavericks 10.9.2, Setup no DSDT, MacPro3,1. Full build info: http://www.tonymacx86.com/mac-pro-mods/123752-2013-mac-pro-my-variation.html

Updated to 6.0.1148 yesterday and did custom install to include all current versions of FakeSMC and Plugins.

Also of note: When the fan control is turned off, it remembers the threshold and speed, but forgets what sensor to trigger on.

CozmoNate commented 10 years ago

That's how it works. It's ignores current threshold and only change the speed after temperature getting over higher or lower thresholds.

Add more thresholds if you want more steps.

I decided to implement this behavior so the user can have more control and can choose his own thresholds. You can configure hysteresis in more flexible way (not like only have static hysteresis value for every temperature=speed point)

CozmoNate commented 10 years ago

Getting temperature up from lower state will keep lower speed, but getting temperature down from higher state keeps higher speed.

JohnWolf commented 10 years ago

Is there a chance that hwsensors could return fan control to bios if below the lowest threshold value? Or, possibly have a value in the rpm window that means "under bios control".

So, in my example:

Trigger: GPU Threshold: 50 RPM: 1200 Trigger: GPU Threshold: 0 RPM: BIOS

In my case, the fan is well controlled by bios except when the GPU is under heavy load. That is the only time manual control really needs to kick in to provide additional case cooling for the GPU.

JohnWolf commented 10 years ago

Or possibly to take hysteresis into account:

Trigger: GPU Threshold: 50 RPM: 1200 Trigger: GPU Threshold: 40 RPM: BIOS Trigger: GPU Threshold: 0 RPM: BIOS

Or, is it not possible to return fan control to BIOS once it is set to manual?

CozmoNate commented 10 years ago

It's a bit problematic to get back BIOS configuration. To do this I need more time for testing and deep investigation on various SuperIOs fan control modes etc.

JohnWolf commented 10 years ago

Thank you for all the work, whatever you decide to do!

joanbarros commented 6 years ago

Old thread but I guess it's still relevant. Probably a question for you @kozlek, if still involved with the project and available that is...

After I turn "Off" the fan control, the fans keep the set speed and the control doesn't seem to go back to the OS.

Also, after I modify the fan speed, it doesn't get updated until I turn the feature "off".

Not sure what's going on there. Not sure if that's the intended behavior...