P650RE Fan Offset Mod

Discussion in 'Sager and Clevo' started by sm2596, Oct 12, 2018.

Thread Status:
Not open for further replies.
  1. sm2596

    sm2596 Notebook Guru

    Reputations:
    4
    Messages:
    57
    Likes Received:
    25
    Trophy Points:
    26
    [​IMG]

    Adjust fan offset curve for Clevo P650RE notebooks (other notebooks to be added)
    ECFan on Github

    Some of you may remember this post I made a while back showing how to manually change the fan speed offset on the P650RE. I finally got round to building a user interface for it, and while it's still rough at this point, it should serve its purpose.

    Currently the default fan curve maxes out at 3600RPM, which is far below the actual fan max of ~4800RPM, and the laptop thermal throttles at 79C (in Discrete mode). Even with a modest 25% offset, the fan can reach 4500RPM which is fast enough to never reach the throttle point.

    You will need RWEverything for this to work, so go ahead and download that first. Make sure you understand the potential risks with modifying the EC like this, so I'd recommend reading the post linked above first just to be safe. You'll also need .NET Framework 4.6.2 (comes with Windows 10, but can be downloaded for older OSes)

    [​IMG]

    If you open the program and it looks like the above, then most likely everything matches up correctly and you can adjust it safely. However I'd still recommend reading this thread to see how you can manually check that the correct region is being updated first. Even though the laptop has 2 GPU fans only one will show up since they're supposed to operate synchronously.

    These are the features that I'd like to add:
    • Saving and loading of custom profiles
    • Detection of running games to activate a fan offset while gaming, then reset it afterwards to return to quiet speeds.
    • Optionally add to Start Menu
    • Potentially support more laptops - however I'll need people who are willing to do some (safe) testing on their laptops so I can get the numbers I need to add them to the program. Let me know if you want to help and I can step you through what's needed
      • if you feel adventurous you can just edit the P650RE values in the settings.xml file yourself. The most important one is the Fan Offset location (0xE7 by default) which is the only point that gets written to, while the others are for calculations and readings.
     
    Danishblunt and jclausius like this.
  2. Danishblunt

    Danishblunt Guest

    Reputations:
    0
    The user unterface looks absolutely nice, good job!

    I want to ask tho, how do yuou communicaate with the EC? Do you use the same as rhe ECviewer?

    EDIT: nvm, this is quite nice :)
     
    Last edited by a moderator: Oct 12, 2018
  3. sm2596

    sm2596 Notebook Guru

    Reputations:
    4
    Messages:
    57
    Likes Received:
    25
    Trophy Points:
    26
    Thanks :)
    The EC communication is done through the RWEverything commandline, which is why you need to download that first. Ideally I want to be able to do it directly, but I'm erring on the side of caution for now. I haven't heard of ECViewer before, I'll look into it tomorrow morning :) I'd probably use OpenHardwareMonitor though, since I'm a bit more familiar with it already.
     
  4. Danishblunt

    Danishblunt Guest

    Reputations:
    0
    Don't, EC viewer loses control. You can use the DLL provided inm the control center tho, Obsedian made a fan control software out of that DLL and it works reliably.
     
  5. sm2596

    sm2596 Notebook Guru

    Reputations:
    4
    Messages:
    57
    Likes Received:
    25
    Trophy Points:
    26
    yup looks like I want to stay well away from that one. Those WMI hooks that Control Centre adds look interesting, but I'm trying to avoid using CCC as it gives me issues every now and then.
    Would you be able to link me to the Obsidian fan control software? If one already works well then it makes this one a bit redundant. Still, using the DLL directly seems like a great idea, thanks for that.

    Edit: Never mind, found the tool in @John@OBSIDIAN-PC 's signature
     
    Last edited: Oct 12, 2018
    jclausius likes this.
  6. Danishblunt

    Danishblunt Guest

    Reputations:
    0
    Well yours is open source, so I guess it could still be useful for people who want freebees :)
     
  7. sm2596

    sm2596 Notebook Guru

    Reputations:
    4
    Messages:
    57
    Likes Received:
    25
    Trophy Points:
    26
    Good point :) Which reminds me, I need to stick an MIT license on it.
     
  8. sm2596

    sm2596 Notebook Guru

    Reputations:
    4
    Messages:
    57
    Likes Received:
    25
    Trophy Points:
    26
    @Danishblunt I had to go with a GPLv3 license instead of MIT because that's what NVAPI Wrapper uses, but it shouldn't change much
     
  9. John@OBSIDIAN-PC

    John@OBSIDIAN-PC Company Representative

    Reputations:
    727
    Messages:
    2,244
    Likes Received:
    2,775
    Trophy Points:
    181
    Nevermind using the CLEVOMOF.dll, unless you use it to write to EC memory (not even sure if that function is included there).
    CLEVOMOF does allow to send a manual fan value, for every fan... but.... it sucks... it uses ACPI stack, so it´s not the way to go, if you keep sending values at a X rate you are always adding DPC to the system... that´s why we are now getting rid of it...
    I think moving forward we should implement a solution that does write to EC without going through the ACPI, that´s what we are testing at the moment.
     
    sm2596 likes this.
  10. sm2596

    sm2596 Notebook Guru

    Reputations:
    4
    Messages:
    57
    Likes Received:
    25
    Trophy Points:
    26
    If I understand you correctly, CLEVOMOF.dll doesn't permanently write to the EC, but rather keeps pushing new values to it at live intervals.
    I thought that you could use it to write the EC which would be persistent (pepper the system with calls once, but after that the fan curves are stored in the EC), but from what you're saying it's always peppering the system to refresh the fan speed?
    That sounds like such a dodgy system, wow.
     
Thread Status:
Not open for further replies.

Share This Page