![]() 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 |
Troubleshooting I sometimes get emails from people who have built a Select Monitor Adapter and are having trouble getting it to work. I am always interested to hear of other people's projects and I am happy to help if I can. The best way to check communication with the ECU is to use a program called the Hex Com Tool that you can download from http://www.rs232pro.com. The tool allows you to send hex commands to the ECU and see what reply the ECU sends back.
Install the program, connect up your cable, ensure the ignition is ON, then run the program. The following instructions were posted by Nomake Wan in the thread on the SVX World Network.
Open Hex Comm Tool
When you send the command 78123400, this means "tell me the data stored at address 1234 in the ECU memory". If everything is working OK, the ECU should respond with "123400" repeated over and over. This means "The data at address 1234 is 00". Get this working first and then everything else will be easy. If the communication is working then all the other software will work. If not then none of it will work. If you get back nothing, or zeros then there may be a fault with your adapter. If you are using a USB device then there may be a problem with the driver. Some USB devices do not support the unusual baud rate. In any case, check the circuit and connections carefully. If you are getting back corrupted data then you may have "the 92 problem". See the "How to build a PC adapter" page for details. Typically the bad data looks like this (the actual numbers vary, but they are clearly not like the expected result above):
FFF6FFF0
Adjust the potentiometer on your "92 problem" board until the data comes clean. You can do this while the ECU is sending data and see how the data changes. On my car, the optimum position is near the low end of the scale. If your car has an automatic transmission, another thing you could try is to query the TCU instead of the ECU. Substitute 45C00000 instead of 78123400, the TCU should return C00070 repeated over and over. One last thing to add is that my Legacy has an aftermarket alarm system that immobilises the car if you don't start the engine after 1 minute. The immobiliser cuts the power line to the ECU, so all of the values go to zero after 1 minute unless I run the engine. |