Anyway here we go a patched AppleACPIThermal and AppleACPIEC (which is backported from 2005 , aka OSX 10.4.1 for OSX 10.6). You may ask – Why on earth you want to do that. Well , I’ve many reasons for doing so. The primary reason is for me to control the fan speeds , at least so that its not that noisy and mainly to activate Thermal sensors of the computer so that OSX sort of knows when to shut down the PC when its too hot . Technically you should get a warning saying that your PC is too hot and you should shut it off and wait for it to cool. These kexts are meant for laptops (portable computers) and netbooks alike . They DO NOT WORK ON DESKTOP COMPUTERS
So what on earth is EC (Electronic Controller) and Thermal Zone ?
Basically how it works is by using pure ACPI calls. I’ve managed to get some of the idea , on how it works. Electronic Controller is something like homeostasis , i.e when your blood sugar content is high – how your body brings it down . Same goes to your laptop. If it senses that the laptop is too hot , it tries to bring down the temperature by cutting down on power consumption (i.e sending HALT commands or forcing the CPU to go into full energy-saving mode , going into standby automatically , cutting down GPU power by half , etc) . Real macs do have Electronic controller as well , its just that Apple made it to work with EFI and with their EC only , for the rest of us – we’re still using traditional ACPI Method. This is where both of the kexts come into play ! (more after the jump)
Enough of your long-winded text. So will it help me to fix noisy fan issues and stuff in OSX ?
I’ve conducted some tests in insanelywind and I’ve found out that it did in fact work for MSI Wind U100 netbooks. These fans are controlled automatically based on temperature of CPU and other components inside . However due to the “legacyness” of this kext , it does not report fan speed and such to OSX. Even if its possible to report , applications would not able to work such as iStat as it prefers to use SMC to obtain data rather then traditional ACPI Calls. Short-answer , yes !
So how do I go about installing …
Simple , just be sure that you’re running 32-bit kernel . To verify if you’re on 32-bit , simply fire up Terminal and type uname -a
You should see “i386” if you’re on 32-bit kernel and “x86_64” (64-bit kernel). If you’re on 64-bit kernel , be sure to use 32-bit kernel.
Now download the kexts , and place them in either your EFI Partition or /Extra/Extensions or /System/Library/Extensions. Its your call , these kexts will work anywhere regardless of where you place them. Fix the permissions , rebuild kext cache and reboot.
Keep your fingers crossed. Once you’re on OSX , you can check if the kexts are loaded by issuing kextstat or check in IORegistryExplorer. On some laptops you should able to see your current fan speed and other information. But for others , you dont get to see em as the system does not report. Nothing to fear , its just that it does it automagically without letting you know whats going on behind the hood :p
Oh yeah one more thing , this thing goes best with Superhai’s VodoooPowerMini . It may not work with Native SpeedStep via DSDT.
These are the primary reasons why I’ve recompiled the kext. The original source code can be obtained from Apple’s site. Modifications would be posted later as I need to have a cooling off period before I could release it