
MSI Modern 15H AI C1MGT-096IT Linuxのサーマル管理 - リバースエンジニアリングによるEC制御、ファンプロファイル、バッテリー閾値対応
MSI Modern 15H AI C1MG-096IT Linux サーマル管理 - リバースエンジニアリングによる EC 制御、ファンプロファイル、バッテリー充電しきい値対応
このアプリケーションは、Linux で MSI ラップトップを使用するユーザーの必要性から生まれました。その旅は、Intel も MSI も私の Linux Mint Xia ディストリビューション向けの適切なドライバや制御アプリケーションを提供していないことを発見したことから始まりました。
徹底的に検索した結果、私の Intel Core Ultra 5 125H CPU に有望だったリポジトリは 1 つだけでした: OpenFreezeCenter
しかし、このプロジェクトは元々 Intel 第 10 世代/第 12 世代 CPU 向けに設計されていました。P-コアと E-コアを備えた私の Meteor Lake アーキテクチャは、元のソフトウェアでは完全には理解できない独自の課題を突きつけました。
私は 1 年に及ぶリバースエンジニアリングの旅に乗り出し、以下を実現しました:
このプロジェクトは、AI ツールがコード実装を支援し、すべてのアーキテクチャ上の決定、リバースエンジニアリング、問題解決は人間が主導するという、現代的な開発手法に従って開発されました。
「AI は、CPU 温度用の EC アドレスが 0x68、バッテリー用が 0xbf であることを知りませんでした。それらは徹底的なリバースエンジニアリングとテストを通じて私が発見したものです!」
このアプローチは、今日のプロフェッショナル開発者が GitHub Copilot などのツールを、人間が特定した問題に対する解決策を実装するアシスタントとして使用する方法と同じです。
最も見た目が美しいアプリケーションではありませんが、以下を実用的に制御できます:
cpufrequtils が必要ですこのプロジェクトは MSI Modern 15H AI C1MGT-096IT 専用に調整されています。
別の MSI モデルをお使いの場合、EC アドレスの調整が必要になる可能性が高いです。
コアアーキテクチャは動作するはずです。特定のハードウェアアドレスをマッピングするだけです。
誤解を避けるために明確にしておきます:msi_ec や MControlCenter を選ばなかったのは、それらを無視していたからではなく、単に私のラップトップでは動作しなかったからです。
私のモデル — MSI Modern 15H AI C1MG-096IT — は、公式の msi_ec 互換性リストにまだ Unimplemented(未実装) として記載されています。
当初テストしたとき、モジュールをロードすると常に次のエラーが発生しました:modprobe: ERROR: could not insert 'msi_ec': Operation not supported
つい今日(28/11/25)、NixOS を使っている親しい友人のおかげで、彼がリンクを送ってくれ、MSI Modern 15H AI C1MG に関する進展の可能性に言及した GitHub ディスカッションを発見しました:
🔗 GitHub 修正投稿
この問題について以前は本当に知りませんでした — もっと早く再確認しなかったのは私のミスです。
それでも、そのスレッドには私のモデルがサポートされていることを確認できるものは何もなく、モジュールは引き続き私のシステムでは失敗します。
MControlCenter も試しましたが、起動時に次のエラーで失敗しました:Failed to load ec_sys kernel module
当時作成した元の Reddit 投稿はこちらです:
🔗 Failed to load ec_sys kernel module(Reddit 投稿)
どちらのツールも私の環境では動作しなかったため、既存プロジェクトを置き換えたり競合したりしたいからではなく、必要に迫られて独自のソリューションを構築することになりました。
お使いのラップトップが msi_ec または MControlCenter でサポートされている場合は、まずそれらのツールを試すことを強くお勧めします。私のプロジェクトは、私のハードウェアのような非サポート環境向けのフォールバックに過ぎません。
プロジェクト構造は適応可能なように設計されています。他のモデルへの積極的なサポートは提供できませんが、独自のハードウェアで EC のリバースエンジニアリングに挑戦したい方のために、コードは十分に文書化されています。
このプロジェクトに 1 年を費やした後 — 数え切れない夜のリバースエンジニアリング、温度テスト、デバッグを経て — ようやくこのソリューションをコミュニティと共有できることを誇りに思います。
ラップトップの熱性能に対する純粋な苛立ちから始まったものが、実際に動作する機能的なツールへと進化しました。
別の MSI モデルをお使いの場合、アーキテクチャはそのまま利用できます。いくつかの EC アドレスを変更するだけで済むかもしれません。難しい部分(MSI の EC がどのように動作するかを理解すること)は既に完了しています。
同じ悩みを抱える MSI Linux ユーザーからあなたへ — このツールが私にとってそうであったように、あなたの助けになることを願っています。
このプロジェクトには、元々 OpenFreezeCenter から派生したインストール用またはヘルパーファイルが含まれており、
OpenFreezeCenter は AGPL-3.0 でライセンスされています。
ライセンスの互換性を維持するため、このプロジェクトは
GNU AGPL-3.0 License の下で配布されています。
すべての新しいコード(リバースエンジニアリング、バッテリーマッピング、EC ツールなど)は、 Anthonippillai Vincent Nishan によるオリジナルの成果物です。