In this part, I will compile information, which is worth a closer look. Thank you to many participants of the BMW commune for questions!
Several times I encountered information, reported by BMW users: the shivering of the engine (also in idle, when it’s easier for DME to detect the misfires) can be felt, but misfire counters are 0.
We have to keep in mind several nuances:
- of course, misfire counters have to be checked after driving session, NOT TURNING off the engine. If the engine will be switched off, misfire counters of the actual driving session will be cleared, even long-term counters, which are recorded in the memory, can give a reading of 0 misfires;
- even for a perfectly working engine, in a longer period of time DME counts some events of a misfire. It can happen because of uneven roads or swifter change of driving conditions. Even, if not other obstacles, we have to keep in mind – each cycle of fuel ignition is unique, every time fuel burns differently. From several million times, when the fuel is burned, there, for sure, will be some time, which will be more different, and DME can indicate it as a misfire.
Misfire counters can indicate 0 in all conditions in the following cases:
- the software of DME has been changed. Sometimes, when ”specialists” are not able to find a real cause of the DME error messages of misfires (for example, an improper model of spark plugs installed, problems with injectors, NOx system; not re-adapted engine, etc.), “masters” prefer to turn off the misfire-detecting algorithms and deleting the appropriate error message from the error message map;
- OBD equipment doesn’t read misfire counters of the exact DME or doesn’t support OBD mode 6 at all.
If still (after driving session, not turning off the engine) all misfire counters are 0, the following test has to be performed:
- take off the decorative cover of the engine;
- turn on the engine;
- for several seconds, disconnect the connector of the ignition coil of any cylinder.
Check the misfire counters (not turning off the engine). The counters of the actual session of the appropriate cylinder have to be in several tenths or even hundreds of units.
Turn off and turn on again the engine. The misfire counters of previously “damaged” cylinder now have to be 0, but the intersection counter has to be 1/10 of the previously detected number of misfire cases (for example 5, if before 53 events of misfires have been identified).
If any group (or both) doesn’t indicate a misfire, it’s clear, that either DME or OBD equipment has problems with detection or indication of misfires.
The error message of DME has to contain the error messages regarding the misfire of this cylinder and also it’s disconnection (due to group misfires, if the cylinder was switched off by DME). If no such error messages exist (at least – first one) – restore the DME software and encoding/configuration to one, offered by the manufacturer.
Pay attention to the max values of misfire registers:
These values should be 65535. If these values are 0, that means: misfire counters are not available at this moment.
Such a situation happens if in near past diagnostics session using INPA/ISTA (EDIABAS) is performed and/or errors are erased. Disconnect PC (INPA/ISTA) and drive your car 5+ minutes. Check misfire counters again.
When using cheap EML327 adapters, some inconveniences should be tolerated.
What does it mean “cheap”? For example, the original ELM 327 chipset (based on Microchip 18F series MCU) costs around EUR 20. Accordingly – the adapter, which consists of the chipset, body, BT/WiFi/USB module, in no way can cost EUR 3 .. 5. It is clear that in such adapters, “analog” chipsets are used.
The alternative to the high-quality product is offered, for example, by the company Outfils from France. But also, in this case, there are no wonders – the adapter cost at least ten times more than the “simple” one, available on eBay.
Does it make sense to purchase an OEM adapter, if only misfire counters (rare enough) need to be read? If you are ready to tolerate some inconveniences – you may also use the cheapest alternatives.
Observed flaws of the cheap adapters:
- unstable BT and WiFi connection – the adapter has to be connected to the network for several times;
- unstable reading of the data – data should be read several times.
When checking the data, make sure that:
- min values of all counters of all cylinders are 0; max values are 65535;
- all values of the counters are shown.
If at least one of the conditions is not fulfilled, read the data repeatedly.
Pay attention to the structure of the data:
- before misfire counters is a record, which starts with TID $81 and max value 5000;
- misfire counters consist of an even number of entries, 2 for each cylinder; max values 65535.
- for N43 series engines, the output is 2 X 4 = 8 misfire counter lines;
- for N53/N54/N55 series engines, the output is 2 X 6 = 12 misfire counter lines;
- for N62/N63/S63 series engines, the output is 2 X 8 = 16 misfire counter lines.
An example. N53 series engine.
With red, the line TID $81 is marked, after which 12 misfire counter lines should follow. Unfortunately, in the image, you see only 11 (!) lines. Obviously, the last line of data – (long-term) misfire data of cylinder No.6 between sessions – is not available.
Accordingly, if the data identification is started from the end, all data are read entirely incorrect! Pay attention when interpreting the data.
Example 2. N43 series engine.
As we see, an ”extra” data line appeared. This could be the glitch of the adapter or DME (current release of software) itself. Which one is fake – the first or last one? How to act?
1. Read data several times, compare results;
2. save data, restart the engine, read data repeatedly. Check counters – which ones are cleared (these are counters of a current driving session), which ones – divided by 10 and summed with old value (these are long term counters);
3. remove the protective cover; start the engine; disconnect ignition coil of 1st cylinder for few seconds and check misfire counters. Register with significantly increased value (hundreds) will confirm 1st cylinder/current driving session register.