
MSI Modern 15H AI C1MGT-096IT Gestión térmica en Linux - Control EC con ingeniería inversa con perfiles de ventilador y umbral de batería
MSI Modern 15H AI C1MG-096IT Linux thermal management - Control EC de ingeniería inversa con perfiles de ventilador y umbral de batería
Esta aplicación nació de la necesidad de los usuarios de portátiles MSI en Linux. El viaje comenzó cuando descubrí que ni Intel ni MSI proporcionaban controladores o aplicaciones de control adecuados para mi distribución Linux Mint Xia.
Después de una extensa búsqueda, solo un repositorio mostró promesa para mi CPU Intel Core Ultra 5 125H: OpenFreezeCenter
Sin embargo, este proyecto fue diseñado originalmente para CPUs Intel de 10.ª/12.ª generación. Mi arquitectura Meteor Lake con núcleos P y núcleos E presentó desafíos únicos que el software original no podía comprender completamente.
Me embarqué en un viaje de ingeniería inversa de un año para:
Este proyecto se desarrolló siguiendo prácticas modernas de desarrollo donde las herramientas de IA asisten en la implementación del código, mientras que todas las decisiones arquitectónicas, la ingeniería inversa y la resolución de problemas siguen siendo impulsadas por humanos.
"La IA no sabía que mis direcciones EC eran 0x68 para la temperatura de la CPU y 0xbf para la batería; las descubrí mediante extensa ingeniería inversa y pruebas."
Este enfoque refleja cómo los desarrolladores profesionales utilizan herramientas como GitHub Copilot hoy en día, como asistentes que implementan soluciones para problemas identificados por humanos.
Aunque no es la aplicación visualmente más impactante, proporciona control práctico sobre:
cpufrequtils con el gobernador de rendimiento para un funcionamiento óptimoEste proyecto está específicamente ajustado para MSI Modern 15H AI C1MGT-096IT.
Si tienes un modelo diferente de MSI, las direcciones EC probablemente necesitarán ajustes.
La arquitectura central debería funcionar; solo necesitarás mapear las direcciones de tu hardware específico.
Solo para aclarar las cosas: No elegí msi_ec o MControlCenter no porque los ignorara, sino simplemente porque nunca funcionaron en mi portátil.
Mi modelo — MSI Modern 15H AI C1MG-096IT — todavía está listado como No implementado en la lista de compatibilidad oficial de msi_ec.
Cuando lo probé originalmente, cargar el módulo siempre resultaba en: modprobe: ERROR: could not insert 'msi_ec': Operation not supported.
Solo hoy (28/11/25), gracias a un amigo cercano que usa NixOS, me envió un enlace cuando descubrí una discusión en GitHub que mencionaba un progreso potencial para MSI Modern 15H AI C1MG:
🔗 Fix GitHub Post
Sinceramente, no sabía de este problema antes; ese es mi error por no haber vuelto a consultar antes.
Aun así, nada en ese hilo confirma soporte para mi modelo exacto, y el módulo continúa fallando en mi sistema.
También intenté usar MControlCenter, pero falló al iniciar con: Failed to load ec_sys kernel module
Aquí está la publicación original de Reddit que hice en ese momento:
🔗 Failed to load ec_sys kernel module (Publicación de Reddit)
Debido a que ninguna de las herramientas funcionó para mí, terminé construyendo mi propia solución por necesidad, no porque quisiera reemplazar o competir con proyectos existentes.
Si tu portátil está soportado por msi_ec o MControlCenter, recomiendo absolutamente probar esas herramientas primero. Mi proyecto es simplemente un recurso de respaldo para hardware no soportado como el mío.
La estructura del proyecto está diseñada para ser adaptable. Si bien no puedo brindar soporte activo para otros modelos, el código está bien documentado para aquellos que deseen intentar la ingeniería inversa de EC en su propio hardware.
Después de pasar un año en este proyecto — a través de innumerables noches de ingeniería inversa, pruebas de temperatura y depuración — finalmente estoy orgulloso de compartir esta solución con la comunidad.
Lo que comenzó como una pura frustración con el rendimiento térmico de mi portátil ha evolucionado en una herramienta funcional que realmente funciona.
Si tienes un modelo diferente de MSI, la arquitectura está ahí; solo podrías necesitar modificar algunas direcciones EC. La parte difícil (entender cómo funciona el EC de MSI) ya está hecha.
De un usuario frustrado de MSI en Linux a otro: espero que esto te ayude tanto como me ayudó a mí.
Este proyecto incluye archivos de instalación o auxiliares derivados originalmente de
OpenFreezeCenter, que está licenciado bajo AGPL-3.0.
Para mantener la compatibilidad de licencia, este proyecto se distribuye bajo la
Licencia GNU AGPL-3.0.
Todo el código nuevo (ingeniería inversa, mapeos de batería, herramientas EC, etc.) es trabajo original de Anthonippillai Vincent Nishan.