Tuesday, April 12, 2011

NB Miata - OBD Mode 8

Today I'm going to talk about Mode 8.  It's been a while since I posted, partly because I have been busy with other things, and partly because I was hoping to have a more complete picture of what Mode 8 does.  Unfortunately, it's still mostly a mystery to me.  But at least I can tell you what I know.

In general Mode 8 is used to control some on-board system, sometimes to create conditions necessary to test a component or subsystem.  In my ECU, here's the quick summary:
  1. In the NB Miata, it only applies to OBD-II vehicles.  Any other flavor will simply respond to a Mode 8 request with an error reply.
  2. Only two PIDs are supported:  00 and 01.
  3. The request message must be 11 bytes long, so must be zero-padded.  And the extra bytes cannot be anything other than zero.
  4. PID 0 is just a PIDs supported request.  Since I'm telling you now that only 0 and 1 are supported, this is no longer of any use to you.
  5. If a PID 1 request is sent and bit 0 of 10055 is set at the time, then the ECU will set bit 0 of 108ED and respond with an affirmative OBD reply.
I think that the request is only honored if the engine is not running at the time, but I'm not 100% sure if that's the case.  Anyway, while it may seem like a lot of trouble just to set one bit in memory, setting that bit has a pretty significant ripple effect.  I'm not sure I've discovered all of the secondary effects, and I'm pretty much in the dark about what the ultimate purpose is, but it appears to temporarily put the ECU in an altered state, and there are literally dozens of places in the the code that are ultimately affected.  Some of the affected subroutines are related to the short term fuel trim, but there are many others that I still have no idea what they are used for.

I hope to eventually unravel the complete story.  In the meantime, if you are willing to try, you can see if you can get your car to accept a Mode 8 PID 1 command and see if you can tell how your car's behavior changes.  I doubt very much that Mazda would build in a test that could potentially damage your car, but of course I can't guarantee it, so proceed at your own risk.

Next time, Mode 9?  Sorry, but the NB Miata doesn't support Mode 9.  In fact, the next higher supported mode is Mode 13.