Warning: This is a lengthy post, but I kept it as concise as possible. I have spent almost two months chasing down this problem and need some feedback.
It all started a few days after finishing my engine rebuild. I had driven the car three or four times, maybe about two hours total, when I got a P0021 DTC. This trouble code is associated with a mechanical problem with the AVCS - Bank 2. Around the same time, but not exactly the same time, my low oil pressure light came on. As it turns out, the pressure relief valve on my oil pump was sticking open, causing low pressure... no problem, a new oil pump fixed the low pressure light and it seemed I'd caught the problem before any damage was done. Since one of the things to check for P0021 is oil pressure, I assumed I was fixing both problems.
Unfortunately, a few days after putting in the new oil pump and clearing the ECU my P0021 DTC returned. I searched the forum and found many people have had faulty oil control valves (OCV) with this DTC. Again, this was a component to be inspected per the diagnostic procedure so I removed the driver-side OCV, cleaned it, and reinstalled it. When the problem came back two consecutive starts later, I decided to swap the OCV with the other side. Unfortunately, by monitoring the DTC as well as the VVT advance and OCV duty cycle, it was apparent that the problem did not switch sides, ruling out a faulty OCV. Also there are codes associated with the circuitry for the OCVs, opens/shorts in the circuity are P2088-2093.
My next step was to verify that there was oil pressure at the OCV, to rule out a blockage upstream, but after the oil sender port. By cracking the bolt loose on top of the OCV I was able to see that the oil had quite a bit of pressure, even at idle.
Then I tried swapping the cam position sensor with a known good one. This was a reach, but the last thing I could think to check before pulling the motor. Why a reach? The cam position sensor output is a square waveform generated by a hall effect sensor and slot on the camshaft. If the sensor was bad, it would trigger another code like P0340 or P0345 which relates to the electrical performance of the cam position sensors.
With all those components checked, I had two weeks of driving before I would have the opportunity to pull the motor. I drove my normal commute every day and monitored the OCV duty cycle and VVT advance. The DTC/CEL would come and go, although my driver-side VVT advance would fluctuate randomly
between 0-3* while the passenger-side would go between 0-35* and seemed to be not
random, moving only when the system would call for it. During this time there was no bucking/hesitation/stalling or rough idling... the symptoms were only evident through DTC/CEL and monitoring the engine parameters.
Two days ago I pulled the motor so I could inspect the passages in between the OCV (built into cam cap) and the camshaft, as well as the passages in the camshaft, and the sprocket itself. I checked the banjo bolt... absolutely clear. All the passages in the cam cap were clear, as was the camshaft, and the oil feed pipe (as you would expect given the banjo bolt filter).
Now I'm wondering if the VVT mechanism in the sprocket is sticking... For some reason when I reset the ECU and start the engine cold
both sides of the engine start at 5* advance. Over the next ten minutes of driving, both sides will seem to function properly, but the driver-side will slowly drift to a higher offset than the passenger-side. When I come to a complete stop both sides go to zero and then the driver-side never recovers.
When I try resetting the ECU and starting with the engine warm, both sides start at zero and the problem is consistent. When I start the engine cold, but haven't reset the ECU the problem is consistent. There is something special about the combination... my guess is maybe after a ECU reset the default position is 5* and the high oil pressure of a cold start helps dislodge the VVT mechanism?
So at this point the motor is partially apart on my engine stand. I'm thinking I should just replace the sprocket to rule that out ($130... ouch). What I'd like is to get any additional ideas from the experienced forum members.
Again, sorry for the wall of text.