More About Points »
You can just disconnect the negative battery terminal for 30 seconds on an early Toyota and that will do the trick. If the light comes right back on, there is another code or the code is still not properly repaired. Let me know if this helps I have a lot of experience with OBDI Toyotas.
There have been some updates to the Subaru Oxygen sensors. They had some problems with the element prematurely cracking. There may be some help avaliable from the manufacturer because this is a known problem with 2000-2003 Subarus. I am curious why the Cat converters need replacing. Is there a P0420 code (CAT failure code), are they rattling? There should be a logical reason. Having a bad Oxygen sensor should not wipe out the Cats because the computer will automatically go into a back-up mode to protect the CAT. It has stored values of known good reading from the front Oxygen sensor before it failed and the computer can utilize these for different driving conditions. I hope that this info is helpful.
It could be your Instrument Cluster Computer which also acts like a BCM or body control module. The Instrument Cluster Computer acts as a data bus connector for the rest of the computers on the vehicle. If you can, have someone connect a scan tool to see what codes are stored in the various computers. See if there are Instrument Cluster or Instrument Panel codes and/or BCM codes. Also see if there are data bus error codes and if so, which ones. Once we know this we can go to the next step.
Usually the codes have 4 digits i.e. P0300, etc. Are the codes P0011, P0021 and P0300? If they are then the P0011 and P0021 are Camshaft Sensor codes, ( not Crankshaft Sensor Codes ) and occur 1 for each bank. How many miles are on your vehicle? Did it occur immediately after the carwash? Were there no problems before that?
Have you made sure that your EGR valve is working properly? A malfunctioning EGR valve can set a P0401. If it is working properly then it is recommended that you have a professional clean the system because the fuel rail must be removed, with the injectors, and that involves dealing with high fuel pressure which can be very hazardous.
If the fuse is blowing, it has to be because there is too much of a current draw somewhere in the circuit. The purpose of the ASD relay is to cut the power to the fuel pump if there is no Crank signal such as in the case of an accident. The control side is grounded by the Power Train Control Module when it sees a Crank Signal and ungrounded when the Crank Signal goes away. How do the wires look that surround your relay in the area where it plugs in?