Overview
The UDS service set
UDS defines a uniform set of services identified by 1-byte codes: 0x10 DiagnosticSessionControl, 0x11 ECUReset, 0x14 ClearDiagnosticInformation, 0x19 ReadDTCInformation, 0x22 ReadDataByIdentifier, 0x23 ReadMemoryByAddress, 0x27 SecurityAccess, 0x2E WriteDataByIdentifier, 0x31 RoutineControl, 0x34 RequestDownload, 0x36 TransferData, 0x37 RequestTransferExit, 0x3E TesterPresent, 0x85 ControlDTCSetting, 0x28 CommunicationControl, and a few others.
ReadDataByIdentifier (0x22)
The most-used UDS service. Reads a single Data Identifier (DID) from a target ECU. Live data DIDs, the VIN DID (F190), and the fault-memory DIDs are all read with 0x22.
SecurityAccess (0x27)
Gates write operations behind a seed/key challenge. The DME returns a seed, the client computes a key, sends it back, and the DME unlocks write services. Coding and some service functions require SecurityAccess first.
RoutineControl (0x31)
The standard UDS service for invoking service functions. CBS reset, battery registration, DPF regeneration, and EGS adaptation all use 0x31 with a routine ID.
DTC handling
0x14 clears DTCs. 0x19 reads DTCs by status mask. Beemuu uses 0x19 sub-function 0x02 to read all DTCs with their status bytes.
Negative responses
When a request fails, the target returns a negative response with the format 0x7F + service ID + negative response code (NRC). Common NRCs: 0x12 (sub-function not supported), 0x14 (response too long), 0x22 (conditions not correct), 0x31 (request out of range), 0x33 (security access denied).
FAQ
What is UDS?
Unified Diagnostic Services, ISO 14229. The modern diagnostic protocol used on F/G-series BMWs and most newer vehicles.
Is UDS BMW-specific?
No, UDS is a generic ISO standard. Every modern car uses it; BMW uses the same standard services as every other manufacturer.
What is the difference between UDS and KWP2000?
UDS supports larger data blocks via ISO-TP segmentation, security access for writes, and a richer service model. KWP2000 is single-frame, 1-byte local IDs, no security access. The F-series moved to UDS to support these features.