ON-BOARD DIAGNOSTICS
Engine Control Module (ECM) monitors engine operation and contains a self-diagnostic system which stores Diagnostic Trouble Codes (DTCs) and complies with On-Board Diagnostics Generation II (OBD-II) standards.
Self-diagnostic system is used to provide vehicle with an on-board diagnostic system which is capable of continuously monitoring efficiency of emission control system, and improving diagnosis and repair when system failures occur.
Federal Test Procedure (FTP) sets maximum allowable emission standards. A Malfunction Indicator Light (MIL) must illuminate if a system or component either fails or deteriorates to a point where the vehicle emissions could increase to more than 1 1/2 times FTP standards.
If malfunction does not recur in 3 ignition cycles, MIL goes off, but DTCs remain recorded in ECM memory. DTCs may only be retrieved using an On-Board Diagnostic-II (OBD-II) scan tool that complies with SAE standard J-1978 or Subaru Select Monitor connected to Data Link Connector (DLC). Scan tool also provides freeze-frame data and can be used to clear codes.
MALFUNCTION INDICATOR LIGHT INSPECTION
Note. The Malfunction Indicator Light (MIL), also referred to as Check Engine light, is a warning light on the instrument cluster.
DIAGNOSTIC PROCEDURE
Diagnosis of computerized engine control system should be performed in the following order
- Ensure all engine systems not related to computer system are operating properly. DO NOT proceed with testing unless all other problems have been repaired. Basic diagnostic procedure must be performed before using specific DTC testing procedure. See «BASIC DIAGNOSTIC PROCEDURE»(ref-63535-S26517940312001020900000) .
- If DTCs were displayed, determine whether codes are hard or intermittent. Hard codes will cause MIL to illuminate continuously while engine is running. See «HARD FAILURES»(ref-63535-S26058415452001020900000) and «INTERMITTENT FAILURES»(ref-63535-S39381351982001020900000) . For diagnosing hard codes, proceed to appropriate DTC test. See «DIAGNOSTIC TESTS»(ref-63535-S12403123752001020900000) . For diagnosing intermittent codes, see TROUBLE SHOOTING - NO CODES article.
- If no DTCs are present and a driveability problem exists, refer to SYMPTOMS in TROUBLE SHOOTING - NO CODES article. Doing so will help identify proper system or component to check in SYSTEM & COMPONENT TESTING article.
- After necessary repairs are made, clear DTCs, and perform verification of repair to ensure DTC does not reset.
BASIC DIAGNOSTIC PROCEDURE
Note. Subaru Select Monitor (SSM) or an OBD-II generic scan tool must be used to perform basic diagnostic procedure. Follow scan tool manufacturer's instructions for proper operation. Communication with vehicle's on-board computer is through the OBD-II Data Link Connector (DLC). (Scheme 56)
After performing procedures in PRELIMINARY INSPECTION & ADJUSTMENTS, BASIC FUEL SYSTEM CHECKS and BASIC IGNITION SYSTEM CHECKS in BASIC DIAGNOSTIC PROCEDURES article, this is the starting point for utilizing the self-diagnostic system for determining computer-related problems. After performing necessary tests as described in the basic diagnostic procedure, if no codes are indicated and driveability problems still exist, see MALFUNCTION INDICATOR LIGHT DIAGNOSIS in TROUBLE SHOOTING - NO CODES article. Scan tool functions consist of
- MODE $01 Current powertrain diagnostic data.
- MODE $02 Powertrain freeze frame data.
- MODE $03 Emission-related powertrain DTCs.
- MODE $04 Clear/reset emission-related diagnostic information.
Scheme 56
Note. Check for applicable Technical Service Bulletins (TSBs) before proceeding. DO NOT perform the following procedure if driveability conditions are not present. DO NOT turn ignition off during the following procedure or clear DTCs unless instructed to do so.
- Verify customer complaint and conditions under which fault appears. Attempt to start engine. If engine starts, go to next step. If engine does not start, proceed to TROUBLE SHOOTING - NO CODES article for diagnosis by symptom (i.e., ROUGH IDLE, NO START, etc.).
- Check to see if MIL (CHECK ENGINE) light on instrument cluster illuminates, indicating a system fault. If MIL (CHECK ENGINE) light illuminates, go to next step. If MIL (CHECK ENGINE) light does not illuminate, go to MALFUNCTION INDICATOR LIGHT DIAGNOSIS in TROUBLE SHOOTING - NO CODES article.
- Turn ignition off. Prepare Subaru Select Monitor (SSM) by inserting appropriate diagnostic cartridge and connecting diagnostic cable. Connect SSM or OBD-II generic scan tool to data link connector (DLC). Turn ignition and scan tool on. Retrieve diagnostic trouble codes (DTCs). If any DTCs are stored, save freeze frame data using scan tool MODE $02, then go to next step. If no DTCs are stored, although MIL (CHECK ENGINE) light is illuminated, go to MALFUNCTION INDICATOR LIGHT DIAGNOSIS in TROUBLE SHOOTING - NO CODES article.
- Perform required repair by using procedure associated with DTC retrieved. See «SUBARU DIAGNOSTIC TROUBLE CODE (DTC) IDENTIFICATION CHART»(ref-63535-S20032490372001020900000) . If an automatic transaxle DTC is set with other codes, perform basic A/T checks and repair other DTCs first. Basic A/T checks consist of transaxle fluid level, differential fluid level, transaxle fluid leak, differential fluid leak, stall test, line pressure test, transfer clutch pressure test, time lag test, road test and shift characteristics only. See appropriate AUTOMATIC TRANSAXLE OVERHAUL article in AUTOMATIC TRANSMISSIONS.
- After repair, perform clear memory function. See «CLEARING DIAGNOSTIC TROUBLE CODES»(ref-63535-S26931138132001020900000) . After clearing DTCs, verify effectiveness of repair. See «VERIFICATION PROCEDURE»(ref-63535-S38101445392001020900000) . If repair addresses all issues and no DTCs exist, turn ignition off. Turn scan tool off. Disconnect test mode connector under driver's side of instrument panel. Disconnect scan tool from DLC.
CLEARING DIAGNOSTIC TROUBLE CODES
Clear DTC(s) using scan tool (MODE $04). Refer to scan tool manufacturer's instruction.
OBD-II Generic Scan Tool Procedure
- Turn ignition off. Connect test mode connector leads together under left side of instrument panel. see scheme 2 Connect scan tool to DLC. On A/T vehicles, ensure selector lever is in "P" position. On M/T vehicles, depress clutch pedal. On all vehicles, start engine.
- Using selector (A/T) or shift (M/T) lever, turn "P" and "N" position switches on. Depress brake pedal on A/T vehicles to turn brake switch on. On all vehicles, maintain engine speed at 2500-3000 RPM for 40 seconds. On vehicles not equipped with a tachometer, use a secondary pick-up type tachometer to monitor engine speed.
- Place transaxle in "D" position (A/T) or first gear (M/T) and drive vehicle at 3-6 MPH. On all-wheel drive vehicles, release parking brake. On all vehicles, DTCs will be displayed if problems are still present. Record codes as required. This verification procedure may cause ABS warning light to illuminate due to speed variations between front and rear wheels. Clear ABS memory. See appropriate ANTI-LOCK article in BRAKES.
DIAGNOSTIC TROUBLE CODE DEFINITIONS
| Code No. (1) | Circuit Affected |
|---|---|
| P0031 | Bank No. 1 (Right), No. 1 O2S (Front) Heater Circuit Low Input |
| P0032 | Bank No. 1 (Right), No. 1 O2S (Front) Heater Circuit High Input |
| P0037 | Bank No. 1 (Right), No. 2 O2S (Rear) Heater Circuit Low Input |
| P0038 | Bank No. 1 (Right), No. 2 O2S (Rear) Heater Circuit Low Input |
| P0051 | Bank No. 2 (Left), No. 1 O2S (Front) Heater Circuit Low Input |
| P0052 | Bank No. 2 (Left), No. 1 O2S (Front) Heater Circuit High Input |
| P0106 | Intake Manifold Pressure Sensor Circuit Range/Performance Problem |
| P0107 | Intake Manifold Pressure Sensor Circuit Low Input |
| P0108 | Intake Manifold Pressure Sensor Circuit High Input |
| P0111 | Intake Air Temperature (IAT) Sensor Circuit Range/Performance Problem |
| P0112 | Intake Air Temperature (IAT) Sensor Circuit Low Input |
| P0113 | Intake Air Temperature (IAT) Sensor Circuit High Input |
| P0117 | Engine Coolant Temperature (ECT) Sensor Circuit Low Input |
| P0118 | Engine Coolant Temperature (ECT) Sensor Circuit High Input |
| P0121 | Throttle Position (TP) Sensor Circuit Range/Performance Problem (High Input) |
| P0122 | Throttle Position (TP) Sensor Circuit Low Input |
| P0123 | Throttle Position (TP) Sensor Circuit High Input |
| P0125 | Engine Coolant Temperature Too Low For Closed Loop Fuel Control |
| P0128 | Thermostat Malfunction |
| P0131 | Bank No. 1 (Right), No. 1 O2S (Front) Circuit Range/Performance Problem (Low Input) |
| P0132 | Bank No. 1 (Right), No. 1 O2S (Front) Circuit Range/Performance Problem (High Input) |
| P0133 | Bank No. 1 (Right), No. 1 O2S (Front) Circuit Slow Response |
| P0136 | Bank No. 1 (Right), No. 2 O2S (Rear) Circuit Malfunction |
| P0139 | Bank No. 1 (Right), No. 2 O2S (Rear) Circuit Slow Response |
| P0151 | Bank No. 2 (Left), No. 1 O2S (Front) Circuit Range/Performance Problem (Low Input) |
| P0152 | Bank No. 2 (Left), No. 1 O2S (Front) Circuit Range/Performance Problem (High Input) |
| P0153 | Bank No. 2 (Left), No. 1 O2S (Front) Circuit Slow Response |
| P0171 | Fuel Trim No. 1 (Right Bank), Malfunction (Too Lean) |
| P0172 | Fuel Trim No. 1 (Right Bank), Malfunction (Too Rich) |
| P0174 | Fuel Trim No. 2 (Left Bank), Malfunction (Too Lean) |
| P0175 | Fuel Trim No. 2 (Left Bank), Malfunction (Too Rich) |
| P0181 | Fuel Temperature Sensor "A" Circuit Range/Performance Problem |
| P0182 | Fuel Temperature Sensor "A" Circuit Low Input |
| P0183 | Fuel Temperature Sensor "A" Circuit High Input |
| P0301 | Cylinder No. 1 Misfire Detected |
| P0302 | Cylinder No. 2 Misfire Detected |
| P0303 | Cylinder No. 3 Misfire Detected |
| P0304 | Cylinder No. 4 Misfire Detected |
| P0305 | Cylinder No. 5 Misfire Detected |
| P0306 | Cylinder No. 6 Misfire Detected |
| P0327 | Knock Sensor (KS) No. 1 (Right Bank), Circuit Low Input |
| P0328 | Knock Sensor (KS) No. 1 (Right Bank), Circuit High Input |
| P0332 | Knock Sensor (KS) No. 2 (Left Bank), Circuit Low Input |
| P0333 | Knock Sensor (KS) No. 2 (Left Bank), Circuit High Input |
| P0335 | Crankshaft Position (CKP) Sensor Circuit Malfunction |
| P0336 | Crankshaft Position (CKP) Sensor Circuit Range/Performance Problem |
| P0340 | Camshaft Position (CMP) Sensor Circuit Malfunction |
| P0341 | Camshaft Position (CMP) Sensor Circuit Range/Performance Problem |
| P0400 | EGR System Malfunction |
| P0420 | Catalyst System Efficiency Below Threshold |
| P0442 | EVAP System Control Circuit Malfunction |
| P0444 | EVAP System Purge Control Valve Circuit Low Input |
| P0445 | EVAP System Purge Control Valve Circuit High Input |
| P0447 | EVAP System Vent Control Circuit |
| P0448 | EVAP System Vent Control Circuit High Input |
| P0451 | EVAP System Pressure Sensor Range/Performance Problem |
| P0452 | EVAP System Pressure Sensor Low Input |
| P0453 | EVAP System Pressure Sensor High Input |
| P0461 | Fuel Level Sensor Circuit Range/Performance Problem |
| P0462 | Fuel Level Sensor Circuit Low Input |
| P0463 | Fuel Level Sensor Circuit High Input |
| P0464 | Fuel Level Sensor Circuit Intermittent Input |
| P0480 | Cooling Fan Relay No. 1 Circuit Low Input |
| P0483 | Cooling Fan Function Problem |
| P0500 | Vehicle Speed Sensor (VSS) Malfunction |
| P0506 | Idle Control System RPM Lower Than Expected |
| P0507 | Idle Control System RPM Higher Than Expected |
| P0508 | Idle Control System Circuit Low Input |
| P0509 | Idle Control System Circuit High Input |
| P0512 | Starter Switch Circuit High Input |
| P0604 | Internal Control Module Memory Check Sum Error |
| P0661 | Induction Valve Control Solenoid Circuit Low Input |
| P0662 | Induction Valve Control Solenoid Circuit High Input |
| P0703 (2) | Brake Switch Input Malfunction |
| P0705 (2) | Transmission Range Sensor Circuit Malfunction (A/T) |
| P0710 (2) | Transmission Fluid Temperature Sensor Circuit Malfunction (A/T) |
| P0715 (2) | Torque Converter Turbine Speed Sensor Circuit Malfunction (A/T) |
| P0720 (2) | Output Speed Sensor (VSS No. 2) Circuit Malfunction (A/T) |
| P0725 (2) | Engine Speed Input Circuit Malfunction |
| P0731 (2) | Gear 1 Incorrect Ratio |
| P0732 (2) | Gear 2 Incorrect Ratio |
| P0733 (2) | Gear 3 Incorrect Ratio |
| P0734 (2) | Gear 4 Incorrect Ratio |
| P0741 (2) | Torque Converter Clutch System Malfunction (A/T) |
| P0743 (2) | Torque Converter Clutch System (Lock-Up Duty Solenoid) Electrical (A/T) |
| P0748 (2) | Pressure Control Solenoid (Line Pressure Duty Solenoid) Electrical (A/T) |
| P0753 (2) | Shift Solenoid "A" (No. 1) Electrical (A/T) |
| P0758 (2) | Shift Solenoid "B" (No. 2) Electrical (A/T) |
| P0778 (2) | 2-4 Brake Pressure Control Solenoid Valve Circuit Malfunction |
| P0785 (2) | 2-4 Brake Timing Control Solenoid Valve Circuit Malfunction |
| P1110 | Atmospheric Pressure Sensor Circuit Low Input |
| P1111 | Atmospheric Pressure Sensor Circuit High Input |
| P1112 | Atmospheric Pressure Sensor Circuit Range/Performance Problem |
| P1130 | Bank No. 1 (Right), No. 1 O2S (Front) Circuit Malfunction (Open Circuit) |
| P1131 | Bank No. 1 (Right), No. 1 O2S (Front) Circuit Malfunction (Short Circuit) |
| P1134 | Front O2S Micro-Computer Problem |
| P1135 | Bank No. 2 (Left), No. 1 O2S (Front) Circuit Malfunction (Open Circuit) |
| P1136 | Bank No. 2 (Left), No. 1 O2S (Front) Circuit Malfunction (Short Circuit) |
| P1139 | Bank No. 1 (Right), No. 1 O2S (Front) Heater Circuit Range/Performance Problem |
| P1140 | Bank No. 2 (Left), No. 1 O2S (Front) Heater Circuit Range/Performance Problem |
| P1142 | Throttle Position (TP) Sensor Circuit Range/Performance Problem (Low Input) |
| P1146 | Pressure Sensor Circuit Range/Performance Problem (High Input) |
| P1400 | Fuel Tank Pressure Control Solenoid Valve Circuit Low Input |
| P1420 | Fuel Tank Pressure Control Solenoid Valve Circuit High Input |
| P1443 | EVAP System Vent Control Function Problem |
| P1480 | Cooling Fan Relay No. 1 Circuit High Input |
| P1507 | Idle Control System Malfunction (Fail-Safe) |
| P1518 | Starter Switch Circuit Low Input |
| P1560 | Back-Up Voltage Circuit Malfunction |
| P1590 | Neutral Position Switch Circuit High Input (A/T) |
| P1591 | Neutral Position Switch Circuit Low Input (A/T) |
| P1594 (2) | Automatic Transmission Diagnosis Input Signal Circuit Malfunction |
| P1595 (2) | Automatic Transmission Diagnosis Input Signal Circuit Low Input |
| P1596 (2) | Automatic Transmission Diagnosis Input Signal Circuit High Input |
| P1698 (2) | Engine Torque Control Cut Signal Circuit Low Input |
| P1699 (2) | Engine Torque Control Cut Signal Circuit High Input |
| P1700 (2) | Throttle Position (TP) Sensor Circuit Malfunction (A/T) |
| P1701 (2) | Cruise Control Set Signal Circuit Malfunction (A/T) |
| P1703 (2) | Low Clutch Timing Control Solenoid Valve Circuit Malfunction (A/T) |
| P1711 (2) | Engine Torque Control Signal No. 1 Circuit Malfunction |
| P1712 (2) | Engine Torque Control Signal No. 2 Circuit Malfunction |
| (1) Some codes are two-trip detection logic code(s). For more information, see TWO-TRIP DETECTION LOGIC under SELF-DIAGNOSTIC SYSTEM. (2) Covered in entirety in appropriate ELECTRONIC CONTROLS article in AUTOMATIC TRANSMISSIONS. | |
| (1) | Some codes are two-trip detection logic code(s). For more information, see TWO-TRIP DETECTION LOGIC under SELF-DIAGNOSTIC SYSTEM. |
| (2) | Covered in entirety in appropriate ELECTRONIC CONTROLS article in AUTOMATIC TRANSMISSIONS. |
SUBARU DIAGNOSTIC TROUBLE CODE (DTC) IDENTIFICATION CHART
DIAGNOSTIC TESTS
| CAUTION | Perform all resistance and voltage tests with a Digital Volt-Ohmmeter (DVOM) with minimum 10-megohm impedance, unless stated otherwise in test procedures. Ensure ignition switch is in OFF position when performing resistance tests. |
Note. Subaru Select Monitor (SSM) or OBD-II generic scan tool must be used to perform diagnostic tests. Values and procedures given in tests are based on the use of SSM scan tool. Follow scan tool manufacturer's instructions. After repair or replacement of faulty parts, clear memory and perform verification of repair. For ECM terminal identification, see PIN VOLTAGE CHARTS article. If backprobing ECM connector is required, use ECM terminal identification illustration or reverse image of (Scheme 57). For circuit identification and wire colors, see WIRING DIAGRAMS article.
Scheme 57
Scheme 58
- Perform basic diagnostic procedure. See «BASIC DIAGNOSTIC PROCEDURE»(ref-63535-S26517940312001020900000). If DTC P0031, P0037 and P0051 exist at the same time, go to next step. If only DTC P0031 exists, go to step 3.
- Turn ignition off. Using an ohmmeter connected to ground, individually backprobe ECM connector B137 (31-pin connector) terminals No. 31, 21, 8 and 9. (Scheme 57) If resistance is less than 5 ohms at each test point, go to next step. If resistance is not less than 5 ohms at each test point, locate and repair open circuit in wiring and check for proper terminal contact in connectors between ECM and chassis ground point.
- Start engine. Using scan tool, observe right front HO2S heater current value. If current draw is more than 0.2 amp, check for poor terminal contact at ECM and right front HO2S connectors. If current draw is not more than 0.2 amp, go to next step.
- With engine idling, measure voltage between ground and ECM connector B137 (31-pin connector) terminal No. 4. If voltage is less than one volt, go to step 6. If voltage is not less than one volt, go to next step.
- With engine idling, measure voltage between ground and ECM connector B137 (31-pin connector) terminal No. 4 while wiggling harness and ECM connector. If voltage changes less than one volt while wiggling harness and ECM connector, check for poor terminal contact at ECM connector. If voltage does not change less than one volt while wiggling harness and ECM connector, go to next step.
- Measure voltage between ground and ECM connector B137 (31-pin connector) terminal No. 5. If voltage is less than one volt, go to step 8. If voltage is not less than one volt, go to next step.
- Measure voltage between ground and ECM connector B137 (31-pin connector) terminal No. 5 while wiggling harness and ECM connector. If voltage changes less than one volt while wiggling harness and ECM connector, check for poor terminal contact at ECM connector. If voltage does not change less than one volt while wiggling harness and ECM connector, go to next step.
- Turn ignition off. Disconnect right front HO2S connector. Turn ignition on. Using a DVOM connected to ground, measure voltage at right front HO2S connector terminal No. 2. (Scheme 58) If resistance is less than 10 ohms, locate and repair open or short to ground in wiring and check for proper terminal contact in connectors between ECM and right front HO2S. If resistance is not less than 10 ohms, replace right front HO2S. Clear memory and perform verification procedure. See «CLEARING DIAGNOSTIC TROUBLE CODES»(ref-63535-S26931138132001020900000) and «VERIFICATION PROCEDURE»(ref-63535-S38101445392001020900000).