Skip to Content
UDS Simulator 2.0 Released

Docs baseline actions

Copy this page URLEdit page
Docs0x19 Read DTC Information

Service Interaction Protocol

Read DTC Information

0x19
Protocol Identifier
The primary service for retrieving diagnostic trouble codes, status information, freeze frames, and extended data from the ECU.

Overview

ISO 14229-1

“This service allows the client to request diagnostic trouble code (DTC) information from the server, including the status of DTCs, snapshot data (Freeze Frame), and extended data.”

Message Format

All SID 0x19 requests and responses follow a consistent byte structure defined in ISO 14229-1. Select a sub-function and click any byte to inspect its field definition.

Message Frame
Sub-Function
reportDTCByStatusMask
REQUEST BYTES

Tap any byte to inspect its field definition.

All Sub-Functions

SID 0x19 supports 26+ subfunctions. Use the explorer below to navigate them — filter by category and click any subfunction to see its request/response format, parameters, and access requirements.

Sub-Function Explorer12 subfunctions
0x02DEFAULTlist
Function
reportDTCByStatusMask

Returns all DTCs whose status byte has at least one matching bit with the requested mask. Each DTC is returned as 3 bytes + 1 status byte.

REQUEST
19 02 [Mask]
POSITIVE RESPONSE
59 02 [AvailMask] [DTC0_B0] [DTC0_B1] [DTC0_B2] [Status] …
PARAMETERS

DTCStatusMask (1B) — 0xFF returns all stored DTCs; 0x08 = Confirmed only

NOTE

Most common subfunction. Use mask 0xFF for a full scan, 0x08 for confirmed faults only.

DTC Status Byte

Each DTC carries an 8-bit status field indicating its current lifecycle state. Toggle bits below to simulate different fault scenarios and see real-time interpretation. The most commonly checked bits are Bit 3 (Confirmed) and Bit 0 (TestFailed).

DTC Status Byte Decoder
Presets:
Byte Value:
0x00
(00000000)
Bit Toggle (Bit 7 → Bit 0)
Interpretation

All flags clear — no fault history detected.

DTC Numbering Format

DTCs are encoded as 3 bytes per ISO 14229-1 Annex D. Use the calculator below to convert between human-readable codes (P0301) and their wire-encoded byte representation — in either direction.

DTC Format Calculator
Encoded Bytes
Byte 00x01P-code high
Byte 10x01Fault code high
Byte 20x2DFault code low
PPowertrain0x0–0x3F

Engine, transmission, fuel system

DTC Type Ranges
P
0x00–0x3F
Powertrain
C
0x40–0x7F
Chassis
B
0x80–0xBF
Body
U
0xC0–0xFF
Network

Common Workflows

Step-by-step simulations of the four standard diagnostic sequences. Select a workflow and run the simulation to watch the byte-level message exchange unfold.

Workflow Simulator

Quick vehicle health check: count DTCs → list all → retrieve a freeze frame.

Press "Run Simulation" to step through the message exchange.

Negative Response Codes

EXCEPTION_MATRIX_V3

Diagnostic_Context

The requested subfunction (0x01–0x19, etc.) is not implemented in this ECU.

Technical_Significance & Trigger

This negative response indicates a failure in processing the Read DTC Info request. Ensure all pre-conditions and active sessions match the requirements defined by ISO 14229.

Execution_Trace
Tester → ECU
19 99 00
ECU → Tester
7F 19 12

Session & Security Requirements

Most subfunctions work in DEFAULT session, but mirror memory and user-defined data require elevated access. Click any row or filter by access level to explore the full matrix.

Session & Security Matrix
SubFunctionDEFAULTEXTENDED
0x01
Open
Open
i
0x02
Open
Open
i
0x03
Open
Open
0x04
Open
Open
0x05
Open
Open
0x06
Open
Open
i
0x0A
Open
Open
i
0x0F
Denied
Extended
i
0x10
Denied
Extended
0x11
Denied
Extended
0x13
Open
Open
0x14
Open
Open
0x15
Open
Open
i
0x17
Denied
Secured
i
0x18
Denied
Secured
i
0x19
Denied
Secured
i

Service Interactions

SID 0x19 integrates tightly with five other diagnostic services. Select a service card to see the interaction detail, typical sequence, and why it’s needed.

Service Interaction Map
SID
0x19
ReadDTCInformation

Supported DTCs — Subfunction 0x0A

Subfunction 0x0A returns all DTCs the ECU can potentially detect — not just stored faults. No status mask required; no status bytes in response. Filter and search the catalog below.

Key distinction: 0x0A is unaffected by SID 0x14 clears. It shows ECU capability, not current DTC memory state. Use it for tool configuration, not fault diagnosis.

Supported DTC ExplorerSub0x0A
25 DTCs

Sub 0x0A returns 3-byte DTC entries only — no status bytes. Response: 59 0A [AvailMask] [B0 B1 B2] [B0 B1 B2] …

Best Practices

Click any category to expand it. Each practice card reveals why it matters, when to apply it, related NRCs, and code examples.

💡 Tip: Expand each practice card to see the "Why It Matters," timing guidance, related error codes, and code examples where applicable.