P0031 & P0051 Woes, post-JDM engine swap
A little bit of a relevant back story to this issue to provide the necessary relevant information. Back in November 2016, my girlfriend and I bought an 01 Outback 3.0 LL Bean for a deal at $1500 that went south soon after we bought the car. Long story short, the car overheated terribly and possibly warped or cracked the heads. Weighing our options, we figured the car wouldn't defeat us as it was a beautiful car with a bad heart. Two months ago, I bought a used low mileage JDM EZ30D for it. The swap went great, I paid attention to every detail and preemptively replaced everything preventative that we could on the used engine and everything worn out, or about to wear out on the front half of the car, while the engine was removed.
I finally got the new engine in, started it for the first time and it ran great, revved strong, had a healthy sound to it. We were excited that she roared to life almost instantly, busted out the champagne, the whole celebration ceremony, etc. I noticed it threw a CEL, so I ran the code and got the P0051. The car had no CEL with the old engine installed and we drove it for a few hundred miles before the old engine was pulled, so I figured it was an O2 sensor I forgot to plug in or plug came loose. I had to drop the exhaust manifold again one last time to install new exhaust studs, install the sway bar (subframe was removed when the engine was out to clean it and replace some bushings), and install the hanger for the cat pipe back on the transmission so I never looked into it further.
Got all the parts back together again, made sure both front O2 sensors were connected tight, cleared the code, started it again, check engine light came back on. Now it showed both P0051 and P0031. I checked the driver's side first, found that pins 1 and 2 were popped out a bit on the engine harness, so I repaired the pins. The passenger side found no such issues, so I reset the code and restarted the engine. CEL came back on again, but the engine still ran very smooth. So, I took it out for a test drive. No sooner I get 1000 feet away from my house and the engine stumbled pretty bad and sounds like it's misfiring, horribly. There is also noticeable shake at idle.
The next day, I fired up my FreeSSM on my laptop, and connected the car to it to get some more detailed readings. I got the P0031 code and P0051 went away. Okay. Well the wiring was suspect on the P0051 code, so I figured the faulty connection was to blame. After it stumbled and started running rough, I expected to see a cylinder misfire code, but nothing. I ran the readings for all O2 sensor heaters and I am getting 0 Amps on both front sensors, even on cold starts, and a fluctuation on the rear sensor heater. I also observed no AFR readings from the sensors, despite the lack of codes for that. I perform an emissions readiness test after clearing the codes again, misfire was not detected, but it runs and drives like it's running on 5 cylinders until it gets to about 2000 rpm, but it's noticeably lacking in power. The car on initial startup ran perfect in the garage without a hiccup with the P0051 code set. I even ran it through a couple of burping cycles to get air bubbles out of the cooling system before dropping the manifold and there were no issues.
The O2 sensors never had an issue before, in fact with the cracked/warped head and coolant leaking into the combustion chamber, the car never once misfired or threw a single code. The exhaust manifold was stored in a dry, clean area until it was reinstalled. I have checked for vacuum leaks, no exhaust leaks except the donut gasket after the cats which was there before the new engine, spark plugs were changed and dielectric grease applied to the boots before i dropped the new motor. I used the recommended NGK Iridium plugs (same type of plugs I've used in my other EJ/EG/EZ engine builds), but this engine had not one single "misfire" until the P0031 code appeared.
I've only got another week I can devote to troubleshoot this car as I have to get started on replacing the tail shaft bearings on my Forester and replace a head on my friend's STI. Not to mention, these sensors are $150 a pop, but with the readings from Select Monitor and the fact that they were working prior to the new engine install, I'm not convinced it is defective sensors
Pulled up my diagnostic manual to check out troubleshooting for the P0031 codes. I've gotten down to step 9 where it says to "Measure resistance between front oxygen (A/F) sensor connector terminals. (E47) No.2 - No.1" Check if it reads less than 10 Ohms. Does this mean the connector from the O2 sensor itself or the connector on the engine harness? I think I did this part wrong because initially I tested pin 2 to chassis ground and got no resistance.
Any advice is greatly appreciated.