MacFan 0.6 has been released! Release notes are included below and the changes are summarized here for your convenience:
**Fixes another issue preventing MacFan working on Windows XP.**
Mac/SMC Fan Control for Windows (+ Temp)
Copyright (C) 2009 Robert Gilliam
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
USE OF THIS PROGRAM IS AT YOUR OWN RISK. I AM NOT RESPONSIBLE FOR ANY DAMAGE CAUSED
TO YOUR COMPUTER THROUGH THE USE OF THIS TOOL. AS STATED ABOVE, THIS PROGRAM IS
DISTRIBUTED WITHOUT ANY WARRANTY.
Start an administrator command prompt and navigate to the directory you extracted MacFan.exe to. Run MacFan like this:
MacFan.exe <Desired RPM for Fan 1> <Desired RPM for Fan 2 (if applicable)>
<Desired RPM for Fan 3 (if applicable)> <Desired RPM for Fan 4 (if applicable)>
Run the program once with no arguments if you need to know how many fans are in your machine
and the minimum and maximum speeds those fans can be set to.
Of course, if you already know the acceptable ranges for your fans you can go ahead and run the
program right away with the speeds you desire. For example, to set both fans in a MacBook Pro
to 3000 rpm you would type:
MacFan.exe 3000 3000
For MacPro users, control of the Power Supply Fan is currently not working. Make sure you always
pass 0 as the fourth argument in order to not attempt to control the power supply fan.
Passing anything except 0 as the speed for your 4th fan could result in damage to your computer.
Proper control of the power supply fan or removal of the 4th argument if it is not possible
will be included in the next release. Example of running MacFan on a MacPro:
MacFan.exe 1500 900 2000 0
MacFan does not override Apple's built in temperature controls but simply raises the minimum speeds your fans can spin at.
If your machine gets hot enough that Apple's built in temperature controls want to raise your fan speeds, they should still raise them
to the same speed they would be at otherwise.
In order to monitor temperatures, run MacFan with the /temperature or /temperatures option. You can optionally specify a number after the temperature option ( example: MacFan /temperature 20 ) in order to refresh the display of temperatures every x seconds ( in this case, 20 seconds ).
At the moment, temperatures take a long amount of time to read ( can be as much as 15 seconds on machines with many sensors ). I am focusing on speeding up this process for the next release.
Working MacPro PSU fan control.
I am also working on allowing the user to create rules that will govern automatic temperature control.
Initial release. Supports all non-iMac Intel Macs for manual speed control of each individual fan through command prompt.
Supports every Intel Mac. MacFan reads fan information directly from the SMC for any computer not found in its internal database. Full functionality
is provided and to guard against incorrect SMC minimum fan speed values as a result of using SMC Fan Control in Mac OS X and rebooting, not shutting down before booting Windows, a warning is displayed if the values seem too high for your computer.
MacFan will now automatically terminate BootCamp.exe, KbdMgr.exe, and everest.exe on startup and restart them upon exit.
Fixes minor bug that displayed a BootCamp.exe stopped working dialog on Vista when BootCamp 3.0 drivers were installed.
Shortens folder name to make it less of a hassle to run.
Fixes issue on MacBook Air and regular MacBook that could warn you that the SMC minimum values seem too high for your computer when they are default.
Fixes internal database issue preventing detection of MacPro.
Cleans up code for easier transition from ini file to registry in a future version.
Adds 64 bit version to fix issue with closing 64 bit processes (KbdMgr.exe and Bootcamp.exe) on 64 bit systems.
Fixes issue on some machines that could cause DEP to close Bootcamp.exe when attempting to terminate it.
Unfortunately, this workaround results in a duplicate bootcamp icon in your system tray until you mouse over it. Once you do so, it disappears.
Fixes issue causing BootCamp.exe to not be properly reopened after MacFan closed it.
Fixes an issue where, if computer MacFan is being run on could not be found in database, minimum and maximum values would not be recorded to ini file and program would not be able to set fan speeds correctly.
MacFan will now work as intended on machines not found in its database.
Fans are now identified by name as well as number.
Basic version of temperature monitoring now implemented:
Run MacFan with the /temperature or /temperatures option to display current temperatures of all active sensors. You can also run MacFan with a number after the /temperature option. This causes the temperature display to run indefinitely and refresh every x seconds. For example, MacFan /temperatures 20 causes temperatures to be refreshed every 20 seconds. At the moment, temperatures take a long amount of time to read ( can be as much as 15 seconds on machines with many sensors ). I am focusing on speeding up this process for the next release.
Unfortunately, applications closed by MacFan are not reopened upon exit when running MacFan in temperature monitoring mode with a refresh interval specified. This is also on track to be fixed in the next release.
Temperature monitoring can now be cleanly closed by hitting 'q' or paused by hitting 'h'.
Quitting MacFan by hitting 'q' works as it should and closes cleanly while reopening terminated programs.
Pausing MacFan before changing temperatures using MacFan running in another command prompt eliminates the need to quit the temperature monitor when changing fan speeds. Once fan speeds have been changed by another instance of MacFan, simply hit 'h' again to resume monitoring. The first refresh after resuming will be out of date and will only show a small amount of temperatures, but will correct itself on the second refresh.
Adds progress indicator to first run temperature identification.
Fixes issue preventing MacFan from working on Windows XP.
Fixes issue preventing pausing of temperature monitoring from working on 32 bit machines.
Improves pausing of temperature monitoring. Corrupt data is no longer displayed after resuming temperature monitoring.
Fixes another issue preventing MacFan from working on Windows XP.
Tried this version and tried the temp monitoring, great job. Here's what I have:
-If you haven't already, add the option to use /temp and or /t in addition to the full /temperature.
-if you can, relaunch bootcamp.exe just after the first scan of the temperature. I ran it manually while the scanner was running and it worked fine.
-CPU 1 (Core 1?) might be indicating incorrect on iMac (129C…I don't know what would be running that hot). CPU 1 (Core 2?) indicates 38
TC0P reads the same (129). This should not be a big deal as one of the cores reads correctly while the second should be close.
-GPU: Thanks! I have a working GPU monitor now since rivatuner gives me the wrong temp (17 as opposed to your 40ish)
Thanks for your hard work with this. Looking forward to fan control based on temperature.
Thanks for the suggestions!
I was planning on adding in /temp and /t instead of the full /temperature when I restructure the argument parsing code in preparation for automatic control, good to know I'm not alone in thinking the current /temperature is too long. Future arguments will have one long version and one short version that works.
Bootcamp.exe should be interfering with the temp sensors, what machine are you running? I know I can run Kbdmgr at the same time because it does nothing on my machine, but if you're on a MacBook it should be causing problems. I'll doublecheck what happens on my MacBook.
I noticed some incorrect sensors on my machine as well, again reading 129C. Should be an easy fix, I'll just mark any temp sensors that return 129 as not present. Thanks for letting me know this is a more widespread issue than I thought.
You're welcome on the GPU sensors. :)
In addition, I use RivaTuner myself for my GPU and CPU core sensors ( with the realtemp plugin). I highly recommend it for anyone running a MacPro, good to know it doesn't work so hot for the MacBook.
Glad you like the program, thanks again for your suggestions. They are very much appreciated!