Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel2
outlinefalse
styledefault
typeflat
printabletrue


Flex Fuel Overview

Flex Fuel functionality is supported for select turbocharged Subarus utilizing the COBB Custom Features ECU. In short, COBB's Flex Fuel feature encompasses these custom code features:

...


In general, there are two primary goals of a full-function Flex Fuel implementation:

  • Compensation for changes to ethanol content.

    • The ECU needs to be able to adjust the amount of fuel to achieve a correct air/fuel ratio as ethanol content changes. This is all based on a linear relationship and somewhat easy to calculate; scaling for these items generally requires a 1:1 relationship with the ethanol content delta. Tuning parameters like Injector Scalar and Cranking Enrichment will fall under this category. Correct tuning and blending of these tables is required for the vehicle to operate under variable ethanol content.

  • Adjustment for changes to fuel quality (octane, burn rate, EGT, etc.).

    • This allows the tuner to account for the change in octane and burn rate as ethanol content changes to optimize efficiency and power in the vehicle. The need for this flexibility is based on the notion that things like effective octane rating will significantly increase as ethanol content increases. While most of these items can be scaled with ethanol content, they don’t typically require a 1:1 relationship with ethanol content. For example, you could leave boost and timing the same as on pump gas, make changes as content increases, or Target Boost and Ignition timing changes may be locked above E70 as diminishing returns to the knock threshold are usually observed above 70% ethanol content. The blending of these tables is not required for vehicle operation and is determined by the tuning strategy employed.

Additional Resources and Tools – Ethanol

If you have limited experience related to the math and science behind variable ethanol content and E85 tuning, we highly recommend some background education before utilizing the COBB Custom Features, especially the Flex Fuel feature and functionality. While easily understood once studied, ethanol and alcohol-based fuels introduce a variety of benefits and downsides; these must be accounted for both during the calibration process and during subsequent operation of the vehicle. While written with a humorous (and potentially NSFW!) approach, this article from Injector Dynamics helps cover many of those considerations: http://injectordynamics.com/articles/e85/

...

Ethanol Content and Stoichiometric Ratio


If the current fuel in use is 0% ethanol pump gasoline, a full ~63% more fuel mass will be required if transitioning to 100% ethanol. In reality, most will be switching from E10 pump gas to E85 ethanol, which requires a ~43% increase in fueling. This means taht As ethanol content rises, so does the demand on the primary components of the fuel system: the fuel injectors, low pressure fuel pump and the high pressure fuel pump.

...

Ethanol Content

Stoich. Ratio

Multiplier (E0)

Percentage (E0)

Multiplier (E10)

Percentage (E10)

0%

14.700

1.000

100.0%

0.961

96.1%

10%

14.131

1.040

104.0%

1.000

100.0%

20%

13.562

1.084

108.4%

1.042

104.2%

30%

12.992

1.131

113.1%

1.088

108.8%

40%

12.423

1.183

118.3%

1.137

113.7%

50%

11.854

1.240

124.0%

1.192

119.2%

60%

11.285

1.303

130.3%

1.252

125.2%

70%

10.715

1.372

137.2%

1.319

131.9%

80%

10.146

1.449

144.9%

1.393

139.3%

85%

9.862

1.491

149.1%

1.433

143.3%

90%

9.577

1.535

153.5%

1.475

147.5%

98%

9.122

1.612

161.2%

1.549

154.9%

100%

9.008

1.632

163.2%

1.569

156.9%

...

Initial Flex Fuel Setup

Blending Ratio Table Overview

The Blending Ratio Tables instruct the ECU on how to determine the final output value while "blending", or calculating a weighted average, between two tables. If the tables contain the same values, the blending ratio will be irrelevant.

...

Beyond this, the Blending Ratio Tables can be customized to provide a non-linear response in relationship to an ethanol content change. They can also be specified to define blending only within a certain ethanol content ranges (while ignoring others). There are specific examples provided within the text below.


Fuel-Based FF Tables

As previously mentioned, many Flex Fuel blending functions will depend on a linear mathematical relationship that corresponds to changes in ethanol content. Because we know that we need 63.2% more fuel when moving from E0 to E100, it is easy to calculate any partial increase necessary anywhere between those two points. This allows for using any fuel between E0 and E100 seamlessly, even if the calibration was completed on less extreme blends (like E10 and E70, for example). We will refer to these as the "Fuel-Based Tables".

It is advised to set these Fuel-Based Tables to use a linear blend between E0 and E100:

DIT Engine:

  • Cranking Fuel Injector Pulse Width Base - Groups 1 and 2, A-F

  • Fuel Economy Display Correction Factor (Gen2 or later)

  • Fuel Injector Trim (Fuel Pressure)(Multiplier)

  • Fuel Injector Trim (Fuel Pressure)(Offset)

  • Post-Start Enrichment - Homogeneous and Stratified, Fast, Moderate, and Slow)

  • Warm-Up Enrichment Primary - Homogeneous and Stratified, TGV Closed and Open

...

The blending tables are set to accomplish this by default (E0 = Full Low Ethanol Tables, E100 = Full High Ethanol Tables): {EJ engine tables shown}

...

Determine Multiplier Value for High Ethanol Tables – Example


In order to set the Fuel-Based Tables up appropriately to seamlessly account for a change in ethanol content, we need to define our low and high ethanol content Fuel Injection scaling (Flex Group A and B).


EJ Engine: 

For this example, we will assume Group A and Group B are defined as default (A = Low Ethanol, B = High Ethanol) and that we are converting an existing E10 gasoline tune to be truly E0-E100 compliant on COBB 1000cc injectors. Copy all existing tune data from the current Flex Fuel Group A tables to the Flex Fuel Group B tables.

...

Ex: Fuel Injector Scale for Group B set to 4550 for E100 operation


DIT Engine:

This works much like the EJ engine. Again we will assume FF B group is your high ethanol group. With our ethanol content table above including % mass change as a reference, multiply your FF B group Fuel Injector Trim (Fuel Pressure)(Multiplier) and Fuel Injector Trim (Fuel Pressure)(Offset) tables to account for the greater fuel mass injection required.


Octane-Based FF Tables


For items such as Boost Targets and Ignition Timing, it is more common to use a linear blend that only spans certain ethanol content values. This is because things like the octane rating and effective knock threshold of the fuels do not change at a linear rate (more flat on the ends of the spectrum) as ethanol content changes. We cannot always calibrate the vehicle for true E0 and E100 to set the low and high ethanol tables for the ends of the ethanol content range, so the conservative approach suggests only increasing things like Ignition Timing up to the known thresholds established by the fuel and ethanol content range that is available for testing. We will refer to these as the "Octane-Based Tables".

...


The easiest way to accomplish this is to adjust the Blending Table axis scaling. In this example case, Boost Targets are scaled upwards in a linear fashion as Ethanol Content increases from 20% up until ethanol content reaches 70%. For E0 to E20, the full low ethanol table values are targeted (0.00 blending value); for E70 to E100, the full high ethanol table values are targeted (1.00 blending value). See below for an example of how to configure this within the Blending Tables:

...

Ex: Octane-Based Tables: linear blending from E20-E70 for Boost Targets

Ethanol Content Measurement and Analog Input Considerations

  • Like most custom Flex Fuel implementations, COBB's Subaru Flex Fuel implementation requires a digital to analog converter that interprets the digital signal from an ethanol content sensor into a linear 0-5v analog output. The sensor, the digital to analog converter and associated power and signal wiring combine to comprise a "Flex Fuel Kit".

  • To power the external sensor hardware, assuming the device is a normal automotive sensor and draws low current, you may use the 5v circuit present at the TGV connector or the 12v circuit present at the Rear O2 sensor connectors. See applicable FSM for detailed wiring diagrams.

  • DTC functionality for Ethanol Sensor Low and High voltage errors is provided via "C0BB1" and "C0BB2" custom DTC codes.

  • When the C0BB1 or C0BB2 DTC is present, ethanol content will be locked to the last known good value and the boost control system will be disabled (WGDC capped to 0.0%). This behavior will continue (DTC present, CEL illuminated, Boost Control disabled) until the hardware issue has been corrected and the ECU has been manually reset to clear the code.

  • If the hardware failure and triggering of the DTC occurs immediately upon key-on following a reset/reflash, and before the ECU has been able to store a known good ethanol content value, ethanol content will be locked to the value contained within the "Ethanol Sensor Concentration Override" table (default is 10.0%).

  • Ethanol Sensor Calibration Deadband Range: the minimum size of the change in ethanol content necessary before "Ethanol Concentration FINAL" is updated. Usually does not require adjustment from the default value.

  • Ethanol Sensor Calibration Sampling Rate: how frequently the analog sensor input for the FF kit is polled to check for an update to the current ethanol content value. The values are in a rough approximation of milliseconds. Usually does not require adjustment from the default value.

  • Ethanol Sensor Calibration Smoothing Factor: a rolling average of the current ethanol content value. This helps smooth out an inconsistent signal while still providing a fast-enough response when ethanol content is legitimately changing. Usually does not require adjustment from the default value.

  • Ethanol Sensor Concentration Failsafe: this threshold, which is in Load g/rev, allows for locking ethanol content above a certain Load value. Flex Fuel sensor accuracy can suffer from fuel pump cavitation, fuel boiling and other issues that can and will contribute to a temporarily inconsistent ethanol content reading from the FF kit. This normally happens when the fuel system is under high demand when fuel flow past the ethanol content sensor may be inadequate (or aerated).

  • DTC functionality is dependent on the hardware kit in use. Some Flex Fuel kits do not offer the ability to reports errors via their 0-5v output because they require the full 0-5v span to report the current ethanol content. Kits that have a narrower range, such as 0.5-4.5v, have the ability to trigger a DTC whenever a voltage is observed outside of the stated range, assuming this functionality has been included in the FF kit's design.

  • After polling the FF kit, the ECU stores the ethanol content value within the "Ethanol Concentration RAW" value. This is the raw ethanol content before smoothing or the deadband functions are applied. The final output is the "Ethanol Concentration FINAL" monitor; this is the value used by the ECU while operating on tables that are based on ethanol content.

  • You may observe minor "jitter" or wandering within the "Ethanol Concentration RAW" signal. The sampling rate, deadband, smoothing functions and load-based lock threshold are all designed to help mitigate this issue and produce a predictable and consistent Ethanol Concentration FINAL value.

Basic Outline to Enable and Tune for Flex Fuel

  1. Set A/B Table functionality via "Flex Fuel A/B Table Ethanol Concentration Mode" table. This determines which set of tables (A or B) will represent low ethanol content and which will represent high. By default, the existing tuning data will be populated in the Group A tables, which would correlate to converting an existing low ethanol tune to add Flex Fuel functionality. If the vehicle is currently tuned on high ethanol, you may elect to keep this tuning data within the A tables and use the B tables to add low ethanol functionality; in this case, you will want to invert this toggle.

  2. Enable the base Flex Fuel code and functionality via the "Flex Fuel Feature Activation" table.

  3. Copy all current Flex Fuel Group A table data to Flex Fuel Group B tables. This can be accomplished via the "Flex Fuel Copy Groups" function in the Edit menu or is done automatically when initially opening an existing MAF or SD map in the COBB Custom Features (CCF) ECU. Axis values are shared between the two sets of tables. This will serve as your base starting point for tuning on the alternate ethanol content fuel. This will allow for the vehicle to run as-is no matter which set of tables are being referenced via the Blending Tables.

  4. Configure Ethanol Sensor. Choose the input via " Ethanol Sensor → Calibration

    1. Ethanol Sensor Activation

    /Input Selection" table, input the calibration via the "Ethanol Sensor Calibration" table, and choose and input valid DTC voltage thresholds for the FF hardware in use via the "Ethanol Sensor DTC Limit (Voltage)(High)/(Low)" tables.
    1. It is advisable to set the DTC thresholds a few tenths of a volt between the ends of the valid calibration range and the ends of the voltage range; for example, if the kit uses 0.5v-4.5v for its E0-E100 range, setting the DTC limits to 0.30v and 4.70v should yield good results. A "C0BB1" DTC will be set for an Ethanol Sensor Low Voltage error and "C0BB2" DTC for an Ethanol Sensor High Voltage error. You may choose to adjust the Deadband Range, Sampling Rate and Smoothing Factor based on the hardware in use but the default values should work well for most FF kits.

    2. Depending on the analog input chosen, you may need to remove DTC's for the OEM hardware to prevent the CEL from illuminating.

    3. If the C0BB1 or C0BB2 code is set, Boost Control will be disabled and Ethanol Content will be locked to the last known good value. It is IMPERATIVE that the issue is corrected, and the DTC is cleared before the vehicle is refilled with fuel (and a potential change to current ethanol content is introduced). This functionality can be tested by quickly removing the Ethanol Content Sensor plug from the FF/DAC hardware while the vehicle is running.

  5. Set Fuel-Based Group A and Group B Tables for E0-E100 compatibility. See above for a list of tables to include and how to calculate the multiplier value to use for calculating new Group B values.

  6. Set Blending Ratio Tables. See the above descriptions for configuring Fuel-Based Tables and Octane-Based Tables for Blending Ratio. If you need to perform custom tuning on the Group A tune, be sure to set the Octane-Based Blending Tables so that the current ethanol content will be "locked" onto the Group A tables. If you choose to bypass this step, keep in mind you may experience blending between the Group A and Group B tables. For example, if current ethanol content is 9%, be sure to set all Octane-Based Blending Ratio tables to be 0.0 below E10. These can be revisited once alternate fuel has been added to the vehicle.

  7. Perform calibration for Fuel A using Group A tables. Once this is complete, re-copy any newly changed Octane-Based Group A tables to Group B tables using the "Flex Fuel Copy Groups" function (in Edit menu). This ensures that things like Boost Target, Ignition Timing and Open Loop Fuel Targets are consistent and provides a starting point for tuning the Octane-Based Group B tables.

  8. Change vehicle to Fuel B (high ethanol) to allow for calibration of Group B tables.

  9. If you wish to tune Fuel B using Realtime tuning functionality as well, you will need to swap the current Group A and Group B tables using the "Flex Fuel Copy Groups" function (in Edit menu) with the "Swap tables" box checked, as well as invert the "Flex Fuel A/B Table Ethanol Concentration Mode" table. This will allow you to now tune the Group A tables for Fuel B (Fuel A table data now located in Group B).

  10. Restart vehicle to cycle fuel supply and check newly updated ethanol content. Things like fuel trims should be very close thanks to the earlier configuration of the Fuel-Based Tables. If you find a significant issue, please stop and check all math and FF tune configuration settings.

  11. Re-set Octane-Based Blending Ratio Tables so as to "lock" tuning to the B tables. For example, if current ethanol content is now observed to be 72%, be sure to set all Octane-Based Blending Ratios to be 1.0 above E70. If you choose to bypass this step, keep in mind you may experience blending between the Group A and Group B tables.

  12. Perform calibration for Fuel B using Group B tables. Now that ethanol content has increased significantly, you may find the engine is able to tolerate more boost, more ignition timing, a leaner open-loop fuel target, etc. (or vise-versa if ethanol content has decreased). You can use the Blending Ratio tables to introduce non-linear blending or any variety of other tuning strategies based on the exact vehicle, modifications, tuning goals, etc.

  13. Once Fuel B and Group B tuning has been completed, you effectively have a completely operational Flex Fuel tune! Double-check all Blending Ratio, Group A and Group B tables for sanity.

  14. WARNING! If the auxiliary Ethanol Content hardware or associated wiring enters a failure state, it is possible to introduce either a direct short to the ECU's 5v power circuit or an overvoltage input to the ECU's 5v analog inputs. Either of these scenarios can potentially cause erroneous operation or ECU hardware damage.

...

DIT Flex Fuel

Please read the above documentation first. While by and large, our flex fuel implementation for DIT engines works in the same fashion as the EJ engine implementation, there are differences based on the tables and logic present on each ECU.

  1. The stock DIT ECU has many more tables than the EJ ECUs. This led us to combine some multiple tables on the Flex Fuel B side into single tables as follows:

    1. AVCS Intake Cam Advance Target (TGVs Open) A/B (Barometric Multiplier Low)

    2. AVCS Exhaust Cam Retard Target (TGVs Open) A/B (Barometric Multiplier Low)

    3. Closed Loop Fueling Target Base (Main) A/B/C/D

    4. Closed Loop Fueling Target Base (Main) Lean Limit A/B/C/D

    5. Post-Start Enrichment (Homogeneous) Base... A/B/C/D

    6. Post-Start Enrichment (Stratified) Base... A/B

    7. Primary Ignition (TGVs Closed) ALL

    8. Primary Ignition (TGVs Open) ALL

    9. Primary Open Loop Fueling Base ALL

  2. The table name specifies which Flex Fuel A table is copied to the corresponding B table. For example: Post-Start Enrichment (Homogeneous) Base (Fast) A/B/C/D (Copied From A Table in FF A Group) (Flex Fuel B) 

  3. When using the Flex Fuel Copy Groups feature, keep in mind that copying B to A will result in the single B table being copied into multiple A tables. In the case of the Post-Start table mentioned above, the single FF B table will be copied to the four FF A tables A/B/C/D, as specified in the table name. 

  4. Ethanol Sensor Calibration Smoothing Factor has been expanded into a table that allows for compensation by approximate fuel injected. Fuel injected is calculated based on the Ethanol Sensor Calibration Sampling Rate calibrated value, as well as Mass Airflow, Commanded Fuel Final and short/long-term fuel trimsThis feature enhancement leads to our next topic, the Ethanol Content Delay System (ECDS). The variable smoothing factor allows the tuner to alter how quickly Ethanol Raw is applied to Ethanol Final during an ethanol content transition (i.e. when changing ethanol content by refueling the vehicle).

  5. Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC) - COBB internal testing and external reports from our Protuner network indicate concerns with running high ethanol content fuel consistently over the long term. In the E0 to E30 range ethanol is generally well tolerated by DIT systems from Subaru, Mazda, BMW, and other platforms we support. However, the factory HPFPs (high-pressure fuel pumps) on all these platforms are not designed to operate in a flex fuel environment and exhibit poor performance and sometimes failures when E85 is used persistently. At near 85% ethanol content, many users have reported sudden loss of fuel pressure, causing poor engine operation and in some cases, the engine stops running and will not restart. This generally occurs after 1-8 consecutive tanks of E85 fuel. With this new DTC you can disable boost control and enable a check engine code and the light if the vehicle is fueled with an ethanol content higher than the max you feel is safe.

    1. Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC) Delay - This delay allows you to avoid a momentary high ethanol reading from enabling the COBB5 DTC unnecessarily.

  6. Closed Loop Fueling Target Final (Alternate)(Aggressive Start)(Primary OL Fuel Compare) - This is not a flex fuel table but can become active regardless of ethanol content. Since your desired fuel targets on low and high ethanol fuel may be significantly different, we suggest disabling this function via the coolant temperature thresholds as described in the DIT Tuning guide.

  7. Primary Open Loop Fueling Min. Enrichment (Final) - This table is active any time the ECU is fueling in open loop. Values in this table are applied unless your primary open loop target is richer than the minimum enrichment value, in which case the primary open loop target takes precedence. Keep in mind this is not a flex fuel table, so setting this table richer than your high ethanol primary open loop target would result in the minimum enrichment target being applied.

Fuel System Considerations

As with other DIT platforms i.e. VW, BMW, Mazda, the fuel pumps in Subaru DIT vehicles are not designed for ethanol use beyond 10-15%. That said, ethanol levels between 15-30% are generally well tolerated. Those comfortable with mild risk can run ~E30 and enjoy improved knock resistance, charge air cooling, and a mild improvement in engine power potential. While you can't get E30 at the pump, pumping a combination of E0/E10 gas and E85 in an appropriate ratio will allow the blending of a near E30 mixture in your tank.

On DIT platforms not set up for flex fuel from the factory, at greater than 30% concentration, ethanol has caused oscillating fuel pressure first, progressing to loss of fuel pressure, high-pressure fuel pump damage, even making the vehicle inoperable in some cases. Sudden loss of fuel pressure can cause a sudden loss of acceleration, stalling, which can reduce braking performance and steering control. Long story short, while the power potential is very attractive, the use of high ethanol content fuel is at your own risk.

COBB has performed internal testing in multiple geographic locations with different fuel sources in addition to compiling data from COBB retail shops, our Protuner network, and customers. The results varied significantly. Some users ran several tanks of E85 in a row without issue while some experienced serious loss of fuel pressure in as little as 1-2 tanks of fuel.

We suggest monitoring fuel pressure for oscillations. After having fuel pressure issues, some users were able to flush the HPFP (high-pressure fuel pump) out with low ethanol gasoline and get it to operate normally again, while others had to replace the whole pump assembly before they could safely drive the car again. After replacing the pump some users experienced repeat failures if they continued to run E85 fuel.

ECDS (Ethanol Content Delay System)

The ECDS system prevents Ethanol Final changes from the time it activates until the Exit Threshold based on fuel mass injected is achieved. This prevents large changes in engine operation based on ethanol sensor readings from occurring before fuel at the sensor reaches the combustion chamber.

While not a significant concern on return fuel systems because fuel is almost always circulating through the rails, this is critical on DIT's returnless fuel system when fuel ethanol content changes dramatically (ex. car had e10 in it, the customer fills up with E85 or vice versa).

The ECDS system has a few main components:

...

Activation - All thresholds must be met to activate the system

  • Ethanol Transition Activation (Ethanol Delta Threshold Exceeded Count) - Ethanol Delta must be greater than the Ethanol Transition Activation (Ethanol Delta Threshold) for this number of samples for the system to activate.

  • Ethanol Transition Activation (Ethanol Delta Threshold) - The ethanol delta between the current sample and the previous sample.

  • Ethanol Transition Ethanol Delta Calculation Rate - The sampling rate for ethanol delta calculations. This is separate from the Ethanol Sensor Calibration Sampling Rate.

  • Ethanol Transition Ethanol Delta Calculation Type (0 = Ethanol Raw, 1 = Ethanol Final) - Determines whether the delta calculated is monitoring Ethanol Raw or Ethanol Final values.

...

Ethanol Final Lockout Period:

  • Ethanol Transition Exit Threshold (Fuel Injected Sum Threshold) - Ethanol Final resumes normal behavior once this fuel injection sum is achieved.

  • Ethanol Transition Exit Threshold (Max. Allowed Time Period) - If this time period expires before the Fuel Injected Sum Threshold is achieved, Ethanol Final will resume normal operation.

Re-activation:

...

Key factors to note:

  • While Ethanol Sensor Calibration Smoothing Factor isn't a component of the ECDS, the value chosen affects how Ethanol Final adopts Ethanol Raw once the lockout period expires. 

  • Setting Ethanol Sensor Calibration Smoothing Factor to 0 when fuel mass injected is 0 (fuel cut) may be deemed optimal, but setting the whole smoothing table to 0 would prevent Ethanol Final from ever updating. You will likely want smoothing to have a minimal effect (high table values) during periods of high fuel mass injection, and the most smoothing (low table values) during times of minimal fuel mass injection. 

  • Any manipulation of airflow and fuel injection calculation in your calibration which skews values from accurate ones must be accounted for in your ECDS settings for the system to work properly. For example, if you halve MAF scaling from accurate values, the ECDS system will calculate half the actual fuel mass injected. 

  • We suggest setting your Ethanol Sensor Calibration Deadband Range (Abs. Delta) to reduce or avoid constant ethanol final updating when no significant ethanol content change is present. 

  • The injectors are not fed by equal-length tubing which may result in a brief bank to bank variance in ethanol content. Despite the power of ECDS and our testing under extreme conditions, we suggest advising drivers to exercise some caution, when possible, until ethanol transitions are complete.

  • Since high ethanol fuel requires significantly more fuel mass, the injection times increase significantly. Especially at high load and engine speed, start of injection timing may need to be significantly altered to keep end of injection from being too close to the ignition event to avoid poor combustion. Fuel Injector Start of Injection tables are available in our flex fuel implementation to facilitate this as well as allow optimization of injection window for best efficiency.

ECDS default values calibrated by COBB staff are only appropriate for COBB flex fuel hardware, installed in the exact manner we instruct. If you use alternate flex fuel hardware, you'll want to optimize ECDS settings for your needs. Even if you've chosen to use COBB flex fuel hardware, you may feel you have an alternate ECDS calibration strategy that better meets the needs of your customer. Here's an example workflow for that optimization:

...

Make sure the system activates when you want it to, but it doesn't when you don't.

  1. Determine the frequency and count of samples you want the system to observe for ethanol change as well as the minimum delta you want to require between samples for the system to activate. Keep in mind the higher the frequency, the smaller the ethanol change can be if all other things are equal. All deltas must be in the same "direction" for the system to activate. For example, if your minimum delta per sample is 1% and the samples are 2,3, -2, 3 and you require a count of 3, the system will not activate because the count will zero when the -2 value is read.

  2. Decide if you want to observe a delta in Ethanol Raw or Ethanol Final. Consider the breath of the deadband you've set for Ethanol Final when choosing your activation delta.

  3. Set Ethanol Transition Activation (Min. Required Time Period from Last Transition) so the system does not re-activate sooner than you'd like after an ECDS process completes.

...

Set the fuel mass which must be injected before the ECDS Exits

  1. Fuel mass injected is calculated by COBB custom logic based on the Ethanol Sensor Calibration Sampling Rate, Mass Airflow, Commanded Fuel Final and short/long-term fuel trimsFor example, if your Ethanol Sensor Calibration Sampling Rate is 100 and your Ethanol Transition Fuel Mass Injected Current monitor reports 1.0, your engine injected approximately 1.0 gram per 100 ms.

  2. Once ECDS activates, Ethanol Final is held and the Ethanol Transition Fuel Mass Injected Current adds up until the Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) is achieved, causing ECDS to exit, allowing Ethanol Final to resume updating.

  3. As a failsafe, we've added an Ethanol Transition Exit Threshold (Max. Allowed Time Period). This is a simple timer which allows you to exit the ECDS system if your Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) cannot be achieved despite fuel traveling from the sensor to the combustion chamber due to your other ECDS settings.

  4. We suggest erring on the side of having your Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) be slightly less than the actual grams between the sensor and the combustion chamber so the Ethanol smoothing can start transitioning Ethanol Final towards Ethanol Raw before the new added to the tank fuel gets injected.

Fine Tuning

...

Fuel trims are the easiest way to determine how well your settings model the physical behavior of the vehicle. If you have your calibration optimized for all ethanol percentages when ethanol content is stable, AF correction will be minimal. Any additional AF correction during ethanol transitions will indicate a potential opportunity to improve your ECDS and smoothing calibration.

...

Keep in mind these vehicles trim fuel around far more significantly than non-DIT WRX, to begin with. Don't pull your hair out trying to be +/- 3% under all possible conditions. It's not possible. With that in mind, you may want to set realistic expectations for customers monitoring trims.

...

If fuel trims change drastically before ECDS exits, your Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) may need some adjusting.

  1. If ethanol content changes from low to high, and total AF correction dramatically increases compared to the stable ethanol trimming under those conditions, before ECDS exits, your Sum is likely too high. Higher ethanol content would require increased fuel mass injection per unit airflow so trims will be more positive if Ethanol Final does not start to transition to the new higher Ethanol Raw value soon enough.

  2. If ethanol content changes from low to high, and total AF correction dramatically decreases compared to the stable ethanol trimming under those conditions, before ECDS exits, your Sum is likely too low. Higher ethanol content would require increased fuel mass injection per unit airflow so trims will be more negative if Ethanol Final starts to transition to the new higher Ethanol Raw value before the new higher ethanol fuel gets injected.

...

Troubleshooting Flex Fuel Related Custom DTCs:

General:

  • When any of the following DTCs are set, the check engine light illuminates and the ethanol failsafes are enabled. Ethanol failsafes are: WGDC becomes 0 under all conditions, and Ethanol Final locks to the last value before the DTC was set.

    • If your tune has Ethanol Sensor Concentration Override Always (Ignore Sensor and Use Fixed Value For Final Ethanol) eenabled, the override value will continue being used.

  • If the input voltage appears to be within the DTC limits, and sane, you may be experiencing momentary invalid readings due to electrical system fluctuations. Vehicles with aftermarket electronics i.e. stereo system, lighting etc. are fare more prone to electrical concerns. If the issue is minor, adjusting the associated DTC Delay values may prevent an unwanted response.

  • Make sure the calibration flashed to the vehicle matches the mechanical configuration.

    • Input for each function matches the mechanical install i.e. Flex Fuel module is electrically connected to TGV L, and calibration Ethanol Sensor Activation/Input Selection set to TGV L.

    • Low and High voltage thresholds are appropriate for sensor/module output range, For Example:

      • 0-5V output doesn't have low and high error thresholds at 0.25V and 4.75V which would cause DTCs when there may not be an error.

      • 0.5-4.5 V outputs don't have error thresholds at 0V, 5V which would remove the error checking ability.

Ethanol sensor module voltage codes:

C0BB1 - Ethanol Sensor Voltage Low Input - Enabled if the input voltage is below Ethanol Sensor DTC Limit (Voltage)(Low)(C0BB1 DTC) continuously until Ethanol Sensor DTC Delay (Low)(C0BB1 DTC) expires.
C0BB2 - Ethanol Sensor Voltage High Input - Enabled if input voltage is above Ethanol Sensor DTC Limit (Voltage)(High)(C0BB2 DTC) continuously until Ethanol Sensor DTC Delay (High)(C0BB2 DTC) expires.

Verify voltage output from the Ethanol module to ECU using Accessport or Accesstuner live connect. Depending on which physical input you've connected the hardware to, check the corresponding Sensor Input Voltage monitor i.e. TGV L, TGV R, or Rear O2.
Is voltage in the appropriate range? COBB's flex fuel kit uses a 0.5-4.5 V range for normal operation. Other systems may use the full 0-5V range since they don't support error checking.
If you use a 0-5V system with an Accesstuner calibration that does not have the low and high limits set correctly for your hardware, you will throw a code when on very low or high ethanol content levels.

While you're at it, check to see if voltage is sane for the estimated ethanol content of the fuel in your vehicle. If not, you may have connected the flex fuel kit to a different input than your calibration expects i.e. hardware hooked up to TGV R and the calibration is set up for it to be hooked to TGV L.

If you're using a COBB flex fuel kit, here are some additional troubleshooting scenarios and tips to help take advantage of our custom module's error reporting capabilities:

0.0V - Power or ground supply fault, module fault
Suggestion: Check connections to rear o2 and TGV harnesses. BOTH must be plugged in (or wire in) for unit to function. Confirm supply voltage and ground continuity if the issue persists and harnesses are connected.

0.1V - Sensor fault, the module to sensor electrical connection fault, waiting for sensor data
Suggestion: Check connections for continuity, replace harness if necessary. If harness tests well, reset ECU and try again. If the issue returns, replace the sensor.

0.2V - Sensor error, internal fault
Suggestion: Replace the sensor.

4.8V - Sensor/Fuel error, compensation out of range
Suggestion: Remove fuel from the car if possible, flush fuel system with known good fuel and see if issues returns. If persists, replace the sensor.

4.9V - Fuel error (water, debris)
Suggestion: Remove fuel from the car if possible, flush fuel system with known good fuel. While water in your fuel is the most common cause, debris or some fuel additives may prevent ethanol sensors from getting a proper reading if in high enough concentration.

5.0V - Wiring short
Suggestion: Check to wire for damage, short.

Fuel pressure sensor voltage codes: (Non DIT Only)

C0BB3 - Fuel Pressure Sensor Voltage Low Input - Enabled if input voltage is below Fuel Pressure Sensor DTC Limit (Voltage)(Low)(C0BB3 DTC) continuously until Fuel Pressure Sensor DTC Delay (Low)(C0BB3 DTC) expires.
C0BB4 - Fuel Pressure Sensor Voltage High Input - Enabled if input voltage is below Fuel Pressure Sensor DTC Limit (Voltage)(High)(C0BB4 DTC) continuously until Fuel Pressure Sensor DTC Delay (High)(C0BB4 DTC) expires.

Verify voltage output from the Ethanol module to ECU using Accessport or Accesstuner live connect. Depending on which physical input you've connected the hardware to, check the corresponding Sensor Input Voltage monitor i.e. TGV L, TGV R, or Rear O2.
Is voltage in the appropriate range? COBB's fuel pressure sensor kit uses a 0.5-4.5 V range for normal operation. Other systems may use the full 0-5V range since they don't support error checking.

If you use a 0-5V system with an Accesstuner calibration that does not have the low and high limits set correctly for your hardware, you will throw a code when fuel pressure is in the low or high end of the sensor's range.

While you're at it, check to see if the voltage is sane for the estimated fuel pressure under current conditions. If not, you may have connected the fuel pressure sensor kit to a different input than your calibration expects i.e. hardware hooked up to TGV L and the calibration is set up for it to be hooked to TGV R.

Maximum safe ethanol content level exceeded: (DIT Only)

C0BB5 - Max. Safe Ethanol Concentration Exceeded - Enabled if Ethanol final exceeds the Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC) threshold continuously until Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC) Delay expires, while C0BB1 and C0BB2 are not set.

Each calibrator will need to decide what they deem to be the maximum safe ethanol content for the mechanical configuration and use.

Setting the Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC) threshold to 100.00% will disable this check.

General Failure Code

...

    1. change to 1 in order to enable the COBB CAN Gateway with Ethanol Sensor

    2. If the C0BB1 or C0BB2 code is set, Boost Control will be disabled and Ethanol Content will be locked to the last known good value. It is IMPERATIVE that the issue is corrected, and the DTC is cleared before the vehicle is refilled with fuel (and a potential change to current ethanol content is introduced). This functionality can be tested by quickly removing the Ethanol Content Sensor plug from the FF/DAC hardware while the vehicle is running.

  1. Set Fuel-Based Group A and Group B Tables for E0-E100 compatibility. See above for a list of tables to include and how to calculate the multiplier value to use for calculating new Group B values.

  2. Set Blending Ratio Tables. See the above descriptions for configuring Fuel-Based Tables and Octane-Based Tables for Blending Ratio. If you need to perform custom tuning on the Group A tune, be sure to set the Octane-Based Blending Tables so that the current ethanol content will be "locked" onto the Group A tables. If you choose to bypass this step, keep in mind you may experience blending between the Group A and Group B tables. For example, if current ethanol content is 9%, be sure to set all Octane-Based Blending Ratio tables to be 0.0 below E10. These can be revisited once alternate fuel has been added to the vehicle.

  3. Perform calibration for Fuel A using Group A tables. Once this is complete, re-copy any newly changed Octane-Based Group A tables to Group B tables using the "Flex Fuel Copy Groups" function (in Edit menu). This ensures that things like Boost Target, Ignition Timing and Open Loop Fuel Targets are consistent and provides a starting point for tuning the Octane-Based Group B tables.

  4. Change vehicle to Fuel B (high ethanol) to allow for calibration of Group B tables.

    1. If you wish to tune Fuel B using Realtime tuning functionality as well, you will need to swap the current Group A and Group B tables using the "Flex Fuel Copy Groups" function (in Edit menu) with the "Swap tables" box checked, as well as invert the "Flex Fuel A/B Table Ethanol Concentration Mode" table. This will allow you to now tune the Group A tables for Fuel B (Fuel A table data now located in Group B).

  5. Restart vehicle to cycle fuel supply and check newly updated ethanol content. Things like fuel trims should be very close thanks to the earlier configuration of the Fuel-Based Tables. If you find a significant issue, please stop and check all math and FF tune configuration settings.

  6. Re-set Octane-Based Blending Ratio Tables so as to "lock" tuning to the B tables. For example, if current ethanol content is now observed to be 72%, be sure to set all Octane-Based Blending Ratios to be 1.0 above E70. If you choose to bypass this step, keep in mind you may experience blending between the Group A and Group B tables and you’ll need to do some calculations to make sure you’re adjusting things in the correct direction.

  7. Perform calibration for Fuel B using Group B tables. Now that ethanol content has increased significantly, you may find the engine is able to tolerate more boost, more ignition timing, a leaner open-loop fuel target, etc. (or vise-versa if ethanol content has decreased). You can use the Blending Ratio tables to introduce non-linear blending or any variety of other tuning strategies based on the exact vehicle, modifications, tuning goals, etc.

  8. Once Fuel B and Group B tuning has been completed, you effectively have a completely operational Flex Fuel tune! Double-check all Blending Ratio, Group A and Group B tables for sanity.

...


DIT Flex Fuel

Please read the above documentation first. While by and large, our flex fuel implementation for DIT engines works in the same fashion as the EJ engine implementation, there are differences based on the tables and logic present on each ECU.

  1. The stock DIT ECU has many more tables than the EJ ECUs. This led us to combine some multiple tables on the Flex Fuel B side into single tables as follows:

    1. AVCS Intake Cam Advance Target (TGVs Open) A/B (Barometric Multiplier Low)

    2. AVCS Exhaust Cam Retard Target (TGVs Open) A/B (Barometric Multiplier Low)

    3. Closed Loop Fueling Target Base (Main) A/B/C/D

    4. Closed Loop Fueling Target Base (Main) Lean Limit A/B/C/D

    5. Post-Start Enrichment (Homogeneous) Base... A/B/C/D

    6. Post-Start Enrichment (Stratified) Base... A/B

    7. Primary Ignition (TGVs Closed) ALL

    8. Primary Ignition (TGVs Open) ALL

    9. Primary Open Loop Fueling Base ALL

  2. The table name specifies which Flex Fuel A table is copied to the corresponding B table. For example: Post-Start Enrichment (Homogeneous) Base (Fast) A/B/C/D (Copied From A Table in FF A Group) (Flex Fuel B) 

  3. When using the Flex Fuel Copy Groups feature, keep in mind that copying B to A will result in the single B table being copied into multiple A tables. In the case of the Post-Start table mentioned above, the single FF B table will be copied to the four FF A tables A/B/C/D, as specified in the table name. 

  4. Ethanol Sensor Calibration Smoothing Factor has been expanded into a table that allows for compensation by approximate fuel injected. Fuel injected is calculated based on the Ethanol Sensor Calibration Sampling Rate calibrated value, as well as Mass Airflow, Commanded Fuel Final and short/long-term fuel trimsThis feature enhancement leads to our next topic, the Ethanol Content Delay System (ECDS). The variable smoothing factor allows the tuner to alter how quickly Ethanol Raw is applied to Ethanol Final during an ethanol content transition (i.e. when changing ethanol content by refueling the vehicle).

  5. Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC)COBB internal testing and external reports from our Protuner network indicate concerns with running high ethanol content fuel consistently over the long term. In the E0 to E30 range ethanol is generally well tolerated by DIT systems from Subaru, Mazda, BMW, and other platforms we support. However, the factory HPFPs (high-pressure fuel pumps) on all these platforms are not designed to operate in a flex fuel environment and exhibit poor performance and sometimes failures when E85 is used persistently. At near 85% ethanol content, many users have reported sudden loss of fuel pressure, causing poor engine operation and in some cases, the engine stops running and will not restart. This generally occurs after 1-8 consecutive tanks of E85 fuel. With this new DTC you can disable boost control and enable a check engine code and the light if the vehicle is fueled with an ethanol content higher than the max you feel is safe.

    1. Ethanol Sensor DTC Max. Safe Ethanol Concentration for Tune (C0BB5 DTC) Delay - This delay allows you to avoid a momentary high ethanol reading from enabling the COBB5 DTC unnecessarily.

  6. Closed Loop Fueling Target Final (Alternate)(Aggressive Start)(Primary OL Fuel Compare) - This is not a flex fuel table but can become active regardless of ethanol content. Since your desired fuel targets on low and high ethanol fuel may be significantly different, we suggest disabling this function via the coolant temperature thresholds as described in the DIT Tuning guide.

  7. Primary Open Loop Fueling Min. Enrichment (Final) - This table is active any time the ECU is fueling in open loop. Values in this table are applied unless your primary open loop target is richer than the minimum enrichment value, in which case the primary open loop target takes precedence. Keep in mind this is not a flex fuel table, so setting this table richer than your high ethanol primary open loop target would result in the minimum enrichment target being applied.

Fuel System Considerations

As with other DIT platforms i.e. VW, BMW, Mazda, the fuel pumps in Subaru DIT vehicles are not designed for ethanol use beyond 10-15%. That said, ethanol levels between 15-30% are generally well tolerated. Those comfortable with mild risk can run ~E30 and enjoy improved knock resistance, charge air cooling, and a mild improvement in engine power potential. While you can't get E30 at the pump, pumping a combination of E0/E10 gas and E85 in an appropriate ratio will allow the blending of a near E30 mixture in your tank.

On DIT platforms not set up for flex fuel from the factory, at greater than 30% concentration, ethanol has caused oscillating fuel pressure first, progressing to loss of fuel pressure, high-pressure fuel pump damage, even making the vehicle inoperable in some cases. Sudden loss of fuel pressure can cause a sudden loss of acceleration, stalling, which can reduce braking performance and steering control. Long story short, while the power potential is very attractive, the use of high ethanol content fuel is at your own risk.

COBB has performed internal testing in multiple geographic locations with different fuel sources in addition to compiling data from COBB retail shops, our Protuner network, and customers. The results varied significantly. Some users ran several tanks of E85 in a row without issue while some experienced serious loss of fuel pressure in as little as 1-2 tanks of fuel.

We suggest monitoring fuel pressure for oscillations. After having fuel pressure issues, some users were able to flush the HPFP (high-pressure fuel pump) out with low ethanol gasoline and get it to operate normally again, while others had to replace the whole pump assembly before they could safely drive the car again. After replacing the pump some users experienced repeat failures if they continued to run E85 fuel.

...

ECDS (Ethanol Content Delay System)

The ECDS system prevents Ethanol Final changes from the time it activates until the Exit Threshold based on fuel mass injected is achieved. This prevents large changes in engine operation based on ethanol sensor readings from occurring before fuel at the sensor reaches the combustion chamber.

While not a significant concern on return fuel systems because fuel is almost always circulating through the rails, this is critical on DIT's returnless fuel system when fuel ethanol content changes dramatically (ex. car had e10 in it, the customer fills up with E85 or vice versa).

The ECDS system has a few main components:

  • Activation - All thresholds must be met to activate the system

    • Ethanol Transition Activation (Ethanol Delta Threshold Exceeded Count) - Ethanol Delta must be greater than the Ethanol Transition Activation (Ethanol Delta Threshold) for this number of samples for the system to activate.

    • Ethanol Transition Activation (Ethanol Delta Threshold) - The ethanol delta between the current sample and the previous sample.

    • Ethanol Transition Ethanol Delta Calculation Rate - The sampling rate for ethanol delta calculations. This is separate from the Ethanol Sensor Calibration Sampling Rate.

    • Ethanol Transition Ethanol Delta Calculation Type (0 = Ethanol Raw, 1 = Ethanol Final) - Determines whether the delta calculated is monitoring Ethanol Raw or Ethanol Final values.

  • Ethanol Final Lockout Period:

    • Ethanol Transition Exit Threshold (Fuel Injected Sum Threshold) - Ethanol Final resumes normal behavior once this fuel injection sum is achieved.

    • Ethanol Transition Exit Threshold (Max. Allowed Time Period) - If this time period expires before the Fuel Injected Sum Threshold is achieved, Ethanol Final will resume normal operation.

  • Re-activation:

    • Ethanol Transition Activation (Min. Required Time Period from Last Transition) - A time period that must expire once ECDS operation completes before the system can re-activate.

Key factors to note:

  • While Ethanol Sensor Calibration Smoothing Factor isn't a component of the ECDS, the value chosen affects how Ethanol Final adopts Ethanol Raw once the lockout period expires. 

  • Setting Ethanol Sensor Calibration Smoothing Factor to 0 when fuel mass injected is 0 (fuel cut) may be deemed optimal, but setting the whole smoothing table to 0 would prevent Ethanol Final from ever updating. You will likely want smoothing to have a minimal effect (high table values) during periods of high fuel mass injection, and the most smoothing (low table values) during times of minimal fuel mass injection. 

  • Any manipulation of airflow and fuel injection calculation in your calibration which skews values from accurate ones must be accounted for in your ECDS settings for the system to work properly. For example, if you halve MAF scaling from accurate values, the ECDS system will calculate half the actual fuel mass injected. 

  • We suggest setting your Ethanol Sensor Calibration Deadband Range (Abs. Delta) to reduce or avoid constant ethanol final updating when no significant ethanol content change is present. 

  • The injectors are not fed by equal-length tubing which may result in a brief bank to bank variance in ethanol content. Despite the power of ECDS and our testing under extreme conditions, we suggest advising drivers to exercise some caution, when possible, until ethanol transitions are complete.

  • Since high ethanol fuel requires significantly more fuel mass, the injection times increase significantly. Especially at high load and engine speed, start of injection timing may need to be significantly altered to keep end of injection from being too close to the ignition event to avoid poor combustion. Fuel Injector Start of Injection tables are available in our flex fuel implementation to facilitate this as well as allow optimization of injection window for best efficiency.


ECDS default values calibrated by COBB staff are only appropriate for COBB flex fuel hardware, installed in the exact manner we instruct. If you use an alternative installation, you'll want to optimize ECDS settings for your needs. Here's an example workflow for that optimization:

  1. Make sure the system activates when you want it to, but it doesn't when you don't.

    1. Determine the frequency and count of samples you want the system to observe for ethanol change as well as the minimum delta you want to require between samples for the system to activate. Keep in mind the higher the frequency, the smaller the ethanol change can be if all other things are equal. All deltas must be in the same "direction" for the system to activate. For example, if your minimum delta per sample is 1% and the samples are 2,3, -2, 3 and you require a count of 3, the system will not activate because the count will zero when the -2 value is read.

    2. Decide if you want to observe a delta in Ethanol Raw or Ethanol Final. Consider the breath of the deadband you've set for Ethanol Final when choosing your activation delta.

    3. Set Ethanol Transition Activation (Min. Required Time Period from Last Transition) so the system does not re-activate sooner than you'd like after an ECDS process completes.

  2. Set the fuel mass which must be injected before the ECDS Exits

    1. Fuel mass injected is calculated by COBB custom logic

    2. Once ECDS activates, Ethanol Final is held and the Ethanol Transition Fuel Mass Injected Current adds up until the Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) is achieved, causing ECDS to exit, allowing Ethanol Final to resume updating.

    3. As a failsafe, we've added an Ethanol Transition Exit Threshold (Max. Allowed Time Period). This is a simple timer which allows you to exit the ECDS system if your Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) cannot be achieved despite fuel traveling from the sensor to the combustion chamber due to your other ECDS settings.

    4. We suggest erring on the side of having your Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) be slightly less than the actual grams between the sensor and the combustion chamber so the Ethanol smoothing can start transitioning Ethanol Final towards Ethanol Raw before the new added to the tank fuel gets injected.

  3. Fine Tuning

    1. Fuel trims are the easiest way to determine how well your settings model the physical behavior of the vehicle. If you have your calibration optimized for all ethanol percentages when ethanol content is stable, AF correction will be minimal. Any additional AF correction during ethanol transitions will indicate a potential opportunity to improve your ECDS and smoothing calibration.

    2. Keep in mind these vehicles trim fuel around far more significantly than non-DIT WRX, to begin with. Don't pull your hair out trying to be +/- 3% under all possible conditions. It's not possible. With that in mind, you may want to set realistic expectations for customers monitoring trims.

    3. If fuel trims change drastically before ECDS exits, your Ethanol Transition Exit Threshold (Fuel Mass Injected Sum) may need some adjusting.

      1. If ethanol content changes from low to high, and total AF correction dramatically increases compared to the stable ethanol trimming under those conditions, before ECDS exits, your Sum is likely too high. Higher ethanol content would require increased fuel mass injection per unit airflow so trims will be more positive if Ethanol Final does not start to transition to the new higher Ethanol Raw value soon enough.

      2. If ethanol content changes from low to high, and total AF correction dramatically decreases compared to the stable ethanol trimming under those conditions, before ECDS exits, your Sum is likely too low. Higher ethanol content would require increased fuel mass injection per unit airflow so trims will be more negative if Ethanol Final starts to transition to the new higher Ethanol Raw value before the new higher ethanol fuel gets injected.

    4. Ethanol Smoothing - While not part of the ECDS system, smoothing is critical to the transition of Ethanol Final towards raw once ECDS exits. We've compensated smoothing based on Fuel Mass Injected Current because the more fuel you're injecting, the quicker the transition will happen. On the flip side, if you're injecting no fuel at all, the ethanol content at the injector isn't changing.

Troubleshooting Flex Fuel Related Custom DTCs:

Subaru Gateway Flex Fuel DTC Troubleshooting

...

Insert excerpt
Contact Us:
Contact Us:
nameContact Us:
nopaneltrue