Tag Archives: OBD2

Subaru OBD2 Decoding Explained

Subaru OBD2 Decoding

Few types of diagnostic trouble codes can be more confusing than those dealing with emission problems. From the beginning of mandatory Subaru OBD2 in 1996, more codes have been added and some have changed. Here’s a look at how Subaru of America, Inc. has added and streamlined P0400-series DTCs.

Subaru OBD2 Decoding: Locations of the OBD2 ports in various Subaru cars.
Subaru OBD2 Decoding: Locations of the OBD2 ports in various Subaru cars.

Emissions-related Subaru OBD2 diagnostic trouble codes (DTCs) have evolved over the last dozen years to more precisely pinpoint the problems in automotive systems. The handful of emissions codes used for On-Board Diagnostic (OBD) systems on the late 1980s and early 1990s has grown to nearly a hundred today. Over that time, many DTCS have been modified to more accurately reflect the cause, while others have been added to the list to address issues with advancing technology.

In order to understand how these factors affect Subaru OBD2 vehicles, it’s necessary to first look at the history of emissions control, on-board diagnostics and the DTC coding system.

Evaporative Emissions Testing Subaru

Evaporative Emissions Testing Subaru:

A major component of the Subaru OBD-II system is the system’s ability to monitor the evaporative emissions system. Today’s vehicles are producing very low emissions from the tailpipe, so it has become increasingly important to monitor and contain emissions from other vehicle sources.

Evaporative Emissions Testing Subaru: A major component of the Subaru OBD-II system is the system’s ability to monitor the evaporative emissions system.
Evaporative Emissions Testing Subaru: A major component of the Subaru OBD-II system is the system’s ability to monitor the evaporative emissions system.

A potentially large source of emissions is the vehicle’s fuel system. If not properly contained, vapors escaping from the fuel tank could produce a larger quantity of harmful emissions while the vehicle was standing still than what would be emitted via the tailpipe when the engine was running and the vehicle was driving down the road.

The Subaru OBD-II system monitors the evaporative emissions system by drawing the system to a negative pressure. If the system holds vacuum, it passes the test. If the system fails to hold vacuum for the prescribed period, it fails and a diagnostic trouble code (DTC) P04440 is stored in the ECM memory. The malfunction indicator light (MIL) also comes on in the dash to alert the driver to the problem.

The charts that follow were collected through the data link connector using the New Select Monitor (NSM), during the diagnosis of a DTC P0440 on a 1997 Subaru Legacy 2.5 liter. We’ll begin with a description of system operation under normal operating conditions.

Subaru OBD-2 Diagnostic Trouble Codes:

Subaru OBD-2 Diagnostic Trouble Codes:

This is a list of the OBD-2 diagnostic trouble codes for Subaru Impreza, WRX, STi, Forester, and Legacy.

Subaru OBD2 Diagnostic port
Subaru OBD2 Diagnostic port

P0031 Front oxygen (A/F) sensor heater circuit low input
P0032 Front oxygen (A/F) sensor heater circult high input
P0037 Rear oxygen sensor heater circuit malfunction
P0038 Rear oxygen sensor heater circuit high input
P0065 Air assist injector solenoid valve malfunction
P0066 Air assist injector solenoid valve circuit low input
P0067 Air assist injector solenoid valve circuit high input
P0100 Mass or Volume Air Flow Circuit Malfunction
P0101 Mass or Volume Air Flow Circuit Range/Performance Problem
P0102 Mass or Volume Air Flow Circuit Low Input
P0103 Mass or Volume Air Flow Circuit High Input
P0104 Mass or Volume Air Flow Circuit Intermittent
P0105 Manifold Absolute Pressure/Barometric Pressure Circuit Malfunction
P0106 Manifold Absolute Pressure/Barometric Pressure Circuit Range/Performance Problem
P0107 Manifold Absolute Pressure/Barometric Pressure Circuit Low Input
P0108 Manifold Absolute Pressure/Barometric Pressure Circuit High Input
P0109 Manifold Absolute Pressure/Barometric Pressure Circuit Intermittent
P0109 Intake Air Temperature Circuit Malfunction
P0111 Intake Air Temperature Circuit Range/Performance Problem
P0112 Intake Air Temperature Circuit Low Input
P0113 Intake Air Temperature Circuit High Input
P0114 Intake Air Temperature Circuit Intermittent
P0115 Engine Coolant Temperature Circuit Malfunction
P0116 Engine Coolant Temperature Circuit Range/Performance Problem
P0117 Engine Coolant Temperature Circuit Low Input
P0118 Engine Coolant Temperature Circuit High Input
P0119 Engine Coolant Temperature Circuit Intermittent
P0120 Throttle/Petal Position Sensor/Switch A Circuit Malfunction
P0121 Throttle/Petal Position Sensor/Switch A Circuit Range/Performance Problem
P0122 Throttle/Petal Position Sensor/Switch A Circuit Low Input
P0123 Throttle/Petal Position Sensor/Switch A Circuit High Input
P0124 Throttle/Petal Position Sensor/Switch A Circuit Intermittent
P0125 Insufficient Coolant Temperature for Closed Loop Fuel Control
P0126 Insufficient Coolant Temperature for Stable Operation
P0128 Thermostat malfunction
P0130 O2 Sensor Circuit Malfunction (Bank 1 Sensor 1)
P0131 O2 Sensor Circuit Low Voltage (Bank 1 Sensor 1)
P0132 O2 Sensor Circuit High Voltage (Bank 1 Sensor 1)

P0133 O2 Sensor Circuit Slow Response (Bank 1 Sensor 1)

P0134 O2 Sensor Circuit No Activity Detected (Bank 1 Sensor 1)
P0135 O2 Sensor Heater Circuit Malfunction (Bank 1 Sensor 1)
P0136 O2 Sensor Circuit Malfunction (Bank 1 Sensor 2)
P0137 O2 Sensor Circuit Low Voltage (Bank 1 Sensor 2)
P0138 O2 Sensor Circuit High Voltage (Bank 1 Sensor 2)
P0139 O2 Sensor Circuit Slow Response (Bank 1 Sensor 2)
P0140 O2 Sensor Circuit No Activity Detected (Bank 1 Sensor 2)
P0141 O2 Sensor Heater Circuit Malfunction (Bank 1 Sensor 2)
P0142 O2 Sensor Circuit Malfunction (Bank 1 Sensor 3)
P0143 O2 Sensor Circuit Low Voltage (Bank 1 Sensor 3)
P0144 O2 Sensor Circuit High Voltage (Bank 1 Sensor 3)
P0145 O2 Sensor Circuit Slow Response (Bank 1 Sensor 3)
P0146 O2 Sensor Circuit No Activity Detected (Bank 1 Sensor 3)
P0147 O2 Sensor Heater Circuit Malfunction (Bank 1 Sensor 3)
P0150 O2 Sensor Circuit Malfunction (Bank 2 Sensor 1)
P0151 O2 Sensor Circuit Low Voltage (Bank 2 Sensor 1)
P0152 O2 Sensor Circuit High Voltage (Bank 2 Sensor 1)
P0153 O2 Sensor Circuit Slow Response (Bank 2 Sensor 1)
P0154 O2 Sensor Circuit No Activity Detected (Bank 2 Sensor 1)
P0155 O2 Sensor Heater Circuit Malfunction (Bank 2 Sensor 1)
P0156 O2 Sensor Circuit Malfunction (Bank 2 Sensor 2)
P0157 O2 Sensor Circuit Low Voltage (Bank 2 Sensor 2)
P0158 O2 Sensor Circuit High Voltage (Bank 2 Sensor 2)
P0159 O2 Sensor Circuit Slow Response (Bank 2 Sensor 2)
P0160 O2 Sensor Circuit No Activity Detected (Bank 2 Sensor 2)
P0161 O2 Sensor Heater Circuit Malfunction (Bank 2 Sensor 2)
P0162 O2 Sensor Circuit Malfunction (Bank 2 Sensor 3)
P0163 O2 Sensor Circuit Low Voltage (Bank 2 Sensor 3)
P0164 O2 Sensor Circuit High Voltage (Bank 2 Sensor 3)

P0165 O2 Sensor Circuit Slow Response (Bank 2 Sensor 3)
P0166 O2 Sensor Circuit No Activity Detected (Bank 2 Sensor 3)
P0167 O2 Sensor Heater Circuit Malfunction (Bank 2 Sensor 3)
P0170 Fuel Trim Malfunction (Bank 1)
P0171 System too Lean (Bank 1)
P0172 System too Rich (Bank 1)
P0173 Fuel Trim Malfunction (Bank 2)
P0174 System too Lean (Bank 2)
P0175 System too Rich (Bank 2)
P0176 Fuel Composition Sensor Circuit Malfunction
P0177 Fuel Composition Sensor Circuit Range/Performance
P0178 Fuel Composition Sensor Circuit Low Input
P0179 Fuel Composition Sensor Circuit High Input
P0180 Fuel Temperature Sensor A Circuit Malfunction
P0181 Fuel Temperature Sensor A Circuit Range/Performance

P0182 Fuel Temperature Sensor A Circuit Low Input
P0183 Fuel Temperature Sensor A Circuit High Input
P0184 Fuel Temperature Sensor A Circuit Intermittent
P0185 Fuel Temperature Sensor B Circuit Malfunction
P0186 Fuel Temperature Sensor B Circuit Range/Performance
P0187 Fuel Temperature Sensor B Circuit Low Input
P0188 Fuel Temperature Sensor B Circuit High Input
P0189 Fuel Temperature Sensor B Circuit Intermittent
P0190 Fuel Rail Pressure Sensor Circuit Malfunction
P0191 Fuel Rail Pressure Sensor Circuit Range/Performance
P0192 Fuel Rail Pressure Sensor Circuit Low Input
P0193 Fuel Rail Pressure Sensor Circuit High Input
P0194 Fuel Rail Pressure Sensor Circuit Intermittent
P0195 Engine Oil Temperature Sensor Malfunction
P0196 Engine Oil Temperature Sensor Range/Performance
P0197 Engine Oil Temperature Sensor Low
P0198 Engine Oil Temperature Sensor High
P0199 Engine Oil Temperature Sensor Intermittent