Service Interaction Protocol
Read DTC Information
DTC_FORMAT
RETRIEVAL_LAYER
STATUS_BYTE
Overview
“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.”
This service is often used in conjunction with Clear Diagnostic Information (0x14) to manage the lifecycle of vehicle faults.
Default Behavior
Service 0x19 is available in Default Session (0x01) and most other sessions. Standard DTC status reports (Sub-functions 0x01, 0x02) usually do not require security unlock. However, reading snapshots (0x04) or extended data (0x06) may be restricted to Extended Sessions or require Security Access (0x27) depending on OEM policy.
Protocol Anatomy (example: reportDTCByStatusMask)
◆ PROTOCOL ANATOMY
0x19 READ DTC INFO
0x19 RESPONSE
DTC Status Byte
Each DTC has an 8-bit status field indicating its current state (Valid, Active, Confirmed, etc.). The most commonly checked bits are Pending (Bit 2) and Confirmed (Bit 3).
Retrieval Workflow

Decision logic for handling different retrieval sub-functions.
Workflow: Read DTCs by Status Mask
4 steps“Give me all Confirmed DTCs” (Mask 0x08).
Request
19 02 08> Read DTCs with 'Confirmed' bit set
Response
59 02 79 P0 12 34 2F ...> List of DTCs + Status 0x2F
“Give me Freeze Frame #01 for P01234”.
Request
19 04 P0 12 34 01> DTC P01234, Record 01
Response
59 04 P0 12 34 2F 01 [Data...]> Snapshot Data follows
Negative Response Codes
Error_Catalog