Zum Inhalt springen
AutoST by Zyberum GmbH
Menü
GlossarUDS

Diagnose-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.

Aktualisiert Diese Seite als Markdown

Kurz gesagt

Eine Diagnose-Session ist der Modus, in dem ein UDS-Server läuft, gewählt mit DiagnosticSessionControl (0x10). Der Request 10 03 geht in die Extended Session, die positive Antwort 50 03 trägt das P2- und P2*-Timing. Default (01), Programming (02) und Extended (03) sind standardisiert. Jede Session gibt andere Services frei, also entscheidet das Session-Handling, welche Funktionen ein Tester erreicht.

Was ist eine Diagnose-Session?

Eine Diagnose-Session ist der Betriebsmodus eines UDS-Servers, und DiagnosticSessionControl (0x10) ist der Service, der ihn wählt. Jedes Steuergerät startet nach dem Einschalten in der Default Session. Der Tester wechselt in eine andere Session, um Services zu erreichen, die im Default nicht verfügbar sind.

Ein normaler Ablauf:

RichtungBytesBedeutung
Request10 03extendedDiagnosticSession betreten
Positive Antwort50 03 00 32 01 F4P2server_max 50 ms, P2*server_max 5000 ms
Negative Antwort7F 10 22conditionsNotCorrect, z. B. Geschwindigkeit nicht null

Weitere typische negative Antworten sind 7F 10 12 (subFunctionNotSupported), 7F 10 13 (incorrectMessageLengthOrInvalidFormat) und 7F 10 7E (subFunctionNotSupportedInActiveSession, etwa Programming Session aus dem Default angefragt, wenn das Steuergerät zuerst die Extended Session verlangt). Mit gesetztem suppressPosRspMsgIndicationBit, 10 83, wechselt das Steuergerät ohne Antwort.

Wo ist es definiert?

ISO 14229-1:2020 definiert DiagnosticSessionControl (0x10) im Diagnostic and communication management functional unit, zusammen mit ECUReset, TesterPresent und CommunicationControl. Die Norm listet die Session-Typen, den Response-Parameter-Record und die Regel, dass ein Session-Wechsel session-abhängige Zustände zurücksetzt, etwa ein entsperrtes Security-Level. Der Transport auf CAN ist ISO 15765-2.

Was es in der Praxis bedeutet

Die Session ist das erste Tor eines Diagnose-Designs. Welche Services und Data Identifier in welcher Session antworten, legt die OEM-Diagnosespezifikation fest, meist in einer ODX- oder CDD-Datei. Bei der Validierung wird geprüft:

  • jeder Service ist nur in den Sessions verfügbar, die die Spezifikation nennt, und antwortet sonst mit 7F xx 7F (serviceNotSupportedInActiveSession);
  • erlaubte und verbotene Session-Wechsel, etwa Programming nur aus Extended;
  • eine falsche Länge (10 allein oder 10 03 00) gibt NRC 0x13;
  • der S3-Timeout bringt das Steuergerät in die Default Session zurück und verwirft jeden Zustand der alten Session;
  • die Timing-Werte in der Antwort passen zur Spezifikation.

Wir sehen regelmäßig Services, die in der Default Session erreichbar sind, obwohl die Spezifikation sie in die Extended Session legt. Das ist ein Konfigurationsfehler und ohne vollständigen Sweep pro Session leicht zu übersehen.

Wie AutoST es testet

Die AutoST-Enumeration findet die Sessions, die ein Steuergerät akzeptiert, inklusive Extended und Programming, und sweept dann in jeder Session jeden Service von 0x00 bis 0xFE und klassifiziert die Antwort. Das Ergebnis ist eine Matrix aus Session und Service, die du gegen deine Diagnosespezifikation vergleichen kannst. Die Programming Session wird zuletzt getestet und lässt sich überspringen, weil manche Steuergeräte darin hängen bleiben.

FAQ

Häufig gestellte Fragen

Welche Sessions definiert ISO 14229-1?

Die Norm definiert defaultSession (0x01), programmingSession (0x02), extendedDiagnosticSession (0x03) und safetySystemDiagnosticSession (0x04). Werte von 0x40 bis 0x5F sind für Hersteller und 0x60 bis 0x7E für Systemlieferanten reserviert, also ergänzen viele Steuergeräte eigene Sessions.

Was bedeuten die vier Bytes nach 50 03?

Es ist der Session-Parameter-Record: zwei Bytes P2server_max in Millisekunden und zwei Bytes P2*server_max in Einheiten von 10 ms. 00 32 01 F4 heißt 50 ms und 5000 ms.

Warum fällt das Steuergerät von selbst in die Default Session zurück?

In jeder Non-Default Session läuft der S3-Server-Timer. Kommt vor dessen Ablauf kein Request und kein TesterPresent, kehrt das Steuergerät in die Default Session zurück, wie es die Norm verlangt.

Quellen

Passende Seiten

Sieh es auf deinem ECU

Ein Begriff, der für dein Steuergerät zählt?

In 15 Minuten sagen wir dir, wie AutoST ihn testet, wie ein Finding aussieht und was er für deinen ISO/SAE-21434-Nachweis bedeutet.

  • Direkte Antwort von einem ECU-Security-Engineer
  • Welcher Test den Begriff abdeckt
  • Kostenlos und unverbindlich
Tom Zaubermann

Deine Demo ist mitTom ZaubermannGründer von Zyberum, früher Leiter des VW InCar Security Testing Lab

Bereits im Einsatz bei Tier-1-, Tier-2-Zulieferern und OEMs. Referenzen auf Anfrage.

Ruf uns an: +49 176 439 17074automotive@zyberum.com

Oder schreib uns eine Nachricht

Wir antworten innerhalb eines Werktags.

Ruf uns anAutoST-Team fragen

Wähle einen Termin, der dir passt

In neuem Tab öffnen