Skip to content

Ersatz fan speed control for macs with unsupported hard drives.

License

Notifications You must be signed in to change notification settings

4gra/smc-hd-shim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

smc-hd-shim

Ersatz fan speed control for Macs with unsupported hard drives. Makes use of the smc tool for all low-level stuff.

WARNING!

Don't use this tool unless you're content you can manage the consequences of it doing the wrong thing or failing completely, and your Mac overheating and destroying data, curtains, cities, etc. (I wrote this for my own laptop and am reasonably confident I'll know it's failed as I'll hear it, or feel my legs cooking).

Purpose

Sets a fan speed appropriate to the Mac CPU temperature at any given moment. I needed this following installation of a ST500LM000 in my MacBook Pro, which caused both fans to revert to a 'safe mode' ~6000RPM in the absence of Apple HD firmware-provided temperature data. I gather I'm not alone and similar problems have been reported against some models of iMac so asume this might be of wider use while there are still Macs with replaceable components.

Limitations

Only checks key Th0H! This thermal input (CPU heatsink I think) may not even exist on your hardware. Use the smc tool to check this assumption and work out which value or values are safe to use. This tool doesn't take any other thermal input into account, and doesn't check HDD SMART info either.

The decision to work off one input was checked carefully on my laptop at the time, and it seems to have worked perfectly well on my MacBookPro4,1. In adapting this for your hardware you should take into account your specific hardware (and even upgrades, potentially).

That said, it's never to my knowledge failed (thanks to launchd I assume) and contains a few basic sanity checks to prevent terrible behaviour.

Things to Tweak

All these are simple to change.

In the provided launchctl plist:

  • time between updates

In the agent script:

  • hard-coded min/max fan values min, max
  • temperature/speed curve
  • keys of fans to control

Suggested Improvements

  • Multiple inputs (including SMART) controlling fans separately for a slightly quieter / more controlled system
  • Rewrite all in C based on smc code
  • Better logging
  • Locking

LICENCE

Copyright (C) 2015, https://github.com/4gra This program comes with ABSOLUTELY NO WARRANTY; for details see included LICENCE. This is free software, and you are welcome to redistribute it under certain conditions; view the included file LICENCE for details.

About

Ersatz fan speed control for macs with unsupported hard drives.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages