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
|