Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MSI Modern Fan Control

Experimental C# utility for controlling fan behavior on selected MSI Modern laptops through MSI's installed WMI interface.

The project was created to enable custom Advanced fan curves and Cooler Boost while keeping the currently selected MSI performance profile, including Balanced mode.

Warning

Experimental and unofficial project.

Not affiliated with, supported by, or endorsed by MSI.

The program writes fan-control values through MSI's WMI/EC interface. Incorrect values or incompatible hardware may cause overheating, excessive fan wear, instability, unexpected firmware behavior, or hardware damage.

Tested only on an MSI Modern 15 A11SB. Use at your own risk.

Tested configuration

  • Laptop: MSI Modern 15 A11SB
  • CPU: Intel 11th-generation U-series
  • GPU: NVIDIA GeForce MX450
  • MSI Base Module DLL: 1.0.2305.2401
  • WMI interface: MSIWMIACPI2
  • WMI major version: 2
  • Target framework: .NET Framework 4.8
  • Platform target: x86

Other MSI models may use different WMI commands, EC registers, fan tables, or firmware behavior.

Features

  • Read the High_Fan curve saved by MSI Center.
  • Apply the curve without intentionally changing the active performance profile.
  • Enable and disable Advanced fan mode.
  • Enable and disable Cooler Boost independently.
  • Read CPU and GPU fan RPM.
  • Show the currently stored fan curves.
  • Back up the original fan configuration.
  • Restore the original curves and automatic fan mode.

How it works

The utility uses MSI DLLs already installed on the computer. MSI binaries are not included in this repository.

Observed behavior on the tested laptop:

  • Get_Fan / Set_Fan, parameter 1: CPU fan table.
  • Get_Fan / Set_Fan, parameter 2: GPU fan table.
  • Six programmable values for each fan.
  • EC address 0xD4, bit 6: Advanced fan mode.
  • EC address 0x98, bit 7: Cooler Boost.
  • Get_Fan, parameter 0: current fan-speed data.

The utility changes fan controls only. It does not intentionally call MSI's performance-profile function.

Requirements

  • Compatible MSI laptop.
  • MSI Center or One Dragon Center installed.
  • .NET Framework 4.8.
  • Administrator privileges.
  • MSI software installed in the expected default folders.

The program currently loads:

C:\Program Files (x86)\MSI\One Dragon Center\Base Module\API_NB_Base Module.dll

Its MSI dependencies must also be present in the installed MSI software folders.

Build and run

Open PowerShell as administrator:

cd "C:\path\to\MSIFanTest"
dotnet restore
dotnet run

Menu

1 = Apply High_Fan to the currently active profile
0 = Restore original curves and automatic fan mode
2 = Monitor CPU/GPU RPM for 30 seconds
3 = Show firmware curves, Advanced state and Cooler Boost state
4 = Enable Cooler Boost
5 = Disable Cooler Boost
Q = Exit

Custom fan curve in Balanced mode

  1. Open MSI Center.
  2. Select High Performance.
  3. Open the Advanced fan configuration.
  4. Configure and save the desired CPU and GPU curves.
  5. Return to Balanced mode.
  6. Close MSI Center.
  7. Run this utility as administrator.
  8. Select option 1.

Changing the scenario again in MSI Center may reset the fan mode.

Experimental results

Observed on the tested MSI Modern 15 A11SB:

Balanced with automatic fan control

CPU fan: approximately 2,500–3,400 RPM
GPU fan: 0 RPM while idle

Balanced with Advanced fan control

CPU fan: approximately 5,000–5,200 RPM
GPU fan: approximately 4,285–4,324 RPM

Balanced with Cooler Boost fan control

CPU fan: approximately 7,750 –8,000 RPM
GPU fan: approximately 7,150 –7,250 RPM

Setting all the adjustable points to 150, in the Advanced options, produced approximately the same RPM as setting them to 100.

This suggests that this firmware accepts values above 100 but saturates the effective fan command around 100. Other MSI models may behave differently.

Limitations

  • Tested on one laptop model only.
  • No graphical interface.
  • Requires administrator privileges.
  • Uses fixed MSI installation paths.
  • Firmware or MSI Center updates may change the behavior.
  • The backup file is specific to one computer and must not be shared.
  • Performance-profile independence still needs controlled benchmarking.

Proprietary components

This repository does not distribute:

  • MSI DLLs
  • MSI Center or One Dragon Center
  • Decompiled MSI source code
  • Firmware binaries

Users must provide their own legitimate MSI software installation.

License

The original code in this repository is released under the MIT License.

MSI product names and software belong to their respective owners.

About

Experimental WMI fan control for MSI Modern laptops: Advanced fan curves and Cooler Boost in Balanced or Power Saver mode.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages