PancakeBC/MSIFanTest

GitHub: PancakeBC/MSIFanTest

实验性的 C# 工具,通过 MSI WMI 接口在 MSI Modern 笔记本上实现独立于性能模式的高级风扇曲线控制和 Cooler Boost 开关。

Stars: 0 | Forks: 0

# MSI Modern Fan Control 实验性的 C# 实用工具,通过 MSI 已安装的 WMI 接口控制选定的 MSI Modern 笔记本电脑上的风扇行为。 创建此项目是为了启用自定义 Advanced 风扇曲线和 Cooler Boost,同时保持当前选择的 MSI 性能模式(包括 Balanced 模式)。 ## 测试配置 - 笔记本电脑:MSI Modern 15 A11SB - CPU:Intel 11 代 U 系列 - GPU:NVIDIA GeForce MX450 - MSI Base Module DLL:`1.0.2305.2401` - WMI 接口:`MSIWMIACPI2` - WMI 主要版本:`2` - 目标框架:.NET Framework 4.8 - 目标平台:x86 其他 MSI 型号可能会使用不同的 WMI 命令、EC 寄存器、风扇表或固件行为。 ## 功能 - 读取由 MSI Center 保存的 `High_Fan` 曲线。 - 应用该曲线,而不会刻意更改当前活动的性能模式。 - 启用和禁用 Advanced 风扇模式。 - 独立启用和禁用 Cooler Boost。 - 读取 CPU 和 GPU 风扇转速 (RPM)。 - 显示当前存储的风扇曲线。 - 备份原始风扇配置。 - 恢复原始曲线和自动风扇模式。 ## 工作原理 该实用工具使用计算机上已安装的 MSI DLL。本仓库不包含 MSI 二进制文件。 在测试的笔记本电脑上观察到的行为: - `Get_Fan` / `Set_Fan`,参数 `1`:CPU 风扇表。 - `Get_Fan` / `Set_Fan`,参数 `2`:GPU 风扇表。 - 每个风扇有六个可编程值。 - EC 地址 `0xD4`,位 6:Advanced 风扇模式。 - EC 地址 `0x98`,位 7:Cooler Boost。 - `Get_Fan`,参数 `0`:当前风扇转速数据。 该实用工具仅更改风扇控制。它不会刻意调用 MSI 的性能模式功能。 ## 要求 - 兼容的 MSI 笔记本电脑。 - 已安装 MSI Center 或 One Dragon Center。 - .NET Framework 4.8。 - 管理员权限。 - MSI 软件安装在预期的默认文件夹中。 该程序目前会加载: ``` C:\Program Files (x86)\MSI\One Dragon Center\Base Module\API_NB_Base Module.dll ``` 其 MSI 依赖项也必须存在于已安装的 MSI 软件文件夹中。 ## 构建并运行 以管理员身份打开 PowerShell: ``` cd "C:\path\to\MSIFanTest" dotnet restore dotnet run ``` ## 菜单 ``` 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 ``` ## Balanced 模式下的自定义风扇曲线 1. 打开 MSI Center。 2. 选择 High Performance。 3. 打开 Advanced 风扇配置。 4. 配置并保存所需的 CPU 和 GPU 曲线。 5. 返回 Balanced 模式。 6. 关闭 MSI Center。 7. 以管理员身份运行此实用工具。 8. 选择选项 `1`。 在 MSI Center 中再次更改场景可能会重置风扇模式。 ## 实验结果 在测试的 MSI Modern 15 A11SB 上观察到的结果: ### Balanced(带自动风扇控制) ``` CPU fan: approximately 2,500–3,400 RPM GPU fan: 0 RPM while idle ``` ### Balanced(带 Advanced 风扇控制) ``` CPU fan: approximately 5,000–5,200 RPM GPU fan: approximately 4,285–4,324 RPM ``` ### Balanced(带 Cooler Boost 风扇控制) ``` CPU fan: approximately 7,750 –8,000 RPM GPU fan: approximately 7,150 –7,250 RPM ``` 在 Advanced 选项中,将所有可调点设置为 `150`,产生的 RPM 与将它们设置为 `100` 大致相同。 这表明该固件接受大于 100 的值,但有效风扇命令在 100 左右达到饱和。其他 MSI 型号可能会有不同的表现。 ## 限制 - 仅在一个笔记本电脑型号上进行过测试。 - 没有图形界面。 - 需要管理员权限。 - 使用固定的 MSI 安装路径。 - 固件或 MSI Center 更新可能会改变此行为。 - 备份文件特定于某一台计算机,严禁共享。 - 性能模式的独立性仍需通过受控的基准测试来验证。 ## 专有组件 本仓库不分发: - MSI DLL - MSI Center 或 One Dragon Center - 反编译的 MSI 源代码 - 固件二进制文件 用户必须提供其自己的合法 MSI 软件安装。 ## 许可证 本仓库中的原始代码在 MIT 许可证下发布。 MSI 产品名称和软件归其各自所有者所有。
标签:WMI, 硬件控制, 笔记本运维, 系统工具, 风扇调速