hholtmann / smcFanControl

Control the fans of every Intel Mac to make it run cooler
GNU General Public License v2.0
2.41k stars 304 forks source link

Changing the minimum fan speed from 1200 --> 0. #103

Open jlehrer1 opened 4 years ago

jlehrer1 commented 4 years ago

Hi Hendrik.

I know this project hasn't been worked on for a while, so I am developing my own modern tool for the T2 chipped MacBooks. Just one question -- how do I change the minimum fan speed from 1200 to zero? The 2019-2020 MacBook Pro's idle at 0 until ~40, and running the fans all the time even at low temperatures will add strain to the fan bearings, which I don't want to do unnecessarily.

Best, Julian

IChocked commented 4 years ago

Hello @jlehrer1 ,

I'm not super familiar with the source code of this library, so if I'm wrong somebody please correct me, but I would take a look at smcFanControl/smc-command/README which has more detailed information about how the library works and which values you need to change to manipulate parts controlled in SMC.

Also, if you plan to use this tool in some way for your rewrite, you can force the fan speed to a certain value.

To set a fan to a specific speed:
FS!  - Sets "force mode" to fan.  Bit 0 (right to left) is fan 0, bit 1
       is fan 1, etc
F0Tg - Sets target speed, make sure you fp78 encode it (left shift by 2)

For example, to force both fans to 3500 RPM:
# python -c "print hex(3500 << 2)"
0x36b0
# smc -k "FS! " -w 0003
# smc -k F0Tg -w 36b0
# smc -k F1Tg -w 36b0

One thing I'm not sure of, though, is if the T2 chip will mess up this library. As described in Apple's description of the T2 chip, "By redesigning and integrating several controllers found in other Mac computers—such as the System Management Controller..." which may mean that you need to access SMC values in a different way that this library does. Will require some experimenting I think...