ECU Diagnostics and error codes
All info on this page relates to 1992 - 1995 Subaru impreza's.
Check Engine Light (CEL) Read Out
The ECU can diagnose any fault that may arise due to abnormal signals that are sent to the controller. The ECU Check Engine will illuminate in the instrument console if there is a problem with any of the computers inputs. It is possible to find which sensor(s) is faulty by following these steps:
- Turn ignition OFF
- Connect read memory connectors (Two black connectors under the dash on the drivers side)
- Turn ignition ON (Engine OFF)
- Engine Check lamp turns on
- Code is indicated by Pulsing lamp
- If Code is OK then Turn ignition OFF & Disconnect Connectors
- Check ECU Code
- Turn ignition OFF & Disconnect Connectors
- If there is a fault Check Appropriate Sensor
Decoding ECU Codes
The ECU codes are displayed as pulses of the Check Engine Light.
If Check Engine Light goes out there is no fault.
In Diagnostic Mode – No Fault is indicated by the Check Engine Light continuously & evenly flashing on/off ( this is also used to indicate the successful completion of an ECU Reset).
The long pulses (1.3 Seconds) indicate Tens and the short pulses (0.2 Seconds) indicate ones. Pulses are separated by Short Pauses (0.2 Seconds), multiple codes are separated by a Long Pause (1.8 Seconds).
The simplest way for an inexperienced mechanic to retrieve codes is to write the codes down in a sort of Morse Code (dots and dashes), and start a new line when you get a 1.8 Second pause (for NEW code), and then add the actual numbers up after code retrieval is completed.
Example Single Code:
1.3 second pulse (10)0.2 second pause
1.3 second pulse (10....for a total of 20)
0.2 second pause
0.2 second pulse (1.....for a total of 21)
0.2 second pause
0.2 second pulse (1.....for a total of 22)
0.2 second pause
0.2 second pulse (1.....for a total of 23)
Meaning a code 23 - MAF Sensor
Example of Multiple Code:
1.3 second pulse (10)0.2 second pause
1.3 second pulse (10....for a total of 20)
0.2 second pause
0.2 second pulse (1.....for a total of 21)
0.2 second pause
0.2 second pulse (1.....for a total of 22)
0.2 second pause
0.2 second pulse (1.....for a total of 23)
1.8 second pause (this means NEW code)
1.3 second pulse (10)
0.2 second pause
0.2 second pulse (1.....for a total of 11)
0.2 second pause
.2 second pulse (1.....for a total of 12)
Meaning error codes of 23 and 12 - MAF Sensor and Starter Circuit
ECU Reset
On early MYs (especially pre MY97) the ECU retards the ignition when knock is detected, however, it is very slow to advance the timing again. An ECU reset will restore the car to factory default settings. This will remove any stored fault codes and restore ignition advance. It is possible to reset the ECU by following these steps:
- Turn ignition OFF
- Connect Read Memory Connectors & Test Mode Connectors (jumper 5) [black connectors] – (jumper 6) [green connectors]
- Turn ignition ON (engine off)
- Engine Check lamp turns on
- Depress accelerator pedal completely
- Then return it to the half-throttle position and hold it there for two seconds
- Release pedal completely
- Start engine
- Code is indicated by Pulsing lamp
- If a fault is detected - Check ECU Code
- If no fault is detected - drive the car sensible for a couple of minutes i.e. until warm (do not run tall & do not thrash it!)
- When the ECU has been reset the Check Engine Light will flash
- Code is indicated by Pulsing lamp
- If a fault is detected Check ECU Code
- Turn ignition OFF & Disconnect Connectors
- If there is a fault Check Appropriate Sensor
ECU Codes
| Error Code | Sensor/Item | Error Description | ECU's built in Fail-Safe Operation |
|---|---|---|---|
| 11 | crank angle sensor | No signal entered from crank angle sensor, but signal (corresponding to at least one rotation of the crank) entered from cam angle sensor | none |
| 12 | starter switch | Abnormal signal emitted fromstarter switch | Turns starter signal switch OFF |
| 13 | cam angle sensor | No signal entered from cam angle sensor, but signal (corresponding to at least two rotations of cam) entered from crank angle senso | none |
| 14 | Injector #1 | Fuel injector inoperative(Abnormal signal emitted from monitor circuit) | none |
| 15 | Injector #2 | Fuel injector inoperative (Abnormal signal emitted from monitor circuit) | none |
| 16 | Injector #3 | Fuel injector inoperative (Abnormal signal emitted from monitor circuit) | none |
| 17 | Injector #4 | Fuel injector inoperative (Abnormal signal emitted from monitor circuit) | none |
| 21 | Water temperature sensor | Abnormal signal emitted from water temperature sensor | Adjusts water to a specific temperature, maintains radiator fan "ON" to prevent overheating |
| 22 | Knock sensor | Abnormal voltage produced in knock sensor monitor circuit | Sets in regular fuel map and retards ignition timing |
| 23 | Air flow sensor | Abnormal voltage input entered from air flow sensor | Controls the amount of fuel (injected) in relation to engine speed and throttle sensor position |
| 24 | Air control valve | Air control valve inoperative (Abnormal signal produced in monitor circuit) | Prevents abnormal engine speed using "fuel cut" in relation to engine speed, vehicle speed, and throttle sensor position |
| 31 | Throttle sensor | Abnormal voltage input entered from throttle sensor | Sets throttle sensor's voltage output to a fixed value |
| 32 | Oxygen sensor | Oxygen sensor inoperative | none |
| 33 | Vehicle speed sensor | Abnormal voltage input entered from vehicle speed sensor | Sets vehicle speed signal to a fixed value |
| 35 | Canister purge solenoid valve | Solenoid valve inoperative | none |
| 41 | A/F learning control | Faulty learning control function | none |
| 42 | Idle switch | Abnormal voltage input entered from idle switch | Judges OFF operation |
| 44 | Duty solenoid valve (Wastegate control) | Duty solenoid valve inoperative | none |
| 45 | Atmospheric pressure sensor | Faulty sensor | Sets sensor to 760 mmHg |
| 45 | Pressure sensor and pressure exchange solenoid valve | Faulty sensor or pressure exchange solenoid valve inoperative | Prevents abnormal supercharging pressure using "fuel cut" in relation to engine load |
| 49 | Air flow sensor | Use of improper air flow sensor | none |
| 51 | Neutral switch | Abnormal signal entered fromneutral switch | none |
| 51 | Inhibitor switch | Abnormal signal entered from inhibitor switch | none |
| 52 | Parking switch | Abnormal signal entered from parking switch | none |