
U hebt een aangepast bestand naar de ECU geschreven, het apparaat meldde “gelukt”, maar de auto start niet of het dashboard staat vol waarschuwingen. Een van de meest voorkomende oorzaken is een foute checksum. Dit artikel legt uit wat een checksum is, hoe de ECU die gebruikt en hoe u checksumproblemen voorkomt.
Wat is een checksum?
Een checksum is een controlewaarde die met een vaste formule wordt berekend uit de bytes in een datablok. ECU-software gebruikt deze waarden om te bevestigen dat haar geheugengebieden niet zijn gewijzigd of beschadigd. Wanneer de fabrikant de software maakt, berekent hij voor elk beschermd gebied een controlewaarde en slaat die op in het bestand.
Bij het inschakelen, of met vaste tussenpozen, voert de ECU dezelfde berekening uit en vergelijkt het resultaat met de opgeslagen waarde. Komen ze niet overeen, dan beschouwt de ECU dat gebied als onbetrouwbaar.
Wat gebeurt er als de checksum fout is?
Dat hangt af van de ECU en het gebied dat faalt. Veelvoorkomende symptomen:
- De auto start niet, of de startmotor draait zonder dat de motor aanslaat
- Motorstoringslampje en opgeslagen foutcodes
- De motor gaat in een noodmodus met beperkt vermogen
- De ECU communiceert niet meer en moet worden hersteld
Hoe zorgvuldig de kaarten ook zijn voorbereid, een bestand met een niet-gecorrigeerde checksum is onbruikbaar.
Soorten checksum
In eenvoudige, oudere software kan een checksum gewoon de som van de bytes in een gebied zijn. Nieuwere ECU’s gebruiken sterkere algoritmen zoals CRC, met meerdere beschermde gebieden in één bestand. De meeste moderne ECU’s controleren de software bovendien met een digitale handtekening. Een handtekening is geen checksum: zonder de sleutel van de fabrikant kan die niet opnieuw worden berekend. Deze ECU’s zijn alleen aan te passen met lees-/schrijfoplossingen die de handtekeningcontrole aankunnen.
Wie corrigeert de checksum?
In de praktijk zijn er twee wegen:
- Automatische correctie door het schrijfapparaat: de meeste professionele apparaten berekenen de checksum tijdens het schrijven voor de ECU’s die ze ondersteunen. Deze optie staat meestal standaard aan.
- Correctie door de bestandsservice: de service die het bestand voorbereidt, levert het met de checksum al gecorrigeerd.
Beide zijn geldig. Belangrijk is te weten welke van toepassing is, dus vermeld in uw aanvraag met welk apparaat u leest en met welk u gaat schrijven.
Zo voorkomt u checksumproblemen
- Schrijf terug met hetzelfde apparaat en dezelfde methode waarmee u hebt gelezen. Verschillende apparaten kunnen bestanden in verschillende formaten opslaan (volledige flash, kalibratiegebied, apparaatspecifiek pakket).
- Bewerk een geleverd bestand niet met de hand. Zelfs een kleine wijziging in een hexeditor breekt de checksum. Hebt u een wijziging nodig, vraag dan een herziening aan bij de bestandsservice.
- Controleer de bestandsgrootte voordat u schrijft. Het geleverde bestand moet even groot zijn als het bestand dat u hebt gelezen.
- Bewaar altijd het originele bestand. Het is het ene veilige punt waarnaar u kunt terugkeren als er iets misgaat. Zie back-up van het originele ECU-bestand.
- Gebruik accuondersteuning tijdens het schrijven. Een onderbroken schrijfactie kan lastiger te herstellen zijn dan een checksumfout.
Veelgestelde vragen
Beschadigt een checksumfout de ECU blijvend?
Meestal niet. De ECU is doorgaans te herstellen door het originele bestand via Bench of Boot te schrijven. We vergelijken uitleesmethoden in dit artikel.
Moet ik de checksum zelf corrigeren?
Dat hangt af van uw lees-/schrijfapparaat. Door uw apparaat in de aanvraag te noemen, is duidelijk hoe het geleverde bestand bij het schrijven moet worden behandeld.
Hoe weet ik dat de checksum klopt?
Bij ondersteunde ECU’s meldt uw schrijfapparaat de checksumcontrole. Twijfelt u, vraag het dan vóór het schrijven aan onze engineer in de aanvraagchat.
