ECUReset (0x11)
UDS ECUReset (0x11) startet ein Steuergerät neu. Die Reset-Typen, die Request- und Response-Bytes, welche Session nötig ist und was am Prüfstand zu prüfen ist.
Aktualisiert Diese Seite als Markdown
Kurz gesagt
ECUReset (0x11) weist einen UDS-Server an, neu zu starten. Die Sub-Funktion wählt den Typ: hardReset (01), keyOffOnReset (02), softReset (03) und weitere. Der Request 11 01 fordert einen Hard-Reset, die positive Antwort 51 01 bestätigt ihn vor dem Neustart. Meist ist die Extended Session nötig. Ein Reset beendet die Session und verwirft jeden session-abhängigen Zustand, deshalb ist er ein Schlüsselschritt in Session-Handling-Tests.
Was ist ECUReset (0x11)?
ECUReset ist der UDS-Service, der ein Steuergerät unter Tester-Kontrolle neu startet. Das Sub-Funktions-Byte wählt den Reset-Typ. Das Steuergerät sendet zuerst die positive Antwort und führt dann den Reset aus, sodass der Tester die Bestätigung sieht, bevor der Server kurz verschwindet.
Ein normaler Ablauf:
| Richtung | Bytes | Bedeutung |
|---|---|---|
| Request | 11 01 | hardReset |
| Positive Antwort | 51 01 | Reset akzeptiert, Steuergerät startet neu |
| Negative Antwort | 7F 11 33 | securityAccessDenied |
Weitere typische negative Antworten sind 7F 11 7F (serviceNotSupportedInActiveSession, Reset aus der Default Session angefragt, wenn die Extended Session nötig ist), 7F 11 12 (subFunctionNotSupported bei unbekanntem Reset-Typ), 7F 11 13 (incorrectMessageLengthOrInvalidFormat) und 7F 11 22 (conditionsNotCorrect, etwa Motor läuft).
Wo ist es definiert?
ISO 14229-1:2020 definiert ECUReset (0x11) im Diagnostic and communication management functional unit. Die Norm listet die Reset-Typen, das Antwortformat inklusive powerDownTime-Byte für Rapid Power Shutdown und die Regel, dass ein Reset den Server in die Default Session zurückbringt. Auf CAN ist der Transport ISO 15765-2.
Was es in der Praxis bedeutet
Die meisten Steuergeräte erlauben ECUReset nur in der Extended oder Programming Session, oft hinter SecurityAccess, weil ein unkontrollierter Reset eines laufenden Controllers gefährlich ist. Bei der Validierung wird geprüft:
- der Service antwortet nur in den Sessions und auf dem Security-Level, die die Spezifikation erlaubt;
- eine falsche Länge (
11allein oder11 01 00) gibt NRC 0x13; - eine unbekannte Sub-Funktion gibt NRC 0x12;
- das Steuergerät kommt nach dem Reset tatsächlich zurück und in der Default Session;
- Bedingungen wie ein laufender Motor erzeugen korrekt conditionsNotCorrect statt eines Resets.
Am Prüfstand zeigen sich beim Reset-Handling die Session-Bugs. Wir sehen regelmäßig Steuergeräte, die nach einem Soft-Reset hängen oder einen Power-Cycle brauchen, und Steuergeräte, die einen Security-Unlock über einen keyOffOnReset nicht verwerfen, obwohl sie es müssen.
Wie AutoST es testet
AutoST markiert ECUReset bei der Enumeration als riskanten Service, hält fest, in welchen Sessions er mit welchen negativen Antwortcodes reagiert, und bestätigt, dass das Steuergerät sauber in die Default Session zurückkehrt. Beim Fuzzing erkennt ein TesterPresent-Liveness-Check nach jeder Iteration ein Steuergerät, das auf einen Payload hin resettet oder hängt, und der exakte vorangegangene Payload wird gespeichert, damit sich der Reset nachstellen lässt.
FAQ
Häufig gestellte Fragen
Welche Reset-Typen definiert ISO 14229-1?
hardReset (0x01), keyOffOnReset (0x02), softReset (0x03), enableRapidPowerShutDown (0x04) und disableRapidPowerShutDown (0x05). Die Werte 0x40 bis 0x5F und 0x60 bis 0x7E sind für Hersteller und Lieferanten reserviert.
Was sendet das Steuergerät bei enableRapidPowerShutDown zurück?
Die positive Antwort auf Sub-Funktion 0x04 hängt ein Byte an, powerDownTime in Sekunden, etwa 51 04 0A. Die anderen Reset-Typen antworten mit zwei Bytes, 51 plus Reset-Typ.
Verwirft ein Reset einen Security-Unlock?
Ja. Ein Reset bringt das Steuergerät in die Default Session zurück, und jeder session-abhängige Zustand, inklusive entsperrtem Security-Level, DTC-Setting und Communication Control, fällt auf seinen Default zurück.
Quellen
Passende Seiten
- GlossarUDS (Unified Diagnostic Services)UDS (ISO 14229) ist das Diagnoseprotokoll der meisten Steuergeräte: Sessions, Services, DIDs, SecurityAccess. Was es definiert und warum es die erste Angriffsfläche ist.
- GlossarDiagnose-Session (DiagnosticSessionControl 0x10)UDS DiagnosticSessionControl (0x10) wechselt ein Steuergerät zwischen Default, Extended und Programming Session. Bytes, Timing-Parameter und was zu prüfen ist.
- GlossarTesterPresent (0x3E)UDS TesterPresent (0x3E) hält eine Non-Default Session am Leben. Request- und Response-Bytes, das Suppress-Bit, der S3-Server-Timer und die Session-Bugs am Prüfstand.
- PlattformKenne jede Tür ins ECU.AutoST enumeriert ein ECU über UDS: Diagnose-Endpunkte, Sessions, alle 255 Services und lesbare DIDs, plus XCP/CCP. Riskante Services werden markiert.
- InsightsECU-Reset- und Session-Handling-Fehler, und wie du sie testestWie du UDS-Session- und Reset-Verhalten testest: Session-Rückfall, S3-Timeout, Security-Zustand nach Reset, TesterPresent und was jedes Ergebnis bedeutet.
- Kostenlose ToolsUDS-Negative-Response-Code-DecoderNegative UDS-Antwort in einer Sekunde dekodieren: 7F 27 35 oder einen Code einfügen, ISO-14229-Namen, abgelehnten Service und Bedeutung bekommen. Mit NRC-Tabelle.
