First part of this entry read here.

In this entry – a summary of the information regarding (at least one) cause of this problem and (at least one) solution.


The problem affects
BMW vehicles with N43 series engines with the configuration of 3 Lambda probes (2 pcs of Lambda probes before CO catalytic converters and one control probe, common for both banks).


The essence of the problem
DME records the error messages regarding the control probe of the 2-nd bank (2C6C and 2C7F).
Note: these vehicles DO NOT have a control probe of the 2-nd Bank, and the common control probe responds as the probe of the Bank 1.
After the recording of the error message, DME continues to work in a heavy limp mode. DME does not perform the adaptations of the throttle, adaptations of the fuel mixture of the banks; do not perform the measurements of the chemical efficiency of the injectors in Homogeneous mode; does not perform a lot of other service procedures. The fuel mixture in cylinders is incorrect; the exhaust (CO catalytic converters) are overloaded; misfires start to appear; the engine starts to shiver; the idle is unstable; loss of power is noticed and increased content of CO/HC emissions in the exhaust appears.


Cause of the problem
Fundamental errors (bugs) in the software of the DME. Unfortunately, even the last software releases, intended for, for example, PG31/PG32, contain these errors. Accordingly, the software upgrade to the last release of the software will not help. You can try some older software releases. You can try releases intended for other FR. Unfortunately, the defect is not so common that there would be complete info regarding all defective releases – correctly performing releases are not known.


Preconditions for the problem to get exposed

  1. some troubles with a fuel mixture (for example, leaking of the injectors, problems with HPFP, air sucking of the intake manifold or exhaust), misfires, etc., which leads to the requirement of DME to urgently perform the trim operation of the wideband probes;
  2. the fuel, getting in the exhaust as a result of incorrect fuel mixture (problems, mentioned in No.1), poisons the probe of the NOx sensor. In the Nernst cell of the probe of the NOx sensor, the leakage current increasing, which results in incorrect (strongly increased) reported Lambda linear and (lowered) Lambda binary value;
  3. in the next driving session: after deleting the error messages; or – after solving the problems with fuel mixture and/or misfires and deleting the old adaptations/in the process of creating new adaptations (the engine re-adaptation procedure is performed):
    a. during the stage of the engine warming up (reaching 60 .. 65 oC), DME switches on the Stratified charge (the engine works in full-functionality mode);
    b. reaching all conditions to switch the NOx sensor Online (engine t; exhaust t; t of the probe of the NOx sensor; time delay to avoid the condensate), DME gives the command to switch on the NOx sensor;
    c. when the NOx sensor switches on (it warms up its probe, switches to Online mode, starts to send live data), DME sees that the Lambda value, reported by the sensor, goes outside the allowed corridor. DME records the error message 30DE regarding the correlation of the Lambda value and switches off the Stratified charge.

Note: potentially the same issue can be provoked if there are other errors stored relating to the NOx sensor (30E2; 30E4; 30E6; 30DA, 30DC, etc.).
Till this moment, the action of the DME corresponds to normal. At this moment, the gross errors, mentioned in the description of the problem, start to appear.
If in the status bits of the DME the necessity to immediately trim the wideband probes is recorded, this operation is performed as soon the DME has switched to the Homogeneous mode. Preconditions: even driving conditions (60+ km/h); no other problems in the DME.
Already from the first seconds of the procedure, we see that it is performed completely wrong.
At the first stage, DME creates a lean fuel mixture in both banks successively, starting with the first bank:


If all Lambda probes are in working condition, the control probe of the 1-st bank (the real one) indicates the correct – lean fuel mixture (its voltage is below 0.10V).
Note: the control probe of the 2-nd bank (non-existent – unused DME ADC input) indicates RICH fuel mixture (it means its voltage is above 0.80 .. 0.90V).
After a short moment, DME enriches fuel mixture in both banks successively:

The control probe of the 1-st bank indicates an appropriate – rich fuel mixture (its voltage is above 0.80V), but the virtual – 2-nd probe – LEAN fuel mixture (its voltage is 0.00V).
Note. The indication of 0.00V of the control probe means – it has a short-circuit on GND. Cause: the Nernst (internal) resistance of the control probe is not 0 Ohm, but several hundreds of Ohm. The DME input via R (resistor) is connected to the Reference voltage source 0.42V (this Reference source is used to check the short-circuit of ADC input and connection of the probe). The current, which flows via this R, even in case completely lean fuel mixture, creates a slight offset of U (voltage), and the voltage, measured by the DME, will be at least 0.02V. Accordingly – the correct value of the control probe signal can not be 0.00V!
Sometimes DME “goes even further”: for a moment, it creates a lean (with Lambda till 1.20 .. 1.25) and rich (with Lambda till 0.75 .. 0.80) fuel mixture in both banks. Also, in this test stage, the real probe reports the appropriate fuel mixture, but the virtual probe – the opposite (inappropriate)!
After this procedure, DME records 2C6C un 2C7F error messages in the error message memory – they refer to the control probe of the 2-nd bank. Additionally, in the attributes of the 2C7F, the indication of 0.00V is visible:

It seems that DME does not see the indications of the control probe at all! Or – when performing the trimming of both wideband probes, so significantly mixes indications of true (and – correct!) data of the real probe with the indications (additionally: incorrect indications) of the non-existing probe, that it is not able to perform correct trimming of the 1-st bank! The trimming of the wideband probe of the 2-nd probe ends with a complete crash.
So significant differences of the fuel mixture from the correct one (Lambda 1.00) are not normal! They give an additional load to the exhaust (CO catalytic converter), repeatedly poison the NOx probe, not allowing it to get “well”.


Actions, which were taken, to prevent this software bug

  1. The newest software release was recorded. Unsuccessfully.
  2. After a software upgrade, for the current vehicle suddenly the error message 2AF3 (incorrect coding) appeared, rewriting of the encoding in the DME and related ECUs was performed. Unsuccessfully.
  3. All memory sectors were forcibly rewritten, using WinKFP. Unsuccessfully.
  4. Previous software release was tried. Unsuccessfully.
  5. DME and CAS were taken from another vehicle, the last software release was flashed, and the encoding, appropriate to the current vehicle, was updated. Unsuccessfully.

At this moment, a desperate step was taken – as if incompletely connected obstacles, which could provoke this problem, were prevented. I decided to prevent all other/still left problems with the engine. Idea: the engine, which runs without error messages (and – with correct signals of all sub-systems/sensors), will be at least minimally tested, and it should be able to perform correctly. The only problem which was left: the inappropriate readings of the Lambda of the NOx sensor.
The NOx sensor was replaced with another one: a new one, which reports a correct Lambda.
At the next driving session, after starting the engine, DME performed similarly: after running for a minute or two in Stratified charge, it switched to the Homogeneous mode to perform the trim operation of the wideband Lambda probes.
And yes, this time, the trim operation was successfully completed during 15 .. 20 seconds! An interesting nuance – at this time, the indications of the virtual probe corresponded to the fuel mixture!
It seems that the BMW engineers have made the modifications in other sections of the software (not connected with a NOx system management) and haven’t even performed a basic check of the functionality and debugging. Unfortunately, since the Year 2012, BMW has already stopped the updates for this current DME software.
Here, one more fundamental reason why the NOx system should be in working order! Problems of the NOx sensor can be the reason for a complete crash of the fuel mixture, unavoidable and even illogical error messages regarding the performance of the Lambda probes, with time – overloaded and damaged CO catalytic converters, the impossibility to pass the TI. Of course – the replacement of the Lambda probes will not give any results. As usual (according to the information from the customers), after the replacement of the probes, the services will offer to replace the injectors, HPFP – all possible expensive parts, not giving any warranty for the result.
Unfortunately, in case of this problem, the scenario “clean the contaminated probe of the NOx sensor while driving” will not work because DME works so incorrectly that the probe of the NOx sensor (and also other probes) will be repeatedly and regularly contaminated with a huge leftover of the fuel. So the only repair strategy – immediate replacement of the NOx sensor (or its probe), at the same time taking care to avoid all problems with the injectors, HPFP, and other systems, which can cause damages to the probes.