Contribute
Register

New Fan Control DSDT - for silent fan at higher temps!

Joined
Aug 16, 2011
Messages
1,085
Motherboard
HP-4540S
CPU
i5-3210M
Graphics
HD4000
Mac
Classic Mac
Mobile Phone
I must say I'm hooked. This should be included in F.29 BIOS revision with user selectable temperatures.
With fan being off we should gain another 20-30 minutes battery life.

Anyone have any benchmarks?
 
Joined
Aug 31, 2012
Messages
43
Motherboard
HP 8300 Elite
CPU
3770 i7
Graphics
HD4000
Mobile Phone
iOS
Hmmm, it doesen't work for me, i am a noob so i probably did something wrong ;)
Compiled DSDT with the new 04_FanExperimental.txt and did all the other thingies as well.

I did make the folder modules in gui as well as the copy of the file into the folder.
Did i mess up permissions by doing so?

The ACPIPoller.kext, i went for the one in Release folder and installed it with KextWizard.
After that i did a repair permissions and rebuild cache in KextWizard.

Reboot but no fan off at 40?
A bit hard to get under 40 so i tried to edit the all.txt file from the make to the off at 50 value and re-compiled, but no fan off.

Cheers.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
190,989
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
MacBook Air
Mobile Phone
iOS
I must say I'm hooked. This should be included in F.29 BIOS revision with user selectable temperatures.
With fan being off we should gain another 20-30 minutes battery life.

Anyone have any benchmarks?
I used mine mostly plugged in, connected to a 24" 1920x1200 monitor and external keyboard. Easier to program on the large screen and full size keyboard than using it as a laptop. I just like the silence. Later tonight, I think I'll use it on the couch and see how hot it is on the lap. I didn't even think of the battery impact.

One thing I would like to do, time permitting, is to create a pref pane that would let you modify the table/behavior from the Mac GUI. That would involve me learning Mac GUI programming which I've never done and writing another kext. prefpane would have to talk to a kext to effect changes to the FTAB table in ACPI-land. All possible... in time...

Of course, now I want the same thing under Windows. Which involves writing a service and perhaps a device driver (may not need device driver if I can find a way to write to EC inside the service).

So far, I think my algorithm for changing fan speeds in relation to temperatures is working pretty well... I like it too, but I might be biased.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
190,989
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
MacBook Air
Mobile Phone
iOS
Hmmm, it doesen't work for me, i am a noob so i probably did something wrong ;)
Compiled DSDT with the new 04_FanExperimental.txt and did all the other thingies as well.

I did make the folder modules in gui as well as the copy of the file into the folder.
Did i mess up permissions by doing so?

The ACPIPoller.kext, i went for the one in Release folder and installed it with KextWizard.
After that i did a repair permissions and rebuild cache in KextWizard.

Reboot but no fan off at 40?
A bit hard to get under 40 so i tried to edit the all.txt file from the make to the off at 50 value and re-compiled, but no fan off.

Cheers.
That all sounds ok as far as installation. You have a 5330m. It is possible that it works differently from the 4530s. But the fact that you can use auto-patcher on your native DSDT with the 4530s patches leads me to believe they should be compatible.

But you should verify that things are right in DSDT-land... If you run my version of HWMonitor, do you see the extra sensors CPU Average, an Fan Counter? If you do, that is at least confirmation that you're running with the new DSDT.

As a final check, you can disassemble the dsdt.aml that you have in /Extra/dsdt.aml. Use iasl -d dsdt.aml in Terminal. Then load the dsdt.dsl up in Text Edit (open -e dsdt.dsl). Search for "FTAB" The table in the disassembled version will look something like this (this is my current table, disassembled):

Code:
        Name (FTAB, Buffer (0x0E)
        {
            /* 0000 */   0x32, 0xFF, 0x37, 0x80, 0x3C, 0x52, 0x41, 0x4A,
            /* 0008 */   0x46, 0x3B, 0x4B, 0x31, 0xFF, 0x00
        })
You see that my first number is 0x32. That is 50 in hex (3 * 16 + 2 = 50).
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
190,989
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
MacBook Air
Mobile Phone
iOS
I got a lot of good information from that thread. And I haven't tried either of those apps (there is two solutions). But I wonder if they run as a service? Our laptop (when I'm not hogging it doing OS X stuff) spends a lot of time at the login screen because my wife and I share it, and so it is essential that the solution run as a service such that there is a quiet fan when no user is logged in. Also, I wonder what happens when two different people log into the computer at the same time and two copies of the fan control app are running (another reason to have it run as a service).

Something to check into though...
 
Joined
Aug 31, 2012
Messages
43
Motherboard
HP 8300 Elite
CPU
3770 i7
Graphics
HD4000
Mobile Phone
iOS
That all sounds ok as far as installation. You have a 5330m. It is possible that it works differently from the 4530s. But the fact that you can use auto-patcher on your native DSDT with the 4530s patches leads me to believe they should be compatible.

But you should verify that things are right in DSDT-land... If you run my version of HWMonitor, do you see the extra sensors CPU Average, an Fan Counter? If you do, that is at least confirmation that you're running with the new DSDT.

As a final check, you can disassemble the dsdt.aml that you have in /Extra/dsdt.aml. Use iasl -d dsdt.aml in Terminal. Then load the dsdt.dsl up in Text Edit (open -e dsdt.dsl). Search for "FTAB" The table in the disassembled version will look something like this (this is my current table, disassembled):

Code:
        Name (FTAB, Buffer (0x0E)
        {
            /* 0000 */   0x32, 0xFF, 0x37, 0x80, 0x3C, 0x52, 0x41, 0x4A,
            /* 0008 */   0x46, 0x3B, 0x4B, 0x31, 0xFF, 0x00
        })
You see that my first number is 0x32. That is 50 in hex (3 * 16 + 2 = 50).
I do see the extra sensors with your HWmonitor.

Tried the final check but ´iasl command not found´
Is this the way to go?
http://legacy.tonymacx86.com/viewtopic.php?f=14&t=1703

Have to hit the sack now, will try to get the iasl command to work tomorrow.

Cheers.
 
Top