Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

System Fan Control #5

Merged
merged 1 commit into from
Feb 25, 2019
Merged

System Fan Control #5

merged 1 commit into from
Feb 25, 2019

Conversation

123marvin123
Copy link

Hello,

I want to thank everybody that contributed to this project. This guide was a huge help to get my T430 working. I want to contribute something, so after being annoyed of the loud fan noise of my T430 even when there is no load on the system, I wanted to modify the fan curve.

I added a patch for the DSDT which enables fan speed readouts and also modifies the fan curve. You will also need the ACPIPoller.kext for this to work properly.

bildschirmfoto 2019-02-23 um 23 48 06

Information about the FAN-Curve:

Method (TCPU, 0, NotSerialized)
{
    Store (^^EC.TMP0, Local0)
    Store (^^EC.TMP0, Local0)

    If (LLessEqual (Local0, 0x32)) // CPU Temp is <= 50C
    {
        Store (Zero, ^^EC.HFSP) // Set FAN Off
    }
    If (LGreaterEqual (Local0, 0x55)) // CPU Temp is >= 85C
    {
        Store (0x40, ^^EC.HFSP) // Set Fan Speed to ABSOLUTE MAXIMUM
    }
    ElseIf (LGreaterEqual (Local0, 0x4B)) // CPU Temp is >= 75C
    {
        Store (0x07, ^^EC.HFSP) // Set Fan Speed to Maximum
    }
    ElseIf (LGreaterEqual (Local0, 0x46)) // CPU Temp is >= 70C
    {
        Store (0x04, ^^EC.HFSP) //Set Fan Speed to Medium
    }
    ElseIf (LGreaterEqual (Local0, 0x41)) // CPU Temp is >= 65C
    {
        Store (0x02, ^^EC.HFSP) // Set Fan Mode 2
    }
    ElseIf (LGreaterEqual (Local0, 0x3D)) // // CPU Temp is >= 61C
    {
        Store (One, ^^EC.HFSP) // Set Fan Mode 1 - Lowest speed
    }
    Return (Local0)
}

Copy link
Owner

@drasbeck drasbeck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you very much for the PR. I'm happy the project has helped you, and very happy that you have decided to contribute back.

Can you elaborate a bit on the new fan curve? Ever since my Delta fan wore out, and I had to get a new one from Toshiba, listening to the fan noise has been a friggin' nuisance, so I'm looking forward to trying this out.

@drasbeck drasbeck merged commit 41e8d90 into drasbeck:master Feb 25, 2019
@123marvin123
Copy link
Author

123marvin123 commented Feb 25, 2019

Thanks for the merge. macOS apparently does not let you control the RPM yourself, you can only set specific modes for the speed of the fan. When the temperature of the CPU is lower than 50 degrees celsius, the fan will be turned off (and for me, this is most of the time :)). When the fan reaches a temperature of 61 degrees, the fan will turn on on the lowest setting possible. When reaching 65 degrees, it will speed up to Fan Mode 2. Reaching 70 degrees will turn the fan to speed mode medium. Reaching 75 degrees will turn the fan to a very high setting and when reaching temperatures of 85 degrees, the fan will turn with absolute maximum speed.

For me, my fan will be off for the majority of the time. Even web browsing does not trigger the fan to turn on. I had no problem so far with this fan curve, even on 100% load, temperature does not go over 80 degrees.

@123marvin123
Copy link
Author

By the way: this only works with FakeSMC, not with VirtualSMC.

@drasbeck
Copy link
Owner

drasbeck commented Mar 5, 2019

BTW: Any chance it will work with VirutalSMC at some point?

@drasbeck
Copy link
Owner

drasbeck commented Mar 5, 2019

Also: I'm really loving this patch. My fan used to be completely obnoxious. I have the TOSHIBA brand, not the DELTA. And from deafening experience I can confidently say that all TOSHIBA's are horrible.

Oh and also also: Did you create a PR with the ACPIPoller.kext repo with your changes? I think more people could lead greater lives with this change. 😆 👍

@123marvin123
Copy link
Author

I'm not sure about VirtualSMC, it is not my patch, I found it on a German Hackintosh site. And the patch is specific to the T430 (and some other models), so no need to create a PR in the ACPIPoller repo :)

@Legetzu
Copy link

Legetzu commented Jun 5, 2019

Hello. I have installed mojave for my T430 by following your guide. I found that your ACPIPoller.kext's info.plist was edited wrong. According to your DSDT fan patch it uses MON0000 as Hardware ID but in ACPIPoller.kext's info.plist it has FAN00000 under IONameMatch. I found out there was some issue with ACPIPoller after it didn't change fan speed if I didn't have HWmonitor on and my CPU temps kept rising up. After changing the FAN00000 to MON0000 in info.plist the fan control worked fine.

But in overall your guide is great and it helped me to install mojave for my T430 quick! 👍

@drasbeck
Copy link
Owner

drasbeck commented Jun 7, 2019

Great find @Legetzu, we've been wondering what was up with the HWMonitor situation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants