Moteur qui refuse de démarrer après flash : checksum et contrôle d'intégrité

L'écriture est annoncée « réussie ». On repose le calculateur, contact, on lance le démarreur… et rien. Le moteur vire mais ne part pas, ou il part et se met aussitôt en sécurité. À la lecture des défauts, un code revient : P0601 — Internal Control Module Memory Check Sum Error. Le fichier a bel et bien été écrit, et pourtant le calculateur le refuse. C'est un grand classique après une modification de contenu.

Fichier modifiéContrôle checksumà chaque démarrageSceau KOP0601, pas de startSceau OKle moteur démarreSignaturemur, non recalculable
Le calculateur vérifie son sceau au démarrage

Diagnostic

Un calculateur ne fait pas confiance aveuglément à sa propre mémoire. À chaque démarrage, il vérifie des sommes de contrôle — des checksums — calculées sur ses zones de calibration et de programme. Chaque zone porte une sorte de sceau : une valeur (somme ou CRC) rangée dans le fichier lui-même. Si l'on modifie le contenu sans recalculer ce sceau, la vérification échoue : le calculateur sait que « quelque chose a changé » et refuse d'exécuter la calibration. Résultat : pas de démarrage, mode dégradé, ou P0601.

Pourquoi ces contrôles existent-ils ? Pour plusieurs raisons cumulées :

Les calculateurs modernes ne portent pas un seul checksum. Un MED17, un MG1 ou un MD1 en ont plusieurs, couvrant séparément des zones différentes — la zone programme et la zone de données ne sont pas scellées ensemble. Les plus récents ajoutent par-dessus une signature cryptographique (type RSA). Il existe aussi un CVN (Calibration Verification Number) exposé au diagnostic, que les contrôles antipollution peuvent lire : il doit rester cohérent avec la calibration réellement présente.

Un checksum se recalcule. Une signature cryptographique, non — elle exige une clé privée qu'on n'a pas. D'où l'importance de préserver les zones signées telles quelles.

Résolution

La plupart des outils de reprogrammation appliquent automatiquement la correction de checksum pour les familles qu'ils supportent (on lit souvent « checksum by tool »). Le cas concret du P0601 vient donc en général d'un fichier édité en dehors de l'outil — un éditeur hexadécimal, un patch manuel — et réécrit sans correction. La marche à suivre :

Un P0601 qui persiste même après réécriture d'un original propre ne vient plus du checksum : il oriente vers une écriture partielle (flash interrompu) ou une mauvaise version de fichier par rapport au matériel réel. Le réflexe sûr : réécrire un original connu-bon adapté à l'exact numéro matériel, vérifier que le moteur démarre, puis seulement réappliquer les modifications avec correction.

Ce qu'on en retient


Sur ANP Engineering — file service de reprogrammation moteur pour professionnels : file service ECU, correction de checksum, calculateurs pris en charge, tarifs.

ANP Wiki
ANPFile Service · reprog en ligne
Chargement…