Coder Social home page Coder Social logo

tpfancontrol's Introduction

TPFanControl

Update on project status: I no longer have a thinkpad, so I won't be working any further on this project

About

This is a Fork of https://github.com/ThinkPad-Forum/TPFanControl/tree/master/fancontrol. I've updated it to work with two fan devices, such as the P51. This has only been tested on my P51, but it should work on the P50, P70, P71, P52, P72, P1, and X1 Extreme as well, as well as any other dual-fan Thinkpads that are released. A working debug build is included in fancontrol/Debug, but it will need to be run each boot, or added to run at startup. The default fan profile that is included is a silent one, with the fans only coming on at 60c. This can be changed by editing tpfancontrol.ini in the fancontrol/Debug. Many other options can be changed in the config file as well. I used Visual Studio 2017 Community to build, earlier/later versions may work as well but are not tested.

Requirements

To avoid errors, either install tvicport manually or install the original version of TPFanControl found here, and run the dual-fan version instead of the original version.

Running at startup

The easiest way to run TPFC at startup is:

  • Right-click on fancontrol.exe and select copy
  • Press Windows-r or search for run in the start menu
  • Type shell:startup in the run box
  • Right click in the window that opens and select paste shortcut

Note: this won’t start TPFC until you reboot.

tpfancontrol's People

Contributors

byrnes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tpfancontrol's Issues

TPFC 0.63's Hotkey feature

I'm X1 Extreme User and Thank you for your great update for dual-fan Thinkpads

However, it seems that this fixed version is based on TPFC 0.61. which don't support Hotkey feature.

If possible, may i ask you for TPFC0.63's Hotkey feature?

Thank you very much again for your Dual fan support.

Encoding

Hi,

First of all, thank you for reviving the project. I'm using it on the X1E which is a literal monster without this program.

I am having issues with encoding and was wondering if you know why things look like this:

image

Perhaps a new build is needed to fix it?

X1E lots of sensor read errors

Hi,

Any idea why there are so many errors using a ThinkPad X1E reading various sensors? With the default config of 10 failures, TPFC exits within 10 minutes for me. I bumped it up to 10000 for now as I investigate.

Here's a sample log:

[1/17/2019 4:19:09 PM] Fan: 0x80 / Switch: 67°C (72; 67; 0; 1; 0; 0; 0; 0; 0; 0; 1; 0;)
[1/17/2019 4:19:09 PM] Smart: Set fan control to 0x00, Mode 1, Result: OK
[1/17/2019 4:19:09 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:19:10 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:10 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:11 PM] Warning: can't read Status, read error count = 0
[1/17/2019 4:19:11 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:19:24 PM] failed to read FanSpeedLowByte from EC
[1/17/2019 4:19:24 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:19:24 PM] failed to read FanSpeedLowByte from EC
[1/17/2019 4:19:24 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:19:24 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:25 PM] Warning: can't read Status, read error count = 0
[1/17/2019 4:19:25 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:19:29 PM] failed to read FanSpeedLowByte from EC
[1/17/2019 4:19:29 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:19:29 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:19:29 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:30 PM] Warning: can't read Status, read error count = 1
[1/17/2019 4:19:30 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:19:34 PM] failed to read FanSpeedLowByte from EC
[1/17/2019 4:19:34 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:19:34 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:19:34 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:35 PM] Warning: can't read Status, read error count = 2
[1/17/2019 4:19:35 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:19:39 PM] failed to read FanSpeedLowByte from EC
[1/17/2019 4:19:39 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:19:39 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:39 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:40 PM] Warning: can't read Status, read error count = 3
[1/17/2019 4:19:40 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:19:44 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:19:44 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:19:44 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:45 PM] Warning: can't read Status, read error count = 4
[1/17/2019 4:19:45 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:19:49 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:49 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:49 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:50 PM] Warning: can't read Status, read error count = 5
[1/17/2019 4:19:50 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:19:54 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:54 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:54 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:55 PM] Warning: can't read Status, read error count = 6
[1/17/2019 4:19:55 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:19:59 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:59 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:19:59 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:00 PM] Warning: can't read Status, read error count = 7
[1/17/2019 4:20:00 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:20:04 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:04 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:20:04 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:05 PM] Warning: can't read Status, read error count = 8
[1/17/2019 4:20:05 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:20:09 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:09 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:20:10 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:10 PM] Warning: can't read Status, read error count = 9
[1/17/2019 4:20:10 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:20:14 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:14 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:15 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:15 PM] Warning: can't read Status, read error count = 10
[1/17/2019 4:20:15 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:20:19 PM] failed to read FanSpeedLowByte from EC
[1/17/2019 4:20:19 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:20:19 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:20 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:20 PM] Warning: can't read Status, read error count = 11
[1/17/2019 4:20:20 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:20:24 PM] failed to read FanSpeedLowByte from EC
[1/17/2019 4:20:24 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:20:24 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:25 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:25 PM] Warning: can't read Status, read error count = 12
[1/17/2019 4:20:25 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:20:29 PM] failed to read FanSpeedLowByte from EC
[1/17/2019 4:20:29 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:20:29 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:30 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:30 PM] Warning: can't read Status, read error count = 13
[1/17/2019 4:20:30 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:20:34 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:20:34 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:35 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:35 PM] Warning: can't read Status, read error count = 14
[1/17/2019 4:20:35 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:20:39 PM] failed to read FanSpeedHighByte from EC
[1/17/2019 4:20:39 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:40 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:40 PM] Warning: can't read Status, read error count = 15
[1/17/2019 4:20:40 PM] We will close to BIOS-Mode after 10000 consecutive read errors
[1/17/2019 4:20:44 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:44 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:45 PM] failed to read TEMP0 byte from EC
[1/17/2019 4:20:45 PM] Warning: can't read Status, read error count = 16
[1/17/2019 4:20:45 PM] We will close to BIOS-Mode after 10000 consecutive read errors

Having difficult time getting to work properly with P51 with both fans

I have been tinkering with this for some time now - can you please offer some advice on how to get a Thinkpad P51 Xeon to have max fan run on both the CPU and GPU all the time? I do not want the fan to go below 90% - actually running at 100% on both fans would be fine. Please advise.. Thank you for your help..

Any binaries?

Is another version than 0.61 needed for dual fan X1E?

Crashing

I´ve installed TVicPort, but when trying to start .exe in Debug folder, screen goes black. Any idea or experience?

Did I understand install correctly?

Sorry for the noob questions. I really appreciate that you forked this and there's a chance I may be able to battle the fans on my X1E!

Your notes say: "install the original version of TPFanControl found here, and run the dual-fan version instead of the original version"

So I did:

  1. Install legacy tpfancontrol from your link
  2. Download repo and unzip
  3. Copy all files from TPFanControl-master\fancontrol to C:\Program Files\TPFanControl

I don't see any option to run a dual-fan version. Am I supposed to compile the repo somehow?

Fan speed does not reduce after temps fall below threshold

As per your default .ini spec - fans come on only at 60 C. Fans run just enough to keep temps below 70 C when I run a stress test. However, after temps drop below 60 C, fans don't stop, even now at 38 C. Confirmed I'm in your default Smart Mode. Odd because app windows reports it did set fan control to 0x00 (screenshot). I definitely hear the fan (could be just one). Is it possible the app is only controlling one of the two fans?

fancontrol_2019-12-02_13-24-51

X1E control the rpm of fans directly instead of fan running level 0~7

Your fork do me a great favour on the widely found X1E fan issue

Thank you very much!

After using it for several days and tried different configurations for the levels, I have a further idea that might be good to provide a more subtle tweak for the fans

I noticed there are some levels 0~7, and by manual mode, found with 0 for 0rpm and 1 for around 2800 rpm

In my previous usage, I found sometimes the temperature will accumulate and approach the limit and finally reach a state of keeping oscillating around the critical value for transition from 0 to 1, that means the fan would start to run, shut down for a while, then start to run,.... 1 is noisy enough, frequent switch is still annoying

If you set up a smaller level value for 0 changing to 1, then the fan is very easy to start
if you set up a bigger level value, like mine 75C, then it accumulates and finally do things like that

I just wonder if it is possible to add functions like directly specifying the upper bounds of the rpm for each level

that means people can set up like
level=50 800rpm
level=60 1200rpm
level=70 2600rpm
...
to keep the fans running in a very lower speed with tolerable noise then the package temperature can be maintained in a steady status

So if we set up a smaller rpm than 1's for the lower temperature range to stop heat accumulation, do you think this is workable idea?

instructions?

Hi, do you have any instructions on how to install this?

Only control one fan on Thinkpad P53

Hi,

Thanks for your update for TPFC. I use your program on my new thinkpad p53. However, it seems that the program can only control one fan(the right one) on my computer. Any suggestion for that?
Thanks @CJBdev

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.