How to Read Diagnostic Trouble Codes on 2005 thru 2009 Subaru Legacy and Outback
The 2005 thru 2009 model year Legacy and Outback can display Diagnostic Trouble Codes (DTCs) directly on the dashboard. No scan tool is needed. No jumper wires are required, and it is not necessary to count blinky lights. The codes are displayed in plain text on the instrument cluster.
Trouble codes from the ECM (Engine Control Module), TCM (Transmission Control Module) and ABSCM/VDCCM (ABS or VDC Control Module) are displayed.
This procedure was distilled from the FSM. The English translation in the FSM is not very good, so I have attempted to make it easier to follow. The FSM has this procedure in the Body Section, Instrument/Driver Information, Comination Meter System chapter.
Some notes before starting:
- I believe this procedure will work for all 2005 to 2009 Legacys and Outbacks. However, I have only tested the procedure on my car, a 2007 Outback 2.5i automatic.
- I don't know of a way to reset the codes without a scan tool. Disconnecting the battery may or may not work.
- Exactly what you will see depends on what type of display your car has. There are two images of tables below, one for the Normal display and one for the Multi-Information Display that is found on Turbo models.
Starting condition: key off, headlight switch off.
Steps 1 through 7 must be performed within 10 seconds.
1. Turn key to ON position. This is the normal running position, the click just before starting, when all the lights on the dash come on, but before you twist to START. Don't start the engine!
2. Within 3 seconds, turn the headlight switch ON.
3. Press the Trip/Odometer button 4 times.
4. Turn the headlight switch OFF.
5. Press the Trip/Odometer button 4 times.
6. Turn headlight swtich ON.
7. Press Trip/Odometer button 4 times. At this point, the DTC display will begin.
8. Turn headlight switch OFF. Not necessary for the procedure, but your display may be dimmed and hard to read in bright sunlight. Besides, why drain the battery?
The DTCs for each module will display in order: ECM, TCM, ABSCM/VDCCM. Press the Trip/Odometer button to cycle between modules. The FSM states that the display will cycle between modules automatically every three seconds if the button is not pushed, but that did not happen in my car - I had to push the button to cycle the display.
For each module, there are three display states:
- Receiving DTC from module (blinking "P" or "C")
- DTC detected & displayed ("P" or "C" followed by 4 digits)
- No DTC found ("P" or "C" followed by "----")
If there is a CAN (Controller Area Network) bus communication error, you will see only "----" in the display. Basically, that means that the network in your car is broken. That will need to be repaired before anything else can be done.
See the table below that applies to your car, depending on which type of display you have.
- TCM error codes will not be displayed for cars with manual transmissions. The TCM display state will remain in "Receiving DTC" (blinking "P" on display). In my case, my car is an automatic, but the blinking "P" remained, possibly because I have no codes set.
- To cancel the DTC display, turn the key to OFF.
- If the engine is started, the DTC display will remain until the car starts to move. (I did not test this)
- Past DTCs that have been repaired will be displayed until the engine is started 3 times. (I did not test this)