
MSI Modern 15H AI C1MGT-096IT Linux управление температурным режимом — EC-контроль на основе реверс-инжиниринга с профилями вентиляторов и порогом заряда батареи
Управление температурой MSI Modern 15H AI C1MG-096IT в Linux — реверс-инжиниринг управления EC с профилями вентилятора и порогом заряда батареи
Это приложение родилось из необходимости для пользователей ноутбуков MSI на Linux. Всё началось, когда я обнаружил, что ни Intel, ни MSI не предоставляют подходящих драйверов или приложений для управления для моего дистрибутива Linux Mint Xia.
После долгих поисков только один репозиторий показался перспективным для моего процессора Intel Core Ultra 5 125H: OpenFreezeCenter
Однако этот проект изначально был разработан для процессоров Intel 10-го/12-го поколений. Моя архитектура Meteor Lake с P-ядрами и E-ядрами создавала уникальные проблемы, которые исходное программное обеспечение не могло полностью понять.
Я отправился в годичный путь реверс-инжиниринга, чтобы:
Этот проект разрабатывался с использованием современных практик, где ИИ-инструменты помогают с реализацией кода, а все архитектурные решения, реверс-инжиниринг и решение проблем остаются за человеком.
«ИИ не знал, что мои адреса EC — 0x68 для температуры CPU и 0xbf для батареи — я обнаружил их путём обширного реверс-инжиниринга и тестирования!»
Этот подход отражает то, как профессиональные разработчики сегодня используют такие инструменты, как GitHub Copilot, — в качестве ассистентов, реализующих решения для проблем, выявленных человеком.
Хоть это и не самое красивое приложение, оно предоставляет практический контроль над:
cpufrequtils с губернатором performance для оптимальной работыЭтот проект специально настроен для MSI Modern 15H AI C1MGT-096IT.
Если у вас другая модель MSI, адреса EC, скорее всего, потребуют корректировки.
Базовая архитектура должна работать — вам просто нужно сопоставить адреса вашего конкретного оборудования.
Просто чтобы внести ясность: я не выбирал msi_ec или MControlCenter не потому, что игнорировал их, а потому, что они просто никогда не работали на моём ноутбуке.
Моя модель — MSI Modern 15H AI C1MG-096IT — до сих пор указана как Unimplemented в официальном списке совместимости msi_ec.
Когда я впервые тестировал его, загрузка модуля всегда приводила к:modprobe: ERROR: could not insert 'msi_ec': Operation not supported.
Только сегодня (28/11/25), благодаря моему близкому другу, который использует NixOS, он прислал мне ссылку, когда я обнаружил обсуждение на GitHub, упоминающее возможный прогресс для MSI Modern 15H AI C1MG:
🔗 Fix GitHub Post
Я искренне не знал об этой проблеме раньше — это моя ошибка, что не проверил раньше.
Тем не менее, ничто в той ветке не подтверждает поддержку именно моей модели, и модуль продолжает не работать в моей системе.
Я также пытался использовать MControlCenter, но он падал при запуске с: Failed to load ec_sys kernel module
Вот оригинальный пост на Reddit, который я тогда создал:
🔗 Не удалось загрузить модуль ядра ec_sys (пост на Reddit)
Поскольку ни один из инструментов не работал у меня, я в итоге создал собственное решение из необходимости — не потому, что хотел заменить или конкурировать с существующими проектами.
Если ваш ноутбук поддерживается msi_ec или MControlCenter, я настоятельно рекомендую сначала попробовать эти инструменты. Мой проект — просто запасной вариант для неподдерживаемого оборудования, такого как моё.
Структура проекта спроектирована так, чтобы быть адаптируемой. Хотя я не могу оказывать активную поддержку для других моделей, код хорошо документирован для тех, кто хочет попробовать реверс-инжиниринг EC на собственном оборудовании.
Потратив год на этот проект — через бесчисленные ночи реверс-инжиниринга, тестирования температур и отладки — я наконец с гордостью делюсь этим решением с сообществом.
То, что начиналось как сильное разочарование от тепловых характеристик моего ноутбука, превратилось в функциональный инструмент, который действительно работает.
Если у вас другая модель MSI, архитектура уже есть — возможно, вам просто нужно изменить несколько адресов EC. Самая сложная часть (понимание того, как работает EC от MSI) уже сделана.
От одного разочарованного пользователя MSI на Linux другому — надеюсь, это поможет вам так же, как помогло мне.
Этот проект включает установочные или вспомогательные файлы, первоначально полученные из
OpenFreezeCenter, который распространяется под лицензией AGPL-3.0.
Для сохранения совместимости лицензий этот проект распространяется под
лицензией GNU AGPL-3.0.
Весь новый код (реверс-инжиниринг, сопоставление батарей, инструменты EC и т.д.) — оригинальная работа Anthonippillai Vincent Nishan.