Skip to Content
UDS Simulator 2.0 Released

Docs baseline actions

Copy this page URLEdit page
Docs0x10 Diagnostic Session Control

Service Interaction Protocol

Diagnostic Session Control

0x10
Protocol Identifier
Manages the transition between distinct operational states (Sessions). Elevating to specialized sessions like Programming or Extended enables advanced diagnostic services and modifies protocol timing behavior.

Service Purpose

ISO 14229-1

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

REQUEST
B0
0x10
Service ID
B1
0x01–04
Sub-Function
RAW10 0X
ECU
RESPONSE
B0
0x50
Response SID
B1
0x0X
Session Echo
B2–3
0x00 0x32
P2 Timing
50 ms
B4–5
0x13 0x88
P2* Timing
5000 ms
RAW50 0X 00 32 13 88

Request (0x10)

10Sub-Function

The sub-function byte selects the diagnostic session type (e.g. 0x01, 0x02, 0x03).

Response (0x50)

50Sub-Function EchoP2_HiP2_LoP2*_HiP2*_Lo

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.

Standard_Sequence
tx_packet

Request

10 01
rx_packet

Response

50 01
Suppressed_Sequence
tx_packet

Suppression_Active

10 81
[ HUD_SILENCE_DETECTED ]

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

Default Session
0x01POWER_ON_DEFAULT

Standard operating mode. Active after every ECU reset. Basic diagnostic read operations permitted. No security access required.

✓ DTC Read (0x19)✓ Tester Present (0x3E)✕ Write Memory (0x3D)✕ Routines (0x31)
tx_packet

Request

10 01
Programming Session
0x02FLASH_OPERATIONS

Firmware update and bootloader operations. Requires prior Security Access (0x27). Vehicle must be stationary. S3 timeout active.

✕ DTC Read (0x19)✓ Request Download (0x34)✓ Transfer Data (0x36)✓ Erase Flash
tx_packet

Request

10 02
Extended Diagnostic Session
0x03ELEVATED_ACCESS

Enables advanced diagnostics including I/O control, routine execution, and memory writes. Most common session for workshop diagnostics.

✓ DTC Read (0x19)✓ Write Data (0x2E)✓ Routines (0x31)✓ I/O Control (0x2F)
tx_packet

Request

10 03
Safety System Session
0x04ASIL_CRITICAL

Reserved for safety-critical ECU operations (airbag, ABS, ESP). Restricted transitions. OEM-specific security levels required.

✓ DTC Read (0x19)✕ Write Memory (0x3D)✕ Erase Flash✓ Safety Routines
tx_packet

Request

10 04

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

P2_SERVER
50ms
P2*_SERVER
5000ms
S3_TIMEOUT
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_LockedProtocol Requirement
Active Downloads (0x34)Purge_BufferCritical Fault
Diagnostic Routines (0x31)Terminate_AllSafety Buffer
Communication (0x28)Default_ModeReset Protocol

Protocol Interaction

SEQUENCE_INTERACTION_DUMP

Protocol Transition Sequence

2 steps
Tester
ECU
Logic_Core: UDS_STATE_MACHINE_ENG
v4.0_READY

Request Processing & Validation

REQUEST_VALIDATION_PIPELINE
POSITIVE_RESPONSE
ECU sends 50 0X + timing parameters. S3 timer starts for non-default sessions.

Click any step to expand validation logic.

Service Requirements by Session

Default Services
(6 total accessible)
0x10
Session Control
NEW
0x11
ECU Reset
NEW
0x19
Read DTC
NEW
0x22
Read Data by ID
NEW
0x28
Communication Control
NEW
0x3E
Tester Present
NEW

Security State Behavior

Security access (0x27) is session-specific. Changing sessions resets security, except when remaining in Extended Session.

From SessionTo SessionCommandSecurity Impact
DEFAULTEXTENDED10 03No change (was locked)
EXTENDEDEXTENDED10 03✓ PRESERVED
EXTENDEDDEFAULT10 01❌ RESET (Locked)
EXTENDEDPROGRAMMING10 02❌ RESET (Locked)
ANYDEFAULT (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 Session

Explicit reset to known state

22 F1 90Read VIN

Vehicle identification number

19 02 09Read Active DTCs

statusMask = 0x09

19 06 01Read DTC Snapshots

Freeze frame data

Service Dependencies

Service Dependencies

0x10 manages diagnostic sessions which restrict or permit other UDS services. Select a node.

0x100x3E0x270x110x220x28
0x3ETesterPresentKeep-alive
Typical request
3E 80

Required to maintain non-default diagnostic sessions (Extended, Programming) and prevent session timeout (S3 server timer).

Negative Responses

EXCEPTION_MATRIX_V3

Diagnostic_Context

The requested session ID (subfunction value) is not valid or not supported by this ECU.

Technical_Significance & Trigger

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.

Execution_Trace
Tester → ECU
10 05
Request 0x05 Session
ECU → Tester
7F 10 12
Invalid subfunction

Debugging & Troubleshooting

DIAGNOSTIC_CHECKLIST
0/15
COMMON_ISSUES

Click any issue card to reveal cause and fix.