Hey guys,
Does anyone know where to find the offset/values to disable the cat heating sequence?
I found this related to SAP delete on m3forum.net using Wayback Machine
I'm now looking to know how to delete the cat heating sequence, as my car starts and runs rough since I removed the cats for the first 5-10 seconds, then quiets down.
Does anyone know where to find the offset/values to disable the cat heating sequence?
I found this related to SAP delete on m3forum.net using Wayback Machine
I'm now looking to know how to delete the cat heating sequence, as my car starts and runs rough since I removed the cats for the first 5-10 seconds, then quiets down.
This howto will explain the relatively simple procedure of disabling the secondary air pump and its associated DTCs.
The first thing to understand is where to find the configuration values for these variables within your DME. To do this, you MUST know what version your DME is. Please see this thread about how to make that determination.
The next step is to set both K_SLS_UB_MIN and K_SLS_UB_MAX to the same voltage values, sufficiently high that they're never reached in any normal circumstance. These values are sequential; thus, the offset given is the start of K_SLS_UB_MIN. Another bit that can be set is the K_SLS_OBD. Typically, it is set to 1, which reports the condition via OBD. Setting this to 0 will instruct it to remain quiet.
Typically, the following code will be seen (E46 M3), the byte in BLUE represents the K_SLS_OBD switch, and the bytes in RED represent the K_SLS_UB_MIN and K_SLS_UB_MAX values respectively:
01 FF 04 B0 5F AA
Typically, the following code will be seen (E39 M5) with the same colour designations:
01 FF 04 B0 64 96
To get the voltage value, convert the hexadecimal value to decimal, then divide it by ten, thus, for all commonly found values:
0x5A = 90 / 10 = 9.0 V
0x5F = 95 / 10 = 9.5 V
0x64 = 100 / 10 = 10.0 V
0x96 = 150 / 10 = 15.0 V
0xA0 = 160 / 10 = 16.0 V
0xAA = 170 / 10 = 17.0 V
To prevent the SAP from starting, simply set these values to a sufficiently-high number. 18.5 V is a popular suggestion from SliM3 and has been confirmed, thus:
18.5 * 10 = 185 = 0xB9
So, rewrite the string with the following two bytes changed:
01 FF 04 B0 B9 B9
If you plan to fully disconnect your Secondary Air Pump, you'll also need to delete DTC 0xAA. Please see this thread for information regarding DTC suppression.
In addition to the modification of the K_SLS_UB_MIN and K_SLS_UB_MAX values, the K_SLS_OBD value can also be easily disabled. This is performed by further modifying the string as follows by changing the '01' to '00':
00 FF 04 B0 B9 B9
For reference, the block-off plate part number is 11121438086, its accompanying gasket is 11727514860.
The first thing to understand is where to find the configuration values for these variables within your DME. To do this, you MUST know what version your DME is. Please see this thread about how to make that determination.
The next step is to set both K_SLS_UB_MIN and K_SLS_UB_MAX to the same voltage values, sufficiently high that they're never reached in any normal circumstance. These values are sequential; thus, the offset given is the start of K_SLS_UB_MIN. Another bit that can be set is the K_SLS_OBD. Typically, it is set to 1, which reports the condition via OBD. Setting this to 0 will instruct it to remain quiet.
| 211321000502 | MSS52 | 0x74B4 | 0x74B8 | 9.0 V | 16.0 V |
| 211321000901 | MSS52 | 0x74B4 | 0x74B8 | 10.0 V | 15.0 V |
| 211321001301 | MSS52 | 0x74C4 | 0x74C8 | 10.0 V | 15.0 V |
| 211321001401 | MSS52 | 0x74C4 | 0x74C8 | 10.0 V | 15.0 V |
| 211321001501 | MSS52 | 0x74C4 | 0x74C8 | 10.0 V | 15.0 V |
| 211321001601 | MSS52 | 0x74C4 | 0x74C8 | 10.0 V | 15.0 V |
| 211321001701 | MSS52 | 0x74C4 | 0x74C8 | 10.0 V | 15.0 V |
| 211322000701 | MSS54 | 0x7506 | 0x750A | 9.0 V | 16.0 V |
| 211322000901 | MSS54 | 0x75C6 | 0x75CA | 9.5 V | 17.0 V |
| 211322001101 | MSS54 | 0x75E6 | 0x75EA | 7.0 V | 17.0 V |
| 211322001301 | MSS54 | 0x75C4 | 0x75C8 | 7.0 V | 17.0 V |
| 211322001501 | MSS54 | 0x75D4 | 0x75D8 | 9.5 V | 17.0 V |
| 211322001701 | MSS54 | 0x75D4 | 0x75D8 | 9.5 V | 17.0 V |
| 211322002101 | MSS54 | 0x75D4 | 0x75D8 | 9.5 V | 17.0 V |
| 211322002401 | MSS54 | 0x75D4 | 0x75D8 | 9.5 V | 17.0 V |
| 211322002601 | MSS54 | 0x75D4 | 0x75D8 | 9.5 V | 17.0 V |
| 211322002801 | MSS54 | 0x75D4 | 0x75D8 | 9.5 V | 17.0 V |
| 211323001601 | MSS54HP | 0xC100 | 0xC104 | 9.5 V | 17.0 V |
| 211323001801 | MSS54HP | 0xC100 | 0xC104 | 9.5 V | 17.0 V |
| 211323001901 | MSS54HP | 0xC100 | 0xC104 | 9.5 V | 17.0 V |
| 211323002001 | MSS54HP | 0xC100 | 0xC104 | 9.5 V | 17.0 V |
| 211323002301 | MSS54HP | 0xC100 | 0xC104 | 9.5 V | 17.0 V |
| 211323002501 | MSS54HP | 0xC100 | 0xC104 | 9.5 V | 17.0 V |
| 211323002701 | MSS54HP | 0xC100 | 0xC104 | 9.5 V | 17.0 V |
| 211325000301 | MSS54HP {csl} | 0xC100 | 0xC104 | 9.5 V | 17.0 V |
| 211325000401 | MSS54HP {csl} | 0xC100 | 0xC104 | 9.5 V | 17.0 V |
01 FF 04 B0 5F AA
Typically, the following code will be seen (E39 M5) with the same colour designations:
01 FF 04 B0 64 96
To get the voltage value, convert the hexadecimal value to decimal, then divide it by ten, thus, for all commonly found values:
0x5A = 90 / 10 = 9.0 V
0x5F = 95 / 10 = 9.5 V
0x64 = 100 / 10 = 10.0 V
0x96 = 150 / 10 = 15.0 V
0xA0 = 160 / 10 = 16.0 V
0xAA = 170 / 10 = 17.0 V
To prevent the SAP from starting, simply set these values to a sufficiently-high number. 18.5 V is a popular suggestion from SliM3 and has been confirmed, thus:
18.5 * 10 = 185 = 0xB9
So, rewrite the string with the following two bytes changed:
01 FF 04 B0 B9 B9
If you plan to fully disconnect your Secondary Air Pump, you'll also need to delete DTC 0xAA. Please see this thread for information regarding DTC suppression.
In addition to the modification of the K_SLS_UB_MIN and K_SLS_UB_MAX values, the K_SLS_OBD value can also be easily disabled. This is performed by further modifying the string as follows by changing the '01' to '00':
00 FF 04 B0 B9 B9
For reference, the block-off plate part number is 11121438086, its accompanying gasket is 11727514860.

Comment