Last active
October 2, 2019 14:33
-
-
Save ast3150/0e70ab56ecec066bbd43f9248c31bad8 to your computer and use it in GitHub Desktop.
Disabling a broken MacBook fan temporarily to avoid excessive noise
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# To disable the fan: | |
# Read the current minimum speed of fan 0, write this down so you can reset it later if you wish to | |
sudo /Applications/smcFanControl.app/Contents/Resources/smc -r -k F0Mn | |
# Set the minimum speed of fan 0. To set the min speed for fan 1, replace F0Mn with F1Mn. | |
sudo /Applications/smcFanControl.app/Contents/Resources/smc -k F0Mn -w 0000 | |
# Set the fan to forced speed mode. The parameter 0001 forces the speed of fan 0. To force fan 1, use 0002. To force both fans use 0003. | |
sudo /Applications/smcFanControl.app/Contents/Resources/smc -k "FS! " -w 0001 | |
# Set the target speed of fan 0. To set the target speed for fan 1, replace F0Mn with F1Mn. | |
sudo /Applications/smcFanControl.app/Contents/Resources/smc -k F0Tg -w 0000 | |
# To undo and go back to default speed control: | |
# Set both fans to automatic mode: | |
sudo /Applications/smcFanControl.app/Contents/Resources/smc -k "FS! " -w 0000 | |
# Set the minimum speed of fan 0 back to default (1250): | |
sudo /Applications/smcFanControl.app/Contents/Resources/smc -k F0Mn -w 1388 | |
# To convert normal fan speed values to a format that you can write to the SMC: | |
python -c "print hex(1250 << 2)" | |
# Converts the speed of 1250 RPM to 0x1388, use as seen in the command to set the min speed of fan 0 back to default (above). |
If you know how, you can put these commands into a .command file and make it executable, so you have a script that you can run from your desktop to manually enable and disable the fans.
Warning: Writing to the SMC directly is risky, and forcing the fan speed down below a limit where it is supposed to be can cause overheating and failure of your computer. Do not do this in a computer which only has one fan!
Disclaimer: I take no responsibility for the safety of your system if you attempt any of this.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
A colleague had a broken fan in his MacBook Pro (2017) that caused a loud noise whenever the fan was running. Since it took a couple days until he could get it fixed, we decided to disable that fan since there is a second fan which can handle some of the heat.
To do this, we used the smcFanControl App which has an embedded utility that can write directly to the SMC.
-> Download
Since the app can't go below the system minimum speed for the fan, which is set around 1200 RPM, we used the Terminal to override the minimum and force the fan speed to 0. It took some time to figure this out, so I figured we would share with the world in case anyone else is in the same situation.
Download and install the app (move it to /Applications), and use the embedded utility with the commands, executed one after the other.