Le calculateur en sommeil qui ne répond pas : le réveiller proprement

Un calculateur qui ne répond pas — non parce qu'il est en panne, mais parce que le bus s'est endormi (le véhicule « dort »), ou parce que le module est resté en sommeil. C'est une fausse panne très fréquente, et elle se règle non pas en changeant une pièce, mais en remettant le véhicule et la session dans le bon état. Encore faut-il savoir comment ces réseaux dorment et se réveillent.

LE BUS QUI S'ENDORT : GARDER LA SESSION VIVANTE Bus au reposmodules en sommeil Contact mis+ session (0x10) Tester Present 0x3Ekeep-alive ~ toutes 2,5 s sans requête : S3 (~5 s) -> retour session par défaut contact ON, chargeur branché, keep-alive régulier
Garder la session vivante avec un keep-alive régulier

Diagnostic

Les réseaux modernes se mettent en sommeil peu après la coupure du contact, pour ménager la batterie : les modules passent en basse consommation et ne gardent active qu'une voie de réveil. Si l'outil ne place pas le véhicule dans le bon état (contact mis, parfois moteur tournant), ou s'il ne maintient pas la session vivante, le calculateur se rendort et cesse de répondre au beau milieu d'un échange. Sur les architectures à réseau partiel (partial networking), certains calculateurs ne se réveillent que sur une trame de réveil spécifique, et pas sur n'importe quel trafic : d'où des cas où « le bus est là » mais où un module précis reste silencieux.

Le symptôme typique est parlant : la lecture démarre, puis l'opération retombe après quelques secondes d'inactivité. Côté protocole, le mécanisme est simple à comprendre : quand l'outil ouvre une session non par défaut, le calculateur arme un temporisateur d'inactivité — le fameux S3, de l'ordre de 5 secondes. Chaque requête le réarme. Le service Tester Present (0x3E) existe précisément pour réarmer ce temporisateur sans rien demander d'autre : c'est le « je suis toujours là » de l'outil. On peut même demander de supprimer la réponse positive pour garder le bus calme et n'envoyer qu'un battement discret. Le service CommunicationControl (0x28), lui, sert à piloter la communication — utile pour réveiller un nœud ou, à l'inverse, faire taire des émissions pendant une opération.

Résolution

Pour tenir le calculateur éveillé :

À éviter absolument : laisser la session « traîner » entre deux étapes. Un blanc de quelques secondes suffit à faire retomber le calculateur en session par défaut — on perd l'accès de sécurité durement obtenu, et l'opération échoue là où tout se passait bien. Sur un flash long, le keep-alive doit tourner du début à la fin.

Ce qu'on en retient

Un calculateur muet n'est pas forcément mort : très souvent, il dort. Contact mis, chargeur branché, keep-alive qui tourne, et il répond. Si le silence date d'une intervention sur l'alimentation, on croise avec la reprise après changement de batterie ; si le lien saute par à-coups, c'est plutôt une perte intermittente ; et si l'initialisation ne s'ouvre pas du tout, on repart de l'erreur d'initialisation.


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…