Skip to content

DTC Deletion Strategies

saildot4k edited this page Mar 12, 2020 · 11 revisions

Engine Swap DTC XDFs utilize Method 2, which are found in MSS54-XDFs/Engine Swap XDFs/ Reference DTC Spreadsheet here for Decimal and Hex Error Numbers and naming

Example DTC String: AA 01 01 01 01 01 01 00 01 02 03 28 01 FF

The first byte AA is a hexadecimal value, which can be converted to decimal 170. Some diagnostic software reports one or both of these values, which again you can use the above preadsheet here to reference which error you are looking to suppress or fix.

METHOD 1: The first method to suppress a DTC, and coincidentally also the easiest, requires only a simple modification of the DTC string by replacing the 13th byte with '00':

String:AA 01 01 01 01 01 01 00 01 02 03 28 00 FF

METHOD 2: The second method is to actually zero out the entire 14-byte string:

String:00 00 00 00 00 00 00 00 00 00 00 00 00 00

METHOD 3 (untested): The third method is to perform a hybridization of the previous two by zeroing out the first and 13th bytes of the 14-byte string:

String:00 01 01 01 01 01 01 00 01 02 03 28 00 FF

METHOD 4 : The fourth method is to substitute the following string for the entirety of the original string, exactly as has been done within other OEM binaries for OEM suppressed codes:

String:00 28 28 03 02 03 02 00 01 02 03 28 00 FF

Regardless of which method you employ, the DME's errors must be cleared after reflashing the DME with the updated binary.

Note that the important byte (suffix) immediately preceding the 'FF' cap has been observed to be only one of the following 13 codes, possibly dealing with the grouping of function:

Suffix Function Group
0x00 disabled
0x01 enabled/general
0x02 enabled/?
0x03 enabled/?
0x05 enabled/?
0x09 enabled/CAN External to DME
0x23 enabled/CAN?
0x25 enabled/sensor
0x27 enabled/general
0x2D enabled/DME Internal
0x2F enabled/EGAS
0x34 enabled/EWS, immobilizer
0xA5 enabled/misfire

MSS54HP CSL NOTE: many DTCs are disabled by default from BMW.