Engineering / Firmware-Engineering

Beheben von Fehlern in der Firmware des EV-Ladegeräts

Bei den meisten Firmware-Fehlern, die uns gemeldet werden, handelt es sich nicht um Codierungsfehler. Dabei handelt es sich um Verhaltensweisen, die bei einer Lektüre der Spezifikation richtig und bei dem Fahrzeug, der Plattform oder dem Standort, an dem sie angetroffen wurden, falsch waren. Die Behebung beginnt mit der Reproduktion des Fehlers und nicht mit dem Lesen des Codes.

Auf dieser Seite wird Firmware behandelt, die bereits vorhanden ist und bereits ausgeliefert wird. Es geht darum herauszufinden, warum eine Einheit etwas Unerwartetes tut, zu entscheiden, ob die Firmware überhaupt der richtige Ort ist, um das Problem zu beheben, und eine Änderung vorzunehmen, die für eine Flotte freigegeben werden kann, ohne dass drei neue Probleme entstehen. Dies gilt gleichermaßen für Firmware, die wir geschrieben haben, und für Firmware, die wir noch nie gesehen haben.

Fehlerbehebung bei der Firmware

Für Ein Hersteller oder Betreiber mit Firmware im Feld, die sich schlecht verhält, oft von einem Team oder Lieferanten geschrieben, der nicht mehr verfügbar ist.

Warum Firmware-Fehler schwer zu lokalisieren sind

Ein Ladegerät befindet sich zwischen vier Dingen, die sich alle etwas anders verhalten als in ihren Spezifikationen angegeben: dem Fahrzeug, der Stromversorgung, dem Backend und dem Menschen, der es nutzt. Ein Fehler, der in der Firmware auftritt, ist oft, dass sich die Firmware genau wie beschrieben verhält, während einer dieser vier Fehler etwas tut, was der Autor nicht erwartet hat.

  • Das Fahrzeug verhandelt auf eine Weise, die die Kontrollpilot-Zustandsmaschine nicht erwartet hat, oder es dauert länger, als das Timeout zulässt
  • Die Versorgung fällt ab, flackert oder verliert eine Phase, wobei die Schutzlogik einen anderen Fehler erkennt
  • Das Backend sendet eine Nachrichtensequenz, die zwar zulässig, aber ungewöhnlich ist, oder reagiert während der Transaktion nicht mehr
  • Der Benutzer zieht den Stecker aus der Steckdose, steckt ihn wieder ein, meldet sich zweimal an oder geht weg, und zwar in einem Moment, für den nichts geschrieben wurde

Aus diesem Grund lautet die erste Frage nie, was im Code steht. Es geht darum, was tatsächlich passiert ist, in welcher Reihenfolge und ob es wiederholt werden kann.

Was wir brauchen, bevor etwas diagnostiziert werden kann

Eine Fehlermeldung darüber, dass das Ladegerät nicht mehr funktioniert, ist nicht strafbar. Diese machen aus einem Bericht eine Diagnose, ungefähr in der Reihenfolge ihrer Hilfe.

  1. 1

    Der OCPP-Trace

    Der Nachrichtenaustausch zwischen Ladegerät und Backend rund um den Fehler, mit Zeitstempeln. Dies allein löst einen Großteil der gemeldeten Störungen, denn es zeigt, ob das Ladegerät das getan hat, was ihm gesagt wurde, und ob ihm etwas Vernünftiges gesagt wurde.

  2. 2

    Geräteprotokolle

    Was auch immer das Gerät vor Ort aufzeichnet. Firmware, die nichts protokolliert, ist Firmware, die nicht aus der Ferne debuggt werden kann, und das ist an sich schon eine Erkenntnis.

  3. 3

    Die Bedingungen

    Fahrzeugmarke und -modell, Versorgungsvereinbarung, ob auf der Baustelle viel los war, ob es geregnet hatte. Fehler, die nur bei einem Fahrzeug oder einer Phasenkonfiguration auftreten, sind häufig und das Muster ist die Diagnose.

  4. 4

    Reproduktionsschritte

    Wenn es auf Abruf möglich ist, ist die Arbeit ein Tag. Wenn es an einem Standort alle zwei Wochen passiert, handelt es sich zunächst um eine Überwachungsmaßnahme.

  5. 5

    Firmware-Version und -Verlauf

    Welcher Build und was hat sich im Build davor geändert? Ein Fehler, der bei einem bekannten Release begann, hat einen viel kleineren Suchraum.

Wie die Arbeit läuft

  1. 1

    Reproduzieren

    Möglichst auf einem Prüfstand mit Ladesimulator, damit der Fehler auch ohne Fahrzeug und ohne Ortsbesichtigung wiederholt ausgelöst werden kann. Nicht reproduzierbare Störungen werden stattdessen durch Instrumentierung der Feldgeräte angegangen.

  2. 2

    Isolieren

    Stellen Sie fest, welche Schicht das Verhalten tatsächlich besitzt: Anwendungslogik, Protokollstapel, Hardwareabstraktion oder etwas völlig außerhalb des Ladegeräts.

  3. 3

    Reparieren oder von der Reparatur abraten

    Manchmal ist die richtige Antwort, dass die Firmware am falschen Ort ist. Ein in der Firmware gepatchtes Versorgungsproblem wird später zu einem zweiten Fehler, in einer Form, die niemand mit dem ersten in Verbindung bringt.

  4. 4

    Regressionstest

    Gegen den Nachrichtensatz und das Fahrzeugverhalten, die bereits funktionieren, da das Risiko bei einer flottenweiten Firmware-Version niemals der Fehler ist, den Sie behoben haben.

  5. 5

    Inszenieren Sie die Veröffentlichung

    Eine Pilotgruppe vor der Flotte, mit definiertem Rollback. Bei allem anderen wird in der Produktion der Umsatz eines anderen getestet.

Wir haben nicht über die Arbeit an der Firmware geschrieben

Ein großer Teil dieser Arbeit basiert auf Codebasen, die von einem Lieferanten übernommen wurden, der weggezogen ist, oder von einem Team, das nicht mehr existiert. Das ist eher eine normale als eine unangenehme Situation, und es verändert den Ansatz, anstatt ihn zu verhindern.

  • Bei vollständigem Quellcode geht die Arbeit normal weiter, mit einer Orientierungsphase zur Kartierung der Architektur, bevor etwas geändert wird
  • Da es eine Quelle, aber keine Build-Umgebung gibt, ist die Rekonstruktion eines reproduzierbaren Builds die erste Möglichkeit und lohnt sich unabhängig vom Fehler
  • Nur mit Binärdateien lässt sich das Verhalten immer noch von außen charakterisieren, und die ehrliche Empfehlung lautet oft, zu ersetzen statt zu patchen

Wir werden Ihnen frühzeitig mitteilen, an welcher davon Sie beteiligt sind, da es sich bei der dritten Diskussion um eine andere Diskussion über die Kosten handelt und diese drei Wochen später keine Überraschung sein sollte.

Was kann in der Firmware nicht behoben werden?

Dies ist der Teil, den Käufer am wenigsten hören möchten und der am meisten Geld spart. Es lohnt sich also, direkt zu sein.

  • Unzureichende Versorgungskapazität. Die Firmware kann es problemlos verwalten. es kann keinen Spielraum schaffen
  • Schlechte Erdung oder Terminierung. Eine Schutzfunktion, die einen tatsächlichen Installationsfehler korrekt erkennt, ist kein Firmware-Fehler
  • Komponentenauswahl, die für die Aufgabe falsch war. Die Firmware kann sich darum herum verschlechtern, wodurch das Produkt verkürzt wird, anstatt es zu speichern
  • Interne Kabelführung und Qualität, die Monate, nachdem das Gerät jeden Test bestanden hat, zu Ausfällen führen
  • Ein Fahrzeug verhält sich außerhalb der Spezifikation. Problemumgehungen sind möglich und jede davon stellt eine dauerhafte Belastung in der Codebasis dar

Jedes davon kann in Software umgangen werden. Bei jeder Problemumgehung handelt es sich um Code, der für immer erhalten bleibt, den der nächste Ingenieur nicht versteht und der in drei Jahren mit etwas interagiert. Wir werden es sagen, wenn wir denken, dass der Handel schlecht ist.

Einen Fix für eine Flotte veröffentlichen

Die Diagnose eines Fehlers macht normalerweise die kleinere Hälfte aus. Bei der Reparatur von Geräten, die sich bereits auf Parkplätzen, Kellern und Vorplätzen befinden, scheitern Programme.

Wenn die Firmware per Rollback nicht zuverlässig drahtlos aktualisiert werden kann, ist der Fehler nicht wirklich behoben. Es ist auf Einheiten festgelegt, die nach heute gebaut wurden. Alles, was bereits installiert ist, behält den Fehler, bis jemand dorthin fährt. In diesem Fall ist die Wiederherstellung eines funktionierenden Update-Pfads die erste Arbeit, die mehr wert ist als der Fix, der dazu geführt hat.

Auf Ihren eigenen Standort angewendet?

Fehlerbehebung bei der Firmware

Technisch geprüft von Deepu Joy, Director of Products and Delivery. Zuletzt geprüft 2026-09-10.

Häufig gestellte Fragen

Arbeiten Sie an Firmware, die von einem anderen Anbieter geschrieben wurde?

Ja, und ein großer Teil dieser Arbeit ist genau das. Mit Source arbeiten wir nach einer Einarbeitungszeit ganz normal. Nur mit Binärdateien können wir das Verhalten von außen charakterisieren und empfehlen in der Regel eher das Ersetzen als das Patchen.

Wie lange dauert eine Diagnose?

Ein Fehler, der auf einer Werkbank reproduziert werden kann, beträgt normalerweise Tage. Eine, die zeitweise in einer Flotte auftritt, ist zunächst eine Überwachungsübung, und die ehrliche Antwort ist, dass wir sie nicht eingrenzen können, bis wir sie auslösen können.

Benötigen Sie unseren Quellcode?

Es macht die Arbeit schneller und kostengünstiger, ist aber nicht immer erforderlich. Fehler auf Protokollebene können häufig allein anhand von Spuren diagnostiziert werden.

Was passiert, wenn sich herausstellt, dass der Fehler nicht an der Firmware liegt?

Wir sagen es Ihnen und wir sagen Ihnen, wo es sich tatsächlich befindet. Ein in der Firmware gepatchter Versorgungs- oder Installationsfehler wird später zu einem zweiten Fehler, den niemand mit dem ersten verbindet.

Können Sie das Problem beheben, wenn wir unsere Flotte nicht aus der Ferne aktualisieren können?

Wir können den Code reparieren. Ob der Fix Ihre installierten Einheiten erreicht, ist ein separates Problem, und wenn es keinen funktionierenden Over-the-Air-Pfad gibt, schlagen wir vor, dieses zuerst zu lösen, da sonst nur eine neue Produktion Vorteile bringt.

Haben Sie einen Firmware-Fehler, den Sie nicht einordnen können?

Senden Sie den OCPP-Trace, die Firmware-Version und die Aktivitäten der Site. Das reicht normalerweise aus, um zu sagen, ob es sich um einen Tag oder ein Projekt handelt.

Fehlerbehebung bei der Firmware