[PR #1228] Fan.cs - Feature/update EC when needed (ramping up cycle); Config: Thinkpad E570 #1430

Open
opened 2026-02-26 00:35:25 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/hirschmann/nbfc/pull/1228
Author: @matkovic
Created: 3/5/2022
Status: 🔄 Open

Base: masterHead: feature/update-ec-when-needed


📝 Commits (4)

  • 83812e3 fan EC update only when needed
  • f9c398f add thinkpad lenovo e570 config
  • 66bb084 add 100 temperature fan speed threshold
  • 5a9bf05 fix critical and 100 fan speed

📊 Changes

2 files changed (+55 additions, -1 deletions)

View changed files

Configs/Lenovo ThinkPad E570.xml (+51 -0)
📝 Core/StagWare.FanControl/Fan.cs (+4 -1)

📄 Description

I added config for Lenovo ThinkPad E570, where 100% of the target fan speed is really some "special" full fan speed (also really loud). This is only enabled for critical temperature. Without this, this fan has only 5 speed modes (0x01, 0x02, 0x03, 0x04, 0x05) written to 0x2F EC. The special fast+loud one is 0x40.

Another thing that I noticed is the constant ramping up cycle on my laptop - everytime when the EcPollInterval started with checking up the temperature and setting the value in EC, fan stops for a moment and starts again with the desired fan speed. The problem is with the constant writing to EC, which somehow resets or reinitializes fan. I think the same behavior is described in #925.

I added a few lines to the Fan.cs, so that writing to EC happens only when needed (when the change in target speed actually happens). This stops constant fan ramping up after EcPollInterval, but still when the change in target speed happens, it resets the fan for a moment. Maybe its not the best solution, but it better than torturing the fan with constant on-ing and off-ing.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/hirschmann/nbfc/pull/1228 **Author:** [@matkovic](https://github.com/matkovic) **Created:** 3/5/2022 **Status:** 🔄 Open **Base:** `master` ← **Head:** `feature/update-ec-when-needed` --- ### 📝 Commits (4) - [`83812e3`](https://github.com/hirschmann/nbfc/commit/83812e398764cb51f0fc6c9ddce9d01d4a007398) fan EC update only when needed - [`f9c398f`](https://github.com/hirschmann/nbfc/commit/f9c398f276eb60ecd87ed662b5fdea7beb8d05ba) add thinkpad lenovo e570 config - [`66bb084`](https://github.com/hirschmann/nbfc/commit/66bb0849b5ce0c72105af2ef2923aea7977889c1) add 100 temperature fan speed threshold - [`5a9bf05`](https://github.com/hirschmann/nbfc/commit/5a9bf05147c3bfc269780e26eedc57a58fa469ff) fix critical and 100 fan speed ### 📊 Changes **2 files changed** (+55 additions, -1 deletions) <details> <summary>View changed files</summary> ➕ `Configs/Lenovo ThinkPad E570.xml` (+51 -0) 📝 `Core/StagWare.FanControl/Fan.cs` (+4 -1) </details> ### 📄 Description I added config for Lenovo ThinkPad E570, where 100% of the target fan speed is really some "special" full fan speed (also really loud). This is only enabled for critical temperature. Without this, this fan has only 5 speed modes (0x01, 0x02, 0x03, 0x04, 0x05) written to 0x2F EC. The special fast+loud one is 0x40. Another thing that I noticed is the constant ramping up cycle on my laptop - everytime when the EcPollInterval started with checking up the temperature and setting the value in EC, fan stops for a moment and starts again with the desired fan speed. The problem is with the constant writing to EC, which somehow resets or reinitializes fan. I think the same behavior is described in #925. I added a few lines to the Fan.cs, so that writing to EC happens only when needed (when the change in target speed actually happens). This stops constant fan ramping up after EcPollInterval, but still when the change in target speed happens, it resets the fan for a moment. Maybe its not the best solution, but it better than torturing the fan with constant on-ing and off-ing. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nbfc-hirschmann#1430
No description provided.