Fouten in de firmware van de EV-lader oplossen
De meeste firmwarefouten waarbij wij worden opgeroepen, zijn geen coderingsfouten. Het zijn gedragingen die correct waren op basis van één lezing van de specificatie, maar verkeerd op basis van het voertuig, het platform of de site die eraan voldoet. Het oplossen ervan begint met het reproduceren van de fout, niet met het lezen van de code.
Deze pagina behandelt firmware die al bestaat en al wordt verzonden. Het is het werk om erachter te komen waarom een eenheid iets onverwachts doet, om te beslissen of de firmware wel de juiste plaats is om het probleem te repareren, en om een wijziging aan te brengen die kan worden vrijgegeven aan een vloot zonder drie nieuwe problemen te creëren. Het geldt zowel voor firmware die we hebben geschreven als voor firmware die we nog nooit hebben gezien.
Firmware-probleemoplossingVoor Een fabrikant of operator met firmware in het veld die zich misdraagt, vaak geschreven door een team of leverancier die niet meer leverbaar is.
Waarom firmwarefouten moeilijk vast te stellen zijn
Een oplader zit tussen vier dingen die zich allemaal net iets anders gedragen dan hun specificaties: het voertuig, de voeding, de backend en de mens die hem gebruikt. Een fout die in de firmware verschijnt, is vaak dat de firmware zich precies zo gedraagt als geschreven, terwijl een van die vier iets doet wat de auteur niet had verwacht.
- Het voertuig onderhandelt op een manier die de controlepilootstatusmachine niet had verwacht, of duurt langer dan de time-out toelaat
- De voeding zakt in, flikkert of verliest een fase in een patroon dat door de beveiligingslogica als een andere fout wordt gelezen
- De backend verzendt een berichtenreeks die legaal maar ongebruikelijk is, of reageert niet meer halverwege de transactie
- De gebruiker trekt de stekker uit het stopcontact, steekt hem opnieuw in, badget twee keer of loopt weg op een moment dat er niets is geschreven
Dit is de reden waarom de eerste vraag nooit is wat de code zegt. Het gaat om wat er werkelijk is gebeurd, in welke volgorde, en of het opnieuw kan gebeuren.
Wat we nodig hebben voordat er iets kan worden gediagnosticeerd
Een foutrapport in de vorm dat de lader niet meer werkt, is niet actiegericht. Deze zorgen ervoor dat een rapport een diagnose wordt, grofweg in volgorde van hoeveel ze helpen.
- 1
De OCPP-trace
De berichtenuitwisseling tussen lader en backend rond de storing, met tijdstempels. Dit alleen al lost een groot deel van de gemelde storingen op, omdat het laat zien of de lader heeft gedaan wat hem is opgedragen en of hem iets zinnigs is verteld.
- 2
Apparaatlogboeken
Wat de eenheid ook lokaal heeft opgenomen. Firmware die niets registreert, is firmware die niet op afstand kan worden gedebugd, en dat is op zichzelf al een bevinding.
- 3
De voorwaarden
Voertuigmerk en -model, leveringsregeling, of het druk was op de locatie, of het had geregend. Storingen die slechts bij één voertuig of bij één faseconfiguratie voorkomen, komen vaak voor en het patroon is de diagnose.
- 4
Reproductie stappen
Als het op afroep kan gebeuren, is het werk een dag. Als het op één locatie eens in de twee weken gebeurt, is er eerst sprake van een monitoring.
- 5
Firmwareversie en geschiedenis
Welke build en wat er is veranderd in de build ervoor. Een fout die is begonnen bij een bekende release heeft een veel kleinere zoekruimte.
Hoe het werk verloopt
- 1
Reproduceer
Waar mogelijk op een bank met een laadsimulator, zodat de storing herhaaldelijk kan worden geactiveerd zonder voertuig en zonder bezoek ter plaatse. Fouten die niet kunnen worden gereproduceerd, worden aangevallen door in plaats daarvan de veldeenheden te instrumenteren.
- 2
Isoleer
Stel vast welke laag feitelijk eigenaar is van het gedrag: applicatielogica, protocolstack, hardware-abstractie of iets geheel buiten de lader.
- 3
Repareer, of raad af om het te repareren
Soms is het juiste antwoord dat de firmware op de verkeerde plaats staat. Een voedingsprobleem dat in de firmware is gepatcht, wordt later een tweede fout, in een vorm waarin niemand verbinding maakt met de eerste.
- 4
Regressietest
Tegen de berichtenset en het voertuiggedrag dat al werkt, omdat het risico in een firmware-release voor het hele wagenpark nooit de fout is die u hebt verholpen.
- 5
Breng de release in scène
Een pilotgroep vóór de vloot, met een gedefinieerde terugdraaiing. Al het andere is een test in de productie op iemands inkomsten.
Werken aan firmware die we niet hebben geschreven
Een groot deel van dit werk betreft codebases die zijn geërfd van een leverancier die is verhuisd, of van een team dat niet meer bestaat. Dat is eerder een normale dan een lastige situatie, en het verandert de aanpak in plaats van dat het deze voorkomt.
- Met volledige bronvermelding verloopt het werk normaal, met een oriëntatieperiode om de architectuur in kaart te brengen voordat er iets wordt veranderd
- Met de bron maar zonder bouwomgeving is het reconstrueren van een reproduceerbare build het eerste resultaat dat de moeite waard is, ongeacht de fout
- Met alleen binaire bestanden kan gedrag nog steeds van buitenaf worden gekarakteriseerd, en de eerlijke aanbeveling is vaak om te vervangen in plaats van te patchen
We zullen u vroeg vertellen in welke van deze gesprekken u zit, omdat de derde een ander gesprek over de kosten is en drie weken later geen verrassing zou moeten zijn.
Wat kan niet in de firmware worden opgelost
Dit is het deel dat kopers het minst willen horen en het deel dat het meeste geld bespaart, dus het is de moeite waard om direct te zijn.
- Onvoldoende aanbodcapaciteit. Firmware kan het op een elegante manier beheren; het kan geen hoofdruimte creëren
- Slechte aarding of afsluiting. Een beveiligingsfunctie die een echte installatiefout correct detecteert, is geen firmwarefout
- Componentselectie die niet geschikt was voor de taak. Firmware kan eromheen derate verminderen, waardoor het product korter wordt in plaats van het op te slaan
- Interne kabelgeleiding en -kwaliteit, die tot storingen leiden maanden nadat de unit elke test heeft doorstaan
- Een voertuig dat zich buiten de specificaties gedraagt. Tijdelijke oplossingen zijn mogelijk en elk ervan is een permanente verplichting in de codebase
Elk van deze kan in software worden omzeild. Elke oplossing is code die voor altijd blijft bestaan, die de volgende ingenieur niet zal begrijpen, en die over drie jaar ergens mee zal communiceren. We zullen het zeggen als we denken dat handel slecht is.
Een oplossing voor een vloot vrijgeven
Het diagnosticeren van een fout is meestal de kleinere helft. Door de oplossing te vinden voor units die zich al in parkeergarages, kelders en voorterreinen bevinden, komen programma's los.
Als de firmware niet betrouwbaar via de ether kan worden bijgewerkt met een rollback, is de fout niet echt verholpen. Het probleem is opgelost op eenheden die na vandaag zijn gebouwd. Alles dat al is geïnstalleerd, behoudt de fout totdat iemand er naartoe rijdt. Wanneer dat het geval is, is het herstellen van een werkend updatepad het eerste werkstuk en is het meer waard dan de oplossing die er voor zorgde.
Toegepast op uw eigen locatie?
Firmware-probleemoplossingGerelateerde inhoud
Technisch beoordeeld door Deepu Joy, Director of Products and Delivery. Laatst beoordeeld 2026-09-10.
Veelgestelde vragen
Ga jij werken aan firmware geschreven door een andere leverancier?
Ja, en een groot deel van dit werk is precies dat. Met bron werken wij normaal na een oriëntatieperiode. Alleen met binaire bestanden kunnen we gedrag van buitenaf karakteriseren, en meestal raden we vervanging aan in plaats van patchen.
Hoe lang duurt een diagnose?
Een fout die op een bank kan worden gereproduceerd, duurt meestal dagen. Eén die met tussenpozen in een vloot verschijnt, is in de eerste plaats een monitoringoefening, en het eerlijke antwoord is dat we deze niet kunnen beperken totdat we deze kunnen activeren.
Heeft u onze broncode nodig om u te helpen?
Het maakt het werk sneller en goedkoper, maar het is niet altijd nodig. Fouten op protocolniveau kunnen vaak alleen op basis van sporen worden gediagnosticeerd.
Wat moet ik doen als de fout geen firmware blijkt te zijn?
Wij zullen het u vertellen, en wij zullen zeggen waar het werkelijk is. Een in de firmware gepatchte leverings- of installatiefout wordt later een tweede fout wanneer niemand verbinding maakt met de eerste.
Kunt u het oplossen als we onze vloot niet op afstand kunnen updaten?
Wij kunnen de code repareren. Of de oplossing uw geïnstalleerde eenheden bereikt, is een apart probleem, en als er geen draadloos netwerk beschikbaar is, zullen we voorstellen om dat eerst op te lossen, omdat dit anders alleen maar nieuwe productievoordelen oplevert.
Heeft u een firmwarefout die u niet kunt achterhalen?
Verzend de OCPP-trace, de firmwareversie en wat de site aan het doen was. Dat is meestal voldoende om te zeggen of het een dag of een project betreft.
Firmware-probleemoplossing