Service Interaction Protocol
Diagnostic Session Control
Service Purpose
“DiagnosticSessionControl enables various diagnostic sessions in the server (ECU). The server always operates within exactly one session, defaulting to the Default Session (0x01) upon every reset event.”
Message Structure
Diagnostic Session Control requests are simple two-byte frames containing the SID and the session sub-function. Click any byte field below to inspect its role.
10 0X50 0X 00 32 13 88Request (0x10)
The sub-function byte selects the diagnostic session type (e.g. 0x01, 0x02, 0x03).
Response (0x50)
Echoes the sub-function and provides session timing parameters (P2 and P2* values).
Response Management
RESPONSE_SUPPRESSION_LOGIC
Active Bit 7 (0x80) detection. When present in the sub-function byte, the ECU enters Silent Mode for positive responses, optimizing packet throughput.
Request
10 01Response
50 01Suppression_Active
10 81! Critical: NRC 0x7F bypasses suppression logic and will always broadcast.
Session Selection
The sub-function byte selects the target session. Each session grants a distinct privilege level, enabling or restricting access to specific diagnostic services.
0x01POWER_ON_DEFAULTStandard operating mode. Active after every ECU reset. Basic diagnostic read operations permitted. No security access required.
Request
10 010x02FLASH_OPERATIONSFirmware update and bootloader operations. Requires prior Security Access (0x27). Vehicle must be stationary. S3 timeout active.
Request
10 020x03ELEVATED_ACCESSEnables advanced diagnostics including I/O control, routine execution, and memory writes. Most common session for workshop diagnostics.
Request
10 030x04ASIL_CRITICALReserved for safety-critical ECU operations (airbag, ABS, ESP). Restricted transitions. OEM-specific security levels required.
Request
10 04Timing & S3 Timeout
Timing parameters define the window for server responses (P2) and client keep-alive signals (S3). When entering a non-default session, the S3 Server Timeout becomes active, requiring a Tester Present signal every 5000ms.
Operational Constraints
Transitioning between sessions triggers automatic resets of ECU security states and active diagnostic processes to ensure protocol integrity.
System_Subject | Transition_Logic | Constraint_Level |
|---|---|---|
| Security Access (0x27) | Force_Locked | Protocol Requirement |
| Active Downloads (0x34) | Purge_Buffer | Critical Fault |
| Diagnostic Routines (0x31) | Terminate_All | Safety Buffer |
| Communication (0x28) | Default_Mode | Reset Protocol |
Protocol Interaction
Protocol Transition Sequence
2 steps0x01Power-on default. No security required.
0x02Flash reprogramming; requires SecurityAccess.
0x03Advanced diagnostics. Most common non-default.
0x04ASIL-rated system isolation.
- Default → Programming
10 02 - Default → Extended
10 03 - Default → Safety
10 04 - Extended → Programming
10 02 - Any non-default → Default
10 01 / S3 timeout - Safety → Extended
10 030x22 - Programming → Programming
10 020x22 - Safety → Any other
10 xx0x22
Request Processing & Validation
50 0X + timing parameters. S3 timer starts for non-default sessions.Click any step to expand validation logic.
Service Requirements by Session
0x100x110x190x220x280x3ESecurity State Behavior
Security access (0x27) is session-specific. Changing sessions resets security, except when remaining in Extended Session.
| From Session | To Session | Command | Security Impact |
|---|---|---|---|
| DEFAULT | EXTENDED | 10 03 | No change (was locked) |
| EXTENDED | EXTENDED | 10 03 | ✓ PRESERVED |
| EXTENDED | DEFAULT | 10 01 | ❌ RESET (Locked) |
| EXTENDED | PROGRAMMING | 10 02 | ❌ RESET (Locked) |
| ANY | DEFAULT (Timeout) | Auto-reset | ❌ RESET (Locked) |
Common Workflow Patterns
Safest workflow. No session elevation or security unlock required. Suitable for field technicians reading vehicle health data.
10 01Enter Default SessionExplicit reset to known state
22 F1 90Read VINVehicle identification number
19 02 09Read Active DTCsstatusMask = 0x09
19 06 01Read DTC SnapshotsFreeze frame data
Service Dependencies
Service Dependencies
0x10 manages diagnostic sessions which restrict or permit other UDS services. Select a node.
Required to maintain non-default diagnostic sessions (Extended, Programming) and prevent session timeout (S3 server timer).
Negative Responses
EXCEPTION_MATRIX_V3
The requested session ID (subfunction value) is not valid or not supported by this ECU.
This negative response indicates a failure in processing the DiagnosticSessionControl request. Ensure all pre-conditions and active sessions match the requirements defined by ISO 14229.
Debugging & Troubleshooting
Click any issue card to reveal cause and fix.