E46 Fanatics Forum banner
1 - 8 of 8 Posts

·
Registered
Joined
·
6 Posts
Discussion Starter · #1 · (Edited)
Hi all,

I would like to gather technical information in this thread, that could help out others. Hopefully it is deemed interesting enough to be added to a sticky collection in the README section.

This thread might be of interest for anyone wanting to dig deeper into OBD2 diagnostics.
Background information: OBD2 has 10 different scan modes. Each of these modes encompasses one of the basic functions of OBD2. Modes 2-4 are used for reading out and clearing DTC's (diagnostic trouble codes), and are probably the most often used by any scan tool capable of reading and clearing fault codes. But, beyond reading fault codes, which are set by the engine computer when certain conditions are met and an error has been present for a minimum amount of time, there are many situations where either there is no fault code (yet), or the fault code does not tell the whole story of the problem. In these cases, some of the other modes of OBD2 can be used to gain more information:

  • Mode $01: Read live data
  • Mode $05: Oxygen sensor monitoring test results
  • Mode $06: Test results for on-board monitoring of specific components

Mode 1 is also used very often by less simple scan tools that can read out and/or plot live engine data, such as fuel-trims, engine speed and oxygen sensor voltage for example.

Mode 5 is less frequently used, but is supported by many scan tools and can be helpful in diagnosing oxygen sensors.

Finally, mode 6 is what this thread is all about :
This mode is usually manufacturer-specific, and if a scan tool supports it, it will only give some cryptic numbers without any explanation. The information given in this mode is presented as a main category called Test ID, or TID in short, and subcategories called "Component ID" or CID. Each combination of TID and CID amounts to a single on-board test with a result expressed in optionally a minimum, maximum and measured value, as well as an indication whether the test passed or failed.
Unfortunately though, the meaning of each TID and CID number is often not known and certainly BMW does not seem to make this information public. Nevertheless, I recently discovered that the Land Rover Freelander, first generation with a V6 petrol engine happens to use the same DME as the M54 engines from BMW. In fact, BMW apparently helped with the re-design of that engine. The DME is the MS43 from Siemens, and there is a document floating around, which describes mode $06 diagnostic information for the V6 engine from Land Rover:
Land Rover-Freelander 2005 Siemens MS43.pdf

Taking what we already know of OBD2 mode 5, the MS43 and the M54 engine, we can complete the list as follows:

  • TID $01: Catalyst conversion efficiency:
    • CID $01: Catalytic converter bank 1
    • CID $02: Catalytic converter bank 2
  • TID $02: Oxygen sensor tests: (This data is related to mode $05?)
    • Bank 1:
      • CID $01: Rich to lean sensor switch time (?) Bank 1 Sensor 1 in ms (?)
      • CID $02: Lean to rich sensor switch time (?) Bank 1 Sensor 1 in ms (?)
      • CID $03: (could be the same as CID $01 for Sensor 2??)
      • CID $04: (could be the same as CID $02 for Sensor 2??)
      • CID $09: Time between sensor transitions??
      • CID $30:
      • CID $31: (same as CID $09 on older DME software?)
    • Bank 2:
      • CID $05: Rich to lean sensor switch time (?) Bank 2 Sensor 1 in ms (?)
      • CID $06: Lean to rich sensor switch time (?) Bank 2 Sensor 1 in ms (?)
      • CID $07: (could be the same as CID $05 for Sensor 2??)
      • CID $08: (could be the same as CID $06 for Sensor 2??)
      • CID $0a: Time between sensor transitions??
      • CID $32:
      • CID $33: (same as CID $09 on older DME software?)
  • TID $03: Secondary Air Injection
    • CID $05:
    • CID $06:
  • TID $04: Not available (EGR)
  • TID $05: EVAP system
    • CID $07:
    • CID $08: EVAP Canister Purge Valve flow delta-rpm
    • CID $09:
    • CID $12: DMTL (Leak diagnosis pump) error - min Iref
    • CID $13: DMTL (Leak diagnosis pump) error - max Iref
    • CID $14: DMTL (Leak diagnosis pump) error - Plausability Ip
    • CID $15: Large Leak Finished
    • CID $16: Small Leak Finished
    • CID $17: DMTL (Leak diagnosis pump) error - signal Ifluc
    • CID $18: Extra Large Leak Finish Result
  • TID $06: Oxygen sensor heating
    • CID $01: Heater time(?) Bank 1 Sensor 1
    • CID $02: Heater time(?) Bank 2 Sensor 1 ?
    • CID $03: Heater time(?) Bank 1 Sensor 2 ?
    • CID $04: Heater time(?) Bank 2 Sensor 2
  • TID $07: Not available (catalyst heating)
  • TID $08: VANOS (I have no data for this yet)

In this list, I have placed question marks on items that I am unsure of. There are still many voids in this list, if anybody knows some more to fill this list, please post below.
I would like to see some mode $06 data from other scan tools. I only have results from OBD fusion so far, but I suspect that OBD fusion wont go past TID $07, so I am missing VANOS test data, which could potentially be quite interesting.

I hope this helps someone.

Best Regards,
 

·
Premium Member
Joined
·
28,908 Posts
yope,

Hello in The Netherlands, I did a few years in Scheveningen and Den Haag while working near the War Crimes Tribunal. An interesting place I might say.

I saw your other post where you found and shared the Land Rover document and glanced at it but I have been and will continue to be busy for the next few weeks so not sure I can add much here now.

You are correct that BMW was/is involved with the Land Rover drivetrain and other portions of the vehicle as well as Siemens. I believe this is the case with Mini and I am pretty sure Rolls Royce. So this allows some gathering and searching for date on the other brands.

A few comments about the Land Rover data, while I believe BMW did a lot of the programming and integration, a quick glace appears there are a number of differences on how codes are triggered, what some of the codes are and so forth. So be careful how you cross pollinate the data, it may not be able to be sent across as 100% identical.

While I have studied Mode $06 and other Mode data, I had not really dug too deep for Mode $06 data because ALL manufacturers seem to keep this data very tightly under their control. You may be able to gain access to it with HUGE annual licencing fees that a DIY'er and even smaller companies are not willing to pay for. Even when with access to some of the manufacturer data, often the end result is not as exciting and useful as you may have thought it was.

I think OBDII as a whole is a VERY powerful system that have been implemented and operationally unchanged for over 20 years and its roots started 25-30 years ago. Few technologies last more than 5 years these days! OBDII also walks a fine line about alerting the driver of problems and not "Over" alerting or "Crying Wolf". The system is not almost universally used for most US State Vehicle Emission Inspection or SMOG programs. This says a lot about the trust and accuracy of the system. At least the majority of the original DTC's/MIL lights would be triggered when a fault was detected that would raise the vehicles emission output to 1.5 times the vehicles expected nominal emission output level per the US EPA. There may be a wider range to this threshold because I would expect each vehicle to have a "window" the Emissions would be required to be held within.

I think some further testing will be required to see if the Land Rover data is 100% identical to the BMW data. This could be performed by taking a fairly good running E46 and then disconnecting a single O2 sensor and driving the car and watching the Mode $06 data and seeing if the CID matches what you expect the CID to be. Unfortunately my E46 is 1100 miles away and I do not expect to be hands on with it anytime in the next few years. If I have time, I may have access to others I can play with.

As for OBDFusion, it is a good tool, there may be other more powerful tools, but I an not sure OBDFusion will short change you by much. You mentioned that you did not think OBDFusion would read past Mode $06, it may or may not. Often the limitation is actually the DME and the data it presents. Again, it I have time, I will look at my other newer BMW's and see what info I get from OBDFusion and my long list of Prosumer and Professional scan tools I have on hand.

While this information can and will probably help offer more insight to issues, I can tell you this much. I have never been very impressed with any vehicles ability to properly monitor O2 sensors. I have a good friend that works for Mazda Corporation and we talk often and even as of 2017 models they are having trouble detecting engine misfires and O2 sensor behavior. This is not an easy rope for the Engineers to walks on without falling off easily. I find that the majority of O2 sensor codes are for open heater elements, I RARELY find a code or clue to a lazy or degraded O2 sensor. Open heater elements are like finding burned out light bulbs, they are blatantly obvious.

I find for at least standard 4 wire "Narrowband" O2 sensors, Logging their cold start behavior is the most effective way to flag and fail lazy/degraded O2 sensors. Also keep in mind O2 sensors are "consumable" and operate in a very hostile environment and under very severe conditions. They do not last forever and for standard 4 wire "Narrowband" O2 sensors most manufacturers recommend 100k mile replacement interval unless there is a problem prior to this. For the 5-6 wire "Wideband" O2/Lambda sensors most manufacturers extend the suggested replacement interval to 125k mile or in some cases to 150k mile replacement interval.

"Wideband" O2/Lambda sensors are much more difficult to diagnose and/or to determine if they are lazy/degraded. This is where the Mode $06 data may be more useful.

I see you are new here, so not sure how much searching and digging you have done, but here is a thread where I took Logged data from the same vehicle with before and after O2 sensor data and then graphed the original degraded sensors and overlaid the new replacement O2 sensors so you can visually see how different the sensor performance actually was. This will hopefully give some members an incentive to quit waiting for the DME to trigger a code for a lazy/degraded O2 sensor because it is not going to happen, the vehicle this graph was from had no O2 sensor relatedt trouble codes but as I recall there were some other trouble codes that we were dealing with, most likely for the SAP system. O2 sensors need to be replaced and 100k mile service interval is not a bad time to replace O2 sensors. I deal with problems cars DAILY that have 150-250k+ miles and they are still operating on the ORIGINAL O2 sensors. These are the cars I inform the customers that the O2 sensors will be replaced before we move too much further forward. I often laugh after I inform customers that once fresh/active O2 sensors are installed, be prepared for more instances of the SES/CEL/MIL because fresh sensors have an easier time sniffing out problems.

See this thread link for a classic before and after of original vs replacement O2 sensors.

http://e46fanatics.com/forum/showpost.php?p=16237779&postcount=34

Anyway keep up the searching, check out Mini & Rolls Royce. PM me with questions and if I have anything to add, I will forward the info or post here.
 

·
Registered
Joined
·
6 Posts
Discussion Starter · #3 ·
Hi jfoj,

Thanks a lot for this enormous reply!
I know that mode $06 is probably a sort of wildcard place to put all sorts of diagnostic info that doesn't fit elsewhere, and since it is not required to be public, manufacturers can modify and (mis-) use their contents to their liking. I don't expect miracles from it, but I have found myself in situations that regular OBD2 functions don't give enough useful information and every bit extra might help find the source of an issue without blindly throwing parts at it. Also, the more "mysteries" to solve about our beloved E46's, the better, right?

Ok, the reason that I believe the information in the Land Rover manual may be accurate enough and useful is that it mentions mode $06 TID's that are clearly for a different engine, and not for Land Rover. In fact, TID $08 is described as "VANOS, not present". AFAIK, "VANOS" is the name only BMW uses for their variable valve timing technology. What this tells me (and that is something very common among ECU and control electronics designs), is that Siemens, BMW and Land Rover are using the same TID/CID dictionary for all MS43 applications at least to some extent. Why would they not reuse the same layout? I am an ECU designer myself, and I would do it like this certainly. In fact I do, although I have not specifically designed automotive ECU's nor really used the OBD2 standard, re-use of protocols (even strictly for internal use) is somewhat of a golden rule to follow.

Your idea of trying out and testing this theory by disconnecting things and seeing the impact is good. I will do that if I have some time. Although we should be aware that there is no information as to when the ECU performs these tests, and many of them might not be continuously monitored. That means that after changing something, we need to see how to trigger a re-test before we can validate a result (or lack thereof).

Why do I think OBD-fusion might not read past TID $07? Not sure, I would expect there to be more, as the information in the Land Rover document suggests. That's why I want to try with other tools to see if there really is more. The list of available TID's is encoded in the bits of TID $00, and if you would (for instance) only look at byte 0 of the data you get back, you would only ever read TID's 1...8. Up to TID $06, the list matches with the document. Let's see if we can find out more, and I'll update this post.

Also, I have seen that different software versions of the MS43 have a slightly different set of TID/CID's reported. The list I am curating includes all TID/CID's I have seen so far, so some may not be reported by any given car.

And yes, you are right that I have not posted much here, but I am certainly not that new. I have been reading lot's of posts for the last 1.5 years now. I will participate more in the future I guess... if I have something to contribute ;)

Best regards,
 

·
Premium Member
Joined
·
28,908 Posts
I agree that more info may be useful, but be careful, sometimes more info is not always the best thing to be presented with if a person does not understand how to filter and apply the information.

I assume you understand that every manufacturer has "Proprietary" DTC's/codes that a generic OBDII tool will not read and display. These manufacturer proprietary codes will not typically trigger the SES/CEL/MIL and require a tool or software that can interrogate the manufacturer proprietary codes. I have been dealing with OBDII since its inception and I can tell you that OBDII provides plenty of good data if you understand how to correlate what has been provided to you and also understand that about 80% of the time if a sensor is listed in the DTC definition, the sensor is often not the problem. This is because OBDII monitors both the "sensor" and the "circuit". There are actually more "circuit" related code per sensor then sensor related codes per sensor if this make sense.

I find OBDII is usually more than adequate to resolve engine fuel system management problems, often it helps if the DTC definitions are re-written so the emphasis is more obvious.

For example take DTC P2231

Carefully note the P2231 error description "P2231 - O2 Sensor Signal Circuit Shorted To Heater Circuit (Bank 1, Sensor 1).

Unfortunately too many people, even professional mechanics, have blinders on when they see a DTC (Diagnostic Trouble Code) and fail to READ the complete and full description of the DTC. Let me clarify a bit. Most people would read and interpret the P2231 codes like this, "O2 Sensor (Bank 1, Sensor 1) and immediately jump to replacing the O2 sensor!

What they should really focus on is this part of the DTC description "Sensor Signal Circuit Shorted To Heater Circuit". Let me re-write the description to make things appear in a different order and change the emphasis.

"Sensor Signal Circuit Shorted To Heater Circuit, O2 Sensor (Bank 1, Sensor 1).

Does this look like a very different description??

This is not made any easier by people that are non native English language speakers and/or when language translations are used.

So I often suggest that people re-write the DTC definition to change the emphasis to then see if the direction of focus changes.

Some of this Mode $06 information may be buried deep in the OBDII protocol documents or standards as well. For the E46 I believe this is ISO 9141, later models moved to a more standardized CANbus protocol.

These links should be checked into if you have not found them. For example you see see a listing of definitions for GM models that may help to decipher some of what you have found.

https://www.obdautodoctor.com/scantool-garage/using-obd2-mode-06-for-advanced-car-diagnostics

https://service.gm.com/gmspo/mode6/

Most of Mode $06 seems to be for covering the Emission Readiness Monitors. I do and have almost always glanced at this date when working on problem cars. I do not rely heavily on it, but use it more as guidance to what else may be going on in the big picture of things. Often if there are errors in Mode $06, the Emission Readiness Monitor process may be stopped.

Anyway, this will likely be interesting as some of this info is deciphered in more detail. Will it be more helpful in the long run, I guess this will be determined, but most vehicles repaired for the past 20 years did not use or require this data and I do not think it is a game changer, but it could be helpful in certain situations.

I am not so sure fully understanding Mode $06 is the Holy Grail to moving forward, but a better understanding may be helpful.
 

·
Registered
Joined
·
1 Posts
Hi all,

I would like to gather technical information in this thread, that could help out others. Hopefully it is deemed interesting enough to be added to a sticky collection in the README section.

This thread might be of interest for anyone wanting to dig deeper into OBD2 diagnostics.
Background information: OBD2 has 10 different scan modes. Each of these modes encompasses one of the basic functions of OBD2. Modes 2-4 are used for reading out and clearing DTC's (diagnostic trouble codes), and are probably the most often used by any scan tool capable of reading and clearing fault codes. But, beyond reading fault codes, which are set by the engine computer when certain conditions are met and an error has been present for a minimum amount of time, there are many situations where either there is no fault code (yet), or the fault code does not tell the whole story of the problem. In these cases, some of the other modes of OBD2 can be used to gain more information:

  • Mode $01: Read live data
  • Mode $05: Oxygen sensor monitoring test results
  • Mode $06: Test results for on-board monitoring of specific components

Mode 1 is also used very often by less simple scan tools that can read out and/or plot live engine data, such as fuel-trims, engine speed and oxygen sensor voltage for example.

Mode 5 is less frequently used, but is supported by many scan tools and can be helpful in diagnosing oxygen sensors.

Finally, mode 6 is what this thread is all about :
This mode is usually manufacturer-specific, and if a scan tool supports it, it will only give some cryptic numbers without any explanation. The information given in this mode is presented as a main category called Test ID, or TID in short, and subcategories called "Component ID" or CID. Each combination of TID and CID amounts to a single on-board test with a result expressed in optionally a minimum, maximum and measured value, as well as an indication whether the test passed or failed.
Unfortunately though, the meaning of each TID and CID number is often not known and certainly BMW does not seem to make this information public. Nevertheless, I recently discovered that the Land Rover Freelander, first generation with a V6 petrol engine happens to use the same DME as the M54 engines from BMW. In fact, BMW apparently helped with the re-design of that engine. The DME is the MS43 from Siemens, and there is a document floating around, which describes mode $06 diagnostic information for the V6 engine from Land Rover:
Land Rover-Freelander 2005 Siemens MS43.pdf

Taking what we already know of OBD2 mode 5, the MS43 and the M54 engine, we can complete the list as follows:

  • TID $01: Catalyst conversion efficiency:
    • CID $01: Catalytic converter bank 1
    • CID $02: Catalytic converter bank 2
  • TID $02: Oxygen sensor tests: (This data is related to mode $05?)
    • Bank 1:
      • CID $01: Rich to lean sensor switch time (?) Bank 1 Sensor 1 in ms (?)
      • CID $02: Lean to rich sensor switch time (?) Bank 1 Sensor 1 in ms (?)
      • CID $03: (could be the same as CID $01 for Sensor 2??)
      • CID $04: (could be the same as CID $02 for Sensor 2??)
      • CID $09: Time between sensor transitions??
      • CID $30:
      • CID $31: (same as CID $09 on older DME software?)
    • Bank 2:
      • CID $05: Rich to lean sensor switch time (?) Bank 2 Sensor 1 in ms (?)
      • CID $06: Lean to rich sensor switch time (?) Bank 2 Sensor 1 in ms (?)
      • CID $07: (could be the same as CID $05 for Sensor 2??)
      • CID $08: (could be the same as CID $06 for Sensor 2??)
      • CID $0a: Time between sensor transitions??
      • CID $32:
      • CID $33: (same as CID $09 on older DME software?)
  • TID $03: Secondary Air Injection
    • CID $05:
    • CID $06:
  • TID $04: Not available (EGR)
  • TID $05: EVAP system
    • CID $07:
    • CID $08: EVAP Canister Purge Valve flow delta-rpm
    • CID $09:
    • CID $12: DMTL (Leak diagnosis pump) error - min Iref
    • CID $13: DMTL (Leak diagnosis pump) error - max Iref
    • CID $14: DMTL (Leak diagnosis pump) error - Plausability Ip
    • CID $15: Large Leak Finished
    • CID $16: Small Leak Finished
    • CID $17: DMTL (Leak diagnosis pump) error - signal Ifluc
    • CID $18: Extra Large Leak Finish Result
  • TID $06: Oxygen sensor heating
    • CID $01: Heater time(?) Bank 1 Sensor 1
    • CID $02: Heater time(?) Bank 2 Sensor 1 ?
    • CID $03: Heater time(?) Bank 1 Sensor 2 ?
    • CID $04: Heater time(?) Bank 2 Sensor 2
  • TID $07: Not available (catalyst heating)
  • TID $08: VANOS (I have no data for this yet)

In this list, I have placed question marks on items that I am unsure of. There are still many voids in this list, if anybody knows some more to fill this list, please post below.
I would like to see some mode $06 data from other scan tools. I only have results from OBD fusion so far, but I suspect that OBD fusion wont go past TID $07, so I am missing VANOS test data, which could potentially be quite interesting.

I hope this helps someone.

Best Regards,
Hi Yope,
I encountered a failed TID/CID $05/$07 test which according to your cross refence to the Siemens Landrover date should be an EVAP test, although the CID $07 shows blank. My Bluedriver OBD2 scanner
which has some rudimentary Mode 6 capabilities, shows this as a rich-to-lean oxygen sensor switching time fault however. I am inclined to believe the scanner but an EVAP error actually sounds more compelling since all smog monitors complete except for the EVAP test. Have you been able
to further correlate the Siemens landrover data to the M54 engine? Thanks
Uri_nr_
 

·
Registered
Joined
·
1,183 Posts
TID $05: EVAP system CID $07: ???

I recently discovered that the Land Rover Freelander, first generation with a V6 petrol engine happens to use the same DME as the M54 engines from BMW. In fact, BMW apparently helped with the re-design of that engine. The DME is the MS43 from Siemens, and there is a document floating around, which describes mode $06 diagnostic information for the V6 engine from Land Rover:
Land Rover-Freelander 2005 Siemens MS43.pdf
...

TID $05: EVAP system

  • CID $07:
  • CID $08: EVAP Canister Purge Valve flow delta-rpm
  • CID $09:
  • CID $12: DMTL (Leak diagnosis pump) error - min Iref
  • CID $13: DMTL (Leak diagnosis pump) error - max Iref
  • CID $14: DMTL (Leak diagnosis pump) error - Plausability Ip
  • CID $15: Large Leak Finished
  • CID $16: Small Leak Finished
  • CID $17: DMTL (Leak diagnosis pump) error - signal Ifluc
  • CID $18: Extra Large Leak Finish Result
very interesting that document on the landrover MS43.



i replaced the evap purge valve but not convinced the P0444 is resolved. in the obd fusion diagnostic report i'm wondering what is this component CID $07 :

Mode $06 - On-Board Monitoring

Component Description Value Minimum Maximum Units Result
...
Component Id $07 TID $05 - Manufacturer Defined 1089 3932 N/A Fail
 

·
Registered
Joined
·
6 Posts
Discussion Starter · #7 ·
Hi wfx32,

Did you do this test after replacing the purge valve? Did you have the same CID/TID result before replacing it?
Did P0444 come back? If so, maybe you have a bad wire or connector...
 

·
Registered
Joined
·
1,183 Posts
Did you do this test after replacing the purge valve? Did you have the same CID/TID result before replacing it?
it seems like this component $07 TID $05 is usually below spec (3932), both before and after replacing the evap purge valve. would be nice to correlate component $07 with one of the component/system malfunction criteria on pp32-34 of the landrover MS43 document.

2019 JUL 1 Mode $06 Component Id $07 TID $05 - Manufacturer Defined 797 3932 N/A Fail
2019 SEP 4 P0444
2019 SEP 9 evap purge valve replaced
2019 SEP 9 Mode $06 Component Id $07 TID $05 - Manufacturer Defined 1959 3932 N/A Fail
2019 SEP 18 Mode $06 Component Id $07 TID $05 - Manufacturer Defined 5887 3932 N/A Pass
2019 OCT 22 Mode $06 Component Id $07 TID $05 - Manufacturer Defined 2833 3932 N/A Fail
2019 DEC 21 Mode $06 Component Id $07 TID $05 - Manufacturer Defined 1089 3932 N/A Fail
 
1 - 8 of 8 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top