[PR #18] [MERGED] NbfcProbe/Linux MSR support/Sony Vaio VPCF12S1E #1257

Closed
opened 2026-02-26 00:34:52 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/hirschmann/nbfc/pull/18
Author: @ntninja
Created: 8/10/2015
Status: Merged
Merged: 8/15/2015
Merged by: @hirschmann

Base: masterHead: master


📝 Commits (4)

  • 9f4e151 Add Linux MSR support to OpenHardwareMonitor
  • c7a9c75 Fixed typo in method name 'AquireLock' -> 'AcquireLock'
  • 03f2c3f Add NbfcProbe command-line utility for reading from and writing to EC memory
  • c4ba904 Create Sony Vaio VPCF12S1E.xml

📊 Changes

14 files changed (+489 additions, -52 deletions)

View changed files

Configs/Sony Vaio VPCF12S1E.xml (+70 -0)
Core/NbfcProbe/NbfcProbe.csproj (+61 -0)
Core/NbfcProbe/Program.cs (+152 -0)
Core/NbfcProbe/Properties/AssemblyInfo.cs (+22 -0)
📝 Core/Plugins/OpenHardwareMonitor/Hardware/CPU/AMD0FCPU.cs (+1 -2)
📝 Core/Plugins/OpenHardwareMonitor/Hardware/CPU/AMD10CPU.cs (+1 -2)
📝 Core/Plugins/OpenHardwareMonitor/Hardware/CPU/GenericCPU.cs (+1 -1)
📝 Core/Plugins/OpenHardwareMonitor/Hardware/CPU/IntelCPU.cs (+8 -8)
📝 Core/Plugins/OpenHardwareMonitor/Hardware/Ring0.cs (+142 -28)
📝 Core/Plugins/StagWare.Plugins.ECLinux/ECLinux.cs (+1 -1)
📝 Core/Plugins/StagWare.Plugins.ECWindows/ECWindows.cs (+1 -1)
📝 Core/StagWare.FanControl/FanControl.cs (+15 -8)
📝 Core/StagWare.FanControl/Plugins/IEmbeddedController.cs (+1 -1)
📝 NoteBookFanControl.sln (+13 -0)

📄 Description

Well it's been a while…

Once you had given me that configuration file in #6 I realized that reading the temperature does not actually work on my (Linux) system: The temperature value was always 0°C (not good for cooling your Laptop…). Then I started working on my summer job and working on this project became low-priority.
Yesterday I finally did some debugging and found out that OpenHardwareMonitor's Linux support is somewhat improvable. Many code-paths that attempt to read values from the kernel (such as reading MSR registers) are basically stubs unless the (Windows) kernel driver is loaded and accessible.
While I won't fix up OpenHardwareMonitor, I did decide to fix it's MSR code. This wasn't too hard as the Linux kernel includes a module (named msr) that makes reading MSR registers pretty easy. Result: The temperature readings work on my Intel CPU. :-)

Finally I could use the configuration file you had given me. While some tweaking was required it not works pretty well and now my laptop is finally quiet AND gets loud when there is need for it.

Additionally I adapted my EC RAM poking tool to fit into the existing codebase and toolchain and added it to the repository. Unlike my original version, this version should also work on Windows (but that is untested of course).


🔄 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/18 **Author:** [@ntninja](https://github.com/ntninja) **Created:** 8/10/2015 **Status:** ✅ Merged **Merged:** 8/15/2015 **Merged by:** [@hirschmann](https://github.com/hirschmann) **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (4) - [`9f4e151`](https://github.com/hirschmann/nbfc/commit/9f4e1510ea3b6213fd2137d4fca49516bd6c9d39) Add Linux MSR support to OpenHardwareMonitor - [`c7a9c75`](https://github.com/hirschmann/nbfc/commit/c7a9c75fe43a1742533af555846b82b4a30d4d19) Fixed typo in method name 'AquireLock' -> 'AcquireLock' - [`03f2c3f`](https://github.com/hirschmann/nbfc/commit/03f2c3f7a69b4ac485c19393a14a00228467ea25) Add NbfcProbe command-line utility for reading from and writing to EC memory - [`c4ba904`](https://github.com/hirschmann/nbfc/commit/c4ba904b5f08a2201bcf59b4a8ccc3aaec4726b8) Create Sony Vaio VPCF12S1E.xml ### 📊 Changes **14 files changed** (+489 additions, -52 deletions) <details> <summary>View changed files</summary> ➕ `Configs/Sony Vaio VPCF12S1E.xml` (+70 -0) ➕ `Core/NbfcProbe/NbfcProbe.csproj` (+61 -0) ➕ `Core/NbfcProbe/Program.cs` (+152 -0) ➕ `Core/NbfcProbe/Properties/AssemblyInfo.cs` (+22 -0) 📝 `Core/Plugins/OpenHardwareMonitor/Hardware/CPU/AMD0FCPU.cs` (+1 -2) 📝 `Core/Plugins/OpenHardwareMonitor/Hardware/CPU/AMD10CPU.cs` (+1 -2) 📝 `Core/Plugins/OpenHardwareMonitor/Hardware/CPU/GenericCPU.cs` (+1 -1) 📝 `Core/Plugins/OpenHardwareMonitor/Hardware/CPU/IntelCPU.cs` (+8 -8) 📝 `Core/Plugins/OpenHardwareMonitor/Hardware/Ring0.cs` (+142 -28) 📝 `Core/Plugins/StagWare.Plugins.ECLinux/ECLinux.cs` (+1 -1) 📝 `Core/Plugins/StagWare.Plugins.ECWindows/ECWindows.cs` (+1 -1) 📝 `Core/StagWare.FanControl/FanControl.cs` (+15 -8) 📝 `Core/StagWare.FanControl/Plugins/IEmbeddedController.cs` (+1 -1) 📝 `NoteBookFanControl.sln` (+13 -0) </details> ### 📄 Description Well it's been a while… Once you had given me that configuration file in #6 I realized that reading the temperature does not actually work on my (Linux) system: The temperature value was always `0°C` (not good for cooling your Laptop…). Then I started working on my summer job and working on this project became low-priority. Yesterday I finally did some debugging and found out that OpenHardwareMonitor's Linux support _is somewhat improvable_. Many code-paths that attempt to read values from the kernel (such as reading MSR registers) are basically stubs unless the (Windows) kernel driver is loaded and accessible. While I won't fix up OpenHardwareMonitor, I did decide to fix it's MSR code. This wasn't too hard as the Linux kernel includes a module (named `msr`) that makes reading MSR registers pretty easy. Result: The temperature readings work on my Intel CPU. :-) Finally I could use the configuration file you had given me. While some tweaking was required it not works pretty well and now my laptop is finally quiet AND gets loud when there is need for it. Additionally I adapted my EC RAM poking tool to fit into the existing codebase and toolchain and added it to the repository. Unlike my original version, this version should also work on Windows (but that is untested of course). --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 00:34:52 +03:00
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#1257
No description provided.