Subaru's horizontally-opposed (boxer) engines have a distinctive layout that affects both their failure modes and diagnostic approach. The flat-four configuration means that knock sensors, oxygen sensors and other components are positioned differently from conventional inline or V-configuration engines, and this influences how OBD2 codes should be interpreted.

Subaru OBD2 and SSM Protocol

Subaru supports standard OBD2 on all models from 1996 onwards. Additionally, Subaru uses its own Select Monitor (SSM) protocol for enhanced diagnostics. SSM3 is accessible via third-party tools including FreeSSM (open-source, Windows/Linux) and RomRaider. SSM4, used on newer models, requires the official Subaru SST tool or compatible professional scanners.

Standard OBD2 covers the engine and basic transmission data. SSM adds:

  • Per-cylinder knock correction values
  • Throttle position learning values
  • Transmission slip ratio (CVT models)
  • AWD torque distribution data
  • Idle speed learning

Common Subaru Fault Codes

CodeDescriptionCommon Models
P0325Knock Sensor 1 Circuit MalfunctionAll EJ and FB engines
P0328Knock Sensor 1 Circuit HighEJ20, EJ25
P0171System Too Lean (Bank 1)Impreza, Forester
P0174System Too Lean (Bank 2)EJ25 (H4 flat-four)
P0420Catalyst Efficiency Below ThresholdOutback, Forester
P0021Intake Camshaft Position Timing (Bank 2)AVCS-equipped models
P0300Random MisfireEJ25 (head gasket)
P0016Crankshaft/Camshaft CorrelationFB20, FB25

P0325 — Knock Sensor on Subaru Boxer Engines

The knock sensor on Subaru's EJ-series engines sits on the underside of the engine block between the cylinder banks — a location that makes it prone to damage from road debris and difficult to access for inspection. P0325 can be caused by a failed sensor, damaged wiring (particularly where the harness passes near the exhaust), or a loose sensor mounting bolt. Before replacing the sensor, check the wiring harness carefully for chafing against the exhaust heat shield.

Subaru FB25D naturally aspirated boxer engine

The Subaru FB25D naturally aspirated boxer engine — used in Forester, Outback and Legacy

EJ25 Head Gasket and OBD2 Symptoms

The EJ25 engine (2.5L naturally aspirated, used in Forester, Outback and Legacy) has a well-documented head gasket weakness, particularly on the SOHC variant (EJ251/EJ253). Head gasket failure typically manifests as:

  • P0300 random misfire codes (combustion gases entering coolant)
  • P0171/P0174 lean codes (coolant entering combustion chamber)
  • Coolant temperature fluctuations visible in live data
  • White exhaust smoke on cold starts

When diagnosing these codes on an EJ25, always check coolant level and inspect for white residue around the coolant reservoir cap before proceeding with standard OBD2 diagnosis.

Subaru AVCS (Active Valve Control System)

Subaru's AVCS variable valve timing system is used on DOHC EJ engines and all FB-series engines. It operates similarly to Toyota's VVT-i and is oil-pressure dependent. P0011 and P0021 codes on AVCS-equipped Subarus are frequently caused by oil sludge blocking the AVCS solenoid screen — a consequence of extended oil change intervals. The FB20 and FB25 engines are particularly sensitive to oil quality.

FreeSSM for Subaru Diagnostics

FreeSSM is an open-source diagnostic application for Subaru vehicles using the SSM3 protocol. It runs on Windows and Linux and connects via a USB-to-OBD2 interface. FreeSSM provides access to Subaru-specific live data parameters not available through standard OBD2, including per-cylinder knock correction, which is invaluable for diagnosing detonation issues on turbocharged WRX and STI models.

For Subaru technical background and model history, the Subaru Wikipedia article is a useful reference. The FreeSSM project documentation covers SSM3 protocol details for older Subaru models.