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.
- 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.
- Read the
High_Fancurve 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.
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, parameter1: CPU fan table.Get_Fan/Set_Fan, parameter2: 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, parameter0: current fan-speed data.
The utility changes fan controls only. It does not intentionally call MSI's performance-profile function.
- 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.
Open PowerShell as administrator:
cd "C:\path\to\MSIFanTest"
dotnet restore
dotnet run1 = 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
- Open MSI Center.
- Select High Performance.
- Open the Advanced fan configuration.
- Configure and save the desired CPU and GPU curves.
- Return to Balanced mode.
- Close MSI Center.
- Run this utility as administrator.
- Select option
1.
Changing the scenario again in MSI Center may reset the fan mode.
Observed on the tested MSI Modern 15 A11SB:
CPU fan: approximately 2,500–3,400 RPM
GPU fan: 0 RPM while idle
CPU fan: approximately 5,000–5,200 RPM
GPU fan: approximately 4,285–4,324 RPM
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.
- 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.
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.
The original code in this repository is released under the MIT License.
MSI product names and software belong to their respective owners.