Terminus Logo

Question ? How can I control the FAN on my mac mini ?  

 So - why should I do something to have a different FAN control on my system ?
Well - quite simple. Under heavy load - my system does not seem to increase the FAN speed - even when the CPU Core's are at 75C, the FAN Speed is at about 2500RPM. I can manually tell the system to increase this - but I want it to be done automatically.
For this - I have written a little script - that can be run as daemon applesmc.sh. Check the attached file section.

What you need is a newer kernel supporting the applesmc kernel module. To be sure this module gets loaded at boot time - enter it into the /etc/modules file - this in a Kubuntu 7.04 system as example. For my mac mini - here are the modules I load at boot:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
msr
applesmc

Once this module loaded - use the macmini-fan and applesmc daemon scripts to set it up on boot. See the setup below:

sudo cp applemsc.sh /usr/bin
sudo cp macmini-fan.sh /etc/init.d/macmini-fan
sudo chmod +x /etc/init.d/macmini-fan /usr/bin/applemsc.sh
sudo update-rc.d macmini-fan defaults
sudo /etc/init.d/macmini-fan start

To check the FAN Status - call that script with the status parameter:

applesmc.sh -s

WARNING: The programs come as they are. They may brake your machine if not used correctly and I will take no responsibility for anything that happens to your computer, environment or whatever burns down !
Always use applesmc.sh daemon script to shutdown itself invoking

applesmc.sh -k

The macmini-fan script does this already on shutdown.
The reason is very simple. When beeing active - this daemon disables the automatic fan control of the system - and takes over the monitoring (by default) by polling every 10seconds what the CORE temperatures look like. If you kill the daemon - it will try to catch the kill signal and issue a command to reset the FAN control to automatic - however this is not always possible...

You have been warned ! When the daemon has started correctly - you see some stuff like this in your syslog (syslog logging is enabled by default. Havn't tried it without).

Sep 14 16:27:26 firebird applesmc: Version: 1.13 $ initialisation succeeded
Sep 14 16:27:26 firebird applesmc: Mode: manual - CPU 52C, FAN @ 2000RPM
Sep 14 16:30:06 firebird applesmc: CPU 57C, FAN @ 2000RPM > 2500RPM
Sep 14 16:31:26 firebird applesmc: CPU 52C, FAN @ 2500RPM > 2000RPM
Sep 14 16:32:36 firebird applesmc: CPU 66C, FAN @ 2000RPM > 2500RPM
...

Check the 2nd line stating Mode change to manual. When stopped - this has to change to auto !
Note the daemon will only log changes that would invoque a RPM change higher than a specified level (default is 500RPM).

A Daemon shutdown would look like this in syslog:

Sep 14 16:20:50 firebird applesmc[27266]: Daemon shutdown requested
Sep 14 16:20:50 firebird applesmc[27266]: Killed process 27002
Sep 14 16:20:50 firebird applesmc[27266]: Mode: auto - CPU 54C, FAN @ 2000RPM

while the console output would look like this:

# ./applesmc.sh -k
> applesmc Daemon shutdown requested
> applesmc Killed process 20139
> applesmc Mode: auto - CPU 51C, FAN @ 2000RPM

 

Entered by smurphy on Thursday, 13 September 2007 @ 23:27:23  
Linux on Apple Hardware - Apple Mac-mini, # Hits: 94107

This page was issued from the Terminus Website:
https://www.solsys.org

The URL for this page is:
https://www.solsys.org/mod.php?mod=faq&op=view&faq_id=118


  Close