# Diagnose-Session (DiagnosticSessionControl 0x10)

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

UDS DiagnosticSessionControl (0x10) wechselt ein Steuergerät zwischen Default, Extended und Programming Session. Bytes, Timing-Parameter und was zu prüfen ist.

Source: https://auto-st.com/de/glossar/diagnose-session · Updated: 2026-10-07

## 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:

| Richtung | Bytes | Bedeutung |
|---|---|---|
| Request | `10 03` | extendedDiagnosticSession betreten |
| Positive Antwort | `50 03 00 32 01 F4` | P2server_max 50 ms, P2*server_max 5000 ms |
| Negative Antwort | `7F 10 22` | conditionsNotCorrect, 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

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

## Sources

- [ISO 14229-1:2020 Straßenfahrzeuge, Unified diagnostic services (UDS), Teil 1: Anwendungsschicht, Diagnostic and communication management functional unit, DiagnosticSessionControl (0x10)](https://www.iso.org/standard/72439.html)
- [ISO 15765-2 Straßenfahrzeuge, Diagnosekommunikation über CAN (DoCAN), Teil 2: Transportprotokoll und Netzwerkschichtdienste](https://www.iso.org/standard/84211.html)

## Related

- [UDS (Unified Diagnostic Services)](https://auto-st.com/de/glossar/uds)
- [TesterPresent (0x3E)](https://auto-st.com/de/glossar/tester-present-0x3e)
- [Programming Session (0x10 0x02)](https://auto-st.com/de/glossar/programming-session)
- [Kenne jede Tür ins ECU.](https://auto-st.com/de/uds-enumeration)
- [ECU-Reset- und Session-Handling-Fehler, und wie du sie testest](https://auto-st.com/de/insights/ecu-reset-und-session-handling-fehler)
- [UDS-Nachrichten-Decoder](https://auto-st.com/de/tools/uds-nachrichten-decoder)

---
AutoST by Zyberum. Canonical page: https://auto-st.com/de/glossar/diagnose-session
