
Avete scritto un file modificato nella ECU, lo strumento ha detto “successo”, ma l’auto non parte o il cruscotto si illumina di avvisi. Una delle cause più comuni è un checksum errato. Questo articolo spiega cos’è un checksum, come lo usa la ECU e come evitare problemi di checksum.
Cos’è un checksum?
Un checksum è un valore di controllo calcolato con una formula fissa dai byte di un blocco di dati. Il software della ECU usa questi valori per confermare che le proprie aree di memoria non siano state modificate o danneggiate. Quando il costruttore prepara il software, calcola un valore di controllo per ogni area protetta e lo salva nel file.
All’accensione, o a intervalli stabiliti, la ECU ripete lo stesso calcolo e confronta il risultato con il valore memorizzato. Se non coincidono, la ECU considera quell’area inaffidabile.
Cosa succede se il checksum è sbagliato?
Dipende dalla ECU e dall’area in errore. Sintomi comuni:
- L’auto non parte, o il motorino gira senza che il motore si avvii
- Spia motore e codici di errore memorizzati
- Il motore entra in modalità di emergenza a potenza limitata
- La ECU smette di comunicare e va ripristinata
Per quanto ben preparate siano le mappe, un file con checksum non corretto non è utilizzabile.
Tipi di checksum
Nel software semplice e più datato un checksum può essere la semplice somma dei byte di una regione. Le ECU più recenti usano algoritmi più robusti come il CRC, con più aree protette in un unico file. Inoltre la maggior parte delle ECU moderne verifica il software con una firma digitale. Una firma non è un checksum: non può essere ricalcolata senza la chiave del costruttore. Queste ECU si possono modificare solo con soluzioni di lettura/scrittura che gestiscono il controllo della firma.
Chi corregge il checksum?
In pratica ci sono due strade:
- Correzione automatica da parte dello strumento di scrittura: la maggior parte degli strumenti professionali calcola il checksum durante la scrittura sulle ECU supportate. Questa opzione di solito è attiva per impostazione predefinita.
- Correzione da parte del servizio di file: il servizio che prepara il file lo consegna con il checksum già corretto.
Entrambe sono valide. Conta sapere quale si applica, quindi indicate nella richiesta con quale strumento leggete e con quale scriverete.
Come evitare problemi di checksum
- Riscrivete con lo stesso strumento e lo stesso metodo usati per la lettura. Strumenti diversi possono salvare i file in formati diversi (flash completo, area di calibrazione, pacchetto specifico dello strumento).
- Non modificate a mano un file consegnato. Anche una piccola modifica in un editor esadecimale rompe il checksum. Se vi serve un cambiamento, chiedete una revisione al servizio di file.
- Controllate la dimensione del file prima di scrivere. Il file consegnato deve avere la stessa dimensione di quello letto.
- Conservate sempre il file originale. È l’unico punto sicuro a cui tornare se qualcosa va storto. Vedi il backup del file ECU originale.
- Usate un supporto batteria durante la scrittura. Una scrittura interrotta può essere più difficile da recuperare di un errore di checksum.
Domande frequenti
Un errore di checksum danneggia la ECU in modo permanente?
Di solito no. La ECU può normalmente essere ripristinata scrivendo il file originale in Bench o Boot. Confrontiamo i metodi di lettura in questo articolo.
Devo correggere io il checksum?
Dipende dal vostro strumento di lettura/scrittura. Indicare lo strumento nella richiesta chiarisce come trattare il file consegnato in fase di scrittura.
Come capisco che il checksum è corretto?
Sulle ECU supportate il vostro strumento di scrittura segnala il controllo del checksum. Se avete dubbi, chiedete al nostro ingegnere nella chat della richiesta prima di scrivere il file.
