
MSI Modern 15H AI C1MGT-096IT Gestione termica Linux - Controllo EC tramite reverse engineering con profili di ventola e soglia della batteria
Gestione termica Linux per MSI Modern 15H AI C1MG-096IT - Controllo EC con reverse engineering, profili ventola e soglia di carica batteria
Questa applicazione è nata dalla necessità degli utenti di laptop MSI su Linux. Il percorso è iniziato quando ho scoperto che né Intel né MSI fornivano driver o applicazioni di controllo adeguati per la mia distribuzione Linux Mint Xia.
Dopo un'approfondita ricerca, solo un repository si è rivelato promettente per la mia CPU Intel Core Ultra 5 125H: OpenFreezeCenter
Tuttavia, questo progetto era stato originariamente progettato per CPU Intel di 10ª/12ª generazione. La mia architettura Meteor Lake con P-core ed E-core presentava sfide uniche che il software originale non riusciva a comprendere appieno.
Ho intrapreso un percorso di reverse engineering durato un anno per:
Questo progetto è stato sviluppato seguendo pratiche di sviluppo moderne in cui gli strumenti di intelligenza artificiale assistono nell'implementazione del codice, mentre tutte le decisioni architetturali, il reverse engineering e la risoluzione dei problemi rimangono guidati dall'essere umano.
"L'IA non sapeva che i miei indirizzi EC fossero 0x68 per la temperatura della CPU e 0xbf per la batteria - li ho scoperti attraverso un intenso reverse engineering e test!"
Questo approccio rispecchia il modo in cui oggi gli sviluppatori professionisti utilizzano strumenti come GitHub Copilot - come assistenti che implementano soluzioni per problemi identificati dall'uomo.
Pur non essendo l'applicazione visivamente più accattivante, offre un controllo pratico su:
cpufrequtils con governor performance per un funzionamento ottimaleQuesto progetto è specificamente ottimizzato per MSI Modern 15H AI C1MGT-096IT. Se possiedi un modello MSI diverso, gli indirizzi EC dovranno probabilmente essere adattati.
L'architettura principale dovrebbe funzionare - dovrai solo mappare gli indirizzi hardware specifici del tuo dispositivo.
Tanto per chiarire: non ho scelto msi_ec o MControlCenter non perché li abbia ignorati, ma semplicemente perché non hanno mai funzionato sul mio laptop.
Il mio modello — MSI Modern 15H AI C1MG-096IT — risulta ancora elencato come Unimplemented nella lista di compatibilità ufficiale di msi_ec.
Quando l'ho testato inizialmente, il caricamento del modulo dava sempre come risultato:modprobe: ERROR: could not insert 'msi_ec': Operation not supported.
Solo oggi (28/11/25), grazie a un mio caro amico che usa NixOS, mi ha inviato un link e ho scoperto una discussione GitHub che menziona possibili progressi per MSI Modern 15H AI C1MG: 🔗 Post di fix su GitHub
Non sapevo davvero nulla di questo problema prima d'ora — è colpa mia per non aver ricontrollato prima. Tuttavia, nulla in quella discussione conferma il supporto per il mio esatto modello, e il modulo continua a fallire sul mio sistema.
Ho anche tentato di usare MControlCenter, ma falliva all'avvio con: Failed to load ec_sys kernel module
Ecco il post originale su Reddit che avevo pubblicato all'epoca:
🔗 Failed to load ec_sys kernel module (Post Reddit)
Poiché nessuno dei due strumenti funzionava per me, ho finito per creare la mia soluzione per necessità — non perché volessi sostituire o competere con i progetti esistenti. Se il tuo laptop è supportato da msi_ec o MControlCenter, ti consiglio assolutamente di provare prima quelli. Il mio progetto è semplicemente un ripiego per hardware non supportato come il mio.
La struttura del progetto è progettata per essere adattabile. Anche se non posso fornire supporto attivo per altri modelli, il codice è ben documentato per chi vuole tentare il reverse engineering dell'EC sul proprio hardware.
Dopo aver passato un anno su questo progetto - tra innumerevoli notti di reverse engineering, test della temperatura e debug - sono finalmente orgoglioso di condividere questa soluzione con la community.
Quello che era iniziato come pura frustrazione per le prestazioni termiche del mio laptop si è evoluto in uno strumento funzionale che funziona davvero.
Se hai un modello MSI diverso, l'architettura c'è - potresti dover solo modificare qualche indirizzo EC. La parte difficile (capire come funziona l'EC di MSI) è già fatta.
Da un utente MSI Linux frustrato a un altro - spero che questo ti aiuti tanto quanto ha aiutato me.
Questo progetto include file di installazione o file ausiliari originariamente derivati da OpenFreezeCenter, che è concesso in licenza sotto AGPL-3.0. Per mantenere la compatibilità della licenza, questo progetto è distribuito sotto la Licenza GNU AGPL-3.0.
Tutto il nuovo codice (reverse engineering, mappature della batteria, strumenti EC, ecc.) è opera originale di Anthonippillai Vincent Nishan.