12C801 is the MSD87 DME error message regarding the mismatch of the indications of the Lambda probes. DME has detected a mismatch between indications of the “basic probes” (2pcs of wideband probes and 2 pcs of control probes) and the fuel mixture proportion, reported by the NOx sensor. 

Conditions and causes of recording the error message – more info read here.

The main problems arise, trying to identify the damaged parts. At least in one-half of cases, the NOx sensor is not to be blamed – it works correctly. When (if) the NOx sensor is damaged, it has to be understood what can cause its damages. Yes, the OEM NOx sensor is very fragile; it is easy to damage it. The NOXEM uses the most robust probe available in the market: Bosch Motorsport edition. These probes serve for a long time unless some strong obstacles are damaging the probe. 

To “make the life easier” to the diagnostics specialists, for the F series BMW AG has hidden a series of data, which could be very useful:

a. the data of the NOx sensor can not be seen: nor Lambda linear, nor Lambda binary, nor Offset value in Overrun mode, neither status of the sensor;

b. minimal number of the attributes in the error message freeze-frame are available;

c. even the Integrators (STFT) can not be seen – the specialist has no basic info, how the DME “handles” the maintenance of the fuel mixture;

d. limited information regarding misfire data, etc.

All previously mentioned direct the diagnostics to more general jobs:

a. make sure that the misfires are not present. Use only high-quality fuel; don’t drive till the fuel tank is completely empty; only high-quality components should be used for the ignition system (NGK/Bosch ignition coils; NGK/OEM spark plugs); spark plugs should be replaced regularly (after each 30.000 km);

b. pay attention, as soon the permanent vibration in idle (especially – during cold start) or while driving with increased required torque could be felt. Permanent vibration means problems of the injectors, typically – the leaking of the injectors in closed position or problems with the atomization of the injected fuel;

c. of course – if there are problems with HPFP; LPFP; Lambda probes (any error messages regarding them); the error messages regarding trim of probes; fuel mixture, etc. – these basic problems should be eliminated at first! After repair, the engine should be re-adapted, and only after that – check, if the 12C801 is/is not recorded repeatedly. Additionally – it has to be checked if the engine uses a Stratified charge. If not – eliminate problems due to which the Stratified charge is turned off;

d. if 12C801 is recorded in idle, pay additional attention to the airtightness (air suction in the connection places or any other mechanical defects) of the exhaust system and the injectors’ adaptation data (../F5/F9). Leaking injector(s) can cause Lambda’s sufficient offset from the correct value to record the 12C801 error message.