P2004 and P0421 codes...Help (2004 Mazda3)

:
2004 Mazda 3 2.3l hatchback
I have a Mazda 3 2.3l hatchback. I have had the p2004 intake manifold runner control valve bank 1 stuck open for a while. I've also had the p0421 warm up catalyst bank 1 code. I've done some repairs on it, including replacing my PCV valve, cleaning the maf, cleaning out the intake manifold as best I can, and replacing the throttle body and intake manifold gaskets and the 2 little modules that screw into the top of the intake. As well as the o2 sensors, spark plugs, coil packs, and a few other engine related parts that I can't quite remember because I've done so much trying to get this thing running right. And I still can't seem to get rid of the codes, even after disconnecting the battery for several hours. But there is something strange going on now. Let's say that I clear the codes mid morning. I can drive all day without them coming back on, but when I go to stay the car in the morning leaving for work they come back on. I've been working on cars for years and owned quite a few. This is my first Mazda to own and really do any in-depth work on. I'm confused and at my wits end. Can anyone help me out please?
 

Looks like the sensors are telling you your CAT is going bad.

To me the computer is probably acting correctly. When you clear the codes, then start things up, it probably waits a bit to throw anything because it's relearning from the reset. But by then the car is warmed up and the CAT starts working better so it doesn't throw the code. The next morning, the computer is ready for the warm up sequence and since it fails, it throws the code.

Check your CAT. It should be HOTTER at the downstream end. Use your infrared thermometer.

Otherwise, you can probably ignore that code until your CAT completely fails.
 
For the P2004 did you double check the connection shown in this video?


Otherwise, you probably need to remove that part and test the solenoid or just replace it. Not sure exactly what it is but it looks like when it has no power the computer throws that code.
 
Back