New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fanSetMinSpeed() doesn't seem to work? #29
Comments
From a quick test, this works for me. I'm on a Aside:
|
Yes, it's a MacBookPro13,2 with 10.12.1. smcFanControl is likewise broken on this computer, but Macs Fan Control does change the fan speed as expected. |
ah! Don't have a thought as to what it could be then offhand. Will investigate. |
After some testing I found some interesting results. The MacBookPro13,2 will idle with fans at 0 RPM, as reported by
Trying to reset the fan speed with It seems that SMCKit can't actually turn the fans on or off? |
hmm, I don't ever recall this happening (would be surprised!), on older models that is. Based on how many samples from
It usually responds right away, but seems to have additional internal logic to override and such, as needed. As stated in docs:
The SMC driver likely has builtin safe guards to prevent dropping the fan to zero (or rather, below the default, which ~1300 RPM sounds right for a 13" model).
Rebooting should reset everything (set fan min via SMCKit is not persistent between boots), but yes an SMC reset may be needed on occasion it seems to correct any issues.
Not off, but as mentioned, raising the min usually has the system respond fairly quickly ("on"). I recall there being a fan force bit to entirely override control from the OS, but I never added it since it seems to be a narrow use case, and frankly dangerous :) |
5 just then, all returning 0 rpm, along with SMCKit, smcFanControl and Macs Fan Control. |
Interesting! |
For the record, macOS doesn't do this : the SMC does, based on its own algorithm and input from the temp sensors. Although I guess the OS could forcefully set the fan speed by using the "force bit" – a way to entirely override control and transfer from the SMC to the OS. In normal operation though, the SMC handles things by itself and may or may not perform commands issued to it. |
I've not tried anything, but if the minimum fan speed only has an effect after macOS sets the fan speed, you could try to force the SMC to update by setting the fan speed to the minimum value. So, after fanSetMinSpeed(2400RPM), do fanSetSpeed(2400RPM). Regarding "fanSetSpeed", this function doesn't currently exist in SMCKit. It would work in the same way fanSetMinSpeed does, except by setting the key |
Running this code as root (with SIP off):
Prints
5000
as expected, but the fan itself does not seem to change its speed - there is no audible sound andSMCKit.fanCurrentSpeed(0)
still returns0
.The text was updated successfully, but these errors were encountered: