Tachometer driven by custom software, engine off, for demo purpose. Needle is at maximum position.

Tachometer redline range is 4,700 – 5,500 rpm. All related subroutines are well known by now. Same source code in all diesel ROMs it seems.

Within normal driving conditions the ECU won’t allow any over-rev because it gradually reduces injected fuel (zero at 4,800 rpm ?). This way over-rev can only be reached by force (mis-shift or faults).

Over-Rev Counters

There are two over-rev counters, triggered by two different RPM levels. Both are considered important therefore saved into EEPROM.

Item Unit MY08 MY09 MY10 MY11
High RPM: Repeated incidents might damage engine.
High RPM Threshold rpm 5,500
High RPM Hysteresis Low rpm 5,250 4,900
Very high RPM: Might damage engine on single occasion.
Very High RPM Threshold rpm 5,900
Very High RPM Hysteresis Low rpm 5,650 4,900

RPM must drop below hysteresis low value to allow next incident to be triggered. Prevents multiple counter increments on single incident.

Reaching five recorded “high” or a single “very high” incident might also turn on MIL.

DTC P0219 Engine Overrunning Failure

Triggered by condition: RPM ≥ 5,150. Confirmed with all models so far, Euro 4/5/6. Also causes freeze frame(s) capture.

High RPM History

Diesel specific, basically meant to acquire additional info. Subaru’s warranty department will probably look at this.

Although diagnostic software lists names like “Highest Over-Rev RPM history”, these actually start tracking within redline already (allowed but to be avoided), obviously don’t mean real over-revs when rpm < 5,500.

Only when above DTC P0219 has been triggered, the high-RPM-history management subroutine activates, tracking highest RPM it sees during incident. Later when DTC condition is not set anymore (=RPM dropped below 4,900) it updates its records, filling in highest engine speed it had seen plus current odometer value.

There are four records: highest and last three incidents.

Each record consists of two parameters and can be retrieved using a Subaru specific protocol:

  1. RPM, UInt8: x*20+4000 [rpm] → lowest possible value is 4,000 meaning NO incident yet!
  2. Odometer1, UInt16: x*5 [km]

Since history subroutine is separated from DTC checking subroutine and both use current RPM as input, it’s possible that when history sub gets to run, the RPM had already dropped < 5,150. So even though history needs the 5,150 rpm DTC threshold, remembered RPM values can be slightly lower, already seen that in practice.

1) It is actually the ECUs internal odometer, does not have to match dashboard odometer driven by combination meter computer! Usually these two odometer values drift off over time, typically 1% or more. Accessing Subaru diesel ECU odometer usually requires ROM specific software knowledge as there is no diagnostic protocol parameter implemented for this.


5 responses to “Over-Rev

  1. Hi, not sure if you’ll see this post. Are these numbers applicable to the 2.0 liter Boxer Diesel that is in the 2010 Forester? Seems like mine took a snapshot just over 5100, is that just because it’s the highest, or that it’s an over-rev? Your input is appreciated. Thanks -Stephen


  2. I’m in Australia, and I believe the 2010’s were touted as Euro5 compliant. It (on paper) has the 16.3:1 compression ratio of Euro5 rather than the 16:1 of Euro4. I can’t get to the vehicle right now, but can fill you in on more details in a few days if it would be helpful. I would appreciate the comparison (and interpretation) if it’s not too much trouble. Thanks -Stephen


    • No, 16.3 compression ratio should be Euro4 and I do have some 2009/2010 Forester ROMs which are definitely Euro4.

      Ok, so this Forester software only has slight differences compared to Impreza. Code is exactly the same. Differences are mostly coolant/fuel temp, final drive ratio, speed etc. related constants and tables. Also slightly lower injection amount limit – probably explains 108 vs. 110 kW max power.

      Regarding over-rev there’s also a DTC:
      P0219 Engine Overrunning Failure
      triggered by RPM ≥ 5150 1/min (Forester & Impreza, Euro4 & 5)
      Like many DTCs do, it might cause freeze frame capture.

      What things did you read out? SSM2 over-rev parameters, DTCs, freeze frame, OBDII software version? Dealer software can read all of those.
      How do your SSM2 over-rev values look like? (Are you able to use RomRaider? Cheap serial interface is sufficient on Euro4.)
      If you’ve only touched that DTC threshold, it’s no real over-rev yet, just something that should not occur, probably no damage at all.
      And how did it happen? Downshift? From the tables it looks like there should be zero injected fuel at RPM ≥ 4800 already.


  3. hi guys, hou dose the ECU react to P0219 ENGINE OVERRUNNING FAILURE? once that the failure appear would the engin start again or it will enter an protection mod and would not start again until the cod will be erased?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s