Introduction

Select Monitor Adapter
Subaru Diagnostic Ports
How to build a PC adapter
Protocol
Software
Troubleshooting
Eavesdropping

Engine Control Unit (ECU)
Description
Reading Error Codes
Reverse Engineering
Modifying
ROM images

Transmission Control Unit (TCU)
Description
Reading Error Codes
Reverse Engineering
Power Mode
Modifying
ROM images

Other Control Units
Air Conditioning Unit
4WS Control Unit
Cruise Control Unit

OBD2 Information
Select Monitor Cartridge

Downloads
Links to other sites

Custom TCU Development



Reading ECU Error Codes

There is a well-documented procedure to read error codes from the ECU. Basically, you insert one of the blue ground wires into pin 2 of connector B36 and then count the flashes of the Check Engine light. See http://www.svx-iw.com for more information.

The ECU error codes can also be queried using the Select Monitor Adapter. On an SVX, the current codes are stored as bit flags in locations 0x1026 through 0x1029 and the previous codes are stored in locations 0x12B9 through 0x12BC.

Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0
1026/12B9Crank1(11)Starter(12)Cam(13)TPS(31)O2Right(32)H2OTemp(21)Knock1(22)MAF(23)
1027/12BAAtmos(45)Knock2(28)Bypass(24)EGRvalve(34)VSS2(33)O2Left(37)Purge(35)AFlearn(41)
1028/12BBInjector5(18)P-switch(52)Injector6(19)N-switch(51)Injector4(17)Injector3(16)Injector2(15)Injector1(14)
1029/12BCn/an/an/aCO Resistor(49)TorqueSig(38)EGRsys(56)Crank2(29)EGRtemp(55)

As an example, suppose location 0x1026 contains the value 0x48. That is 01001000 in binary. This indicates errors with the Starter (Code 12) and Right O2 Sensor (Code 32).