One of the most dreaded issues with the GT86 seems to be the camshaft correlation faults, with a wide range of codes from P000A to P0020 this problem can leave your FA20 feeling sluggish. Don't worry though, many others have had the same issue and it's not a mystery as to what's actually going on. The reason the ECM sets these faults is due to a discrepancy in the crankshaft and camshaft timing. This can be caused by either a faulty OCV solenoid, misaligned chain, a faulty camshaft sprocket, and sometimes the ECM.
Here you can see the VVT designations as described in the service manual. Bank 1 is always on the side with cylinder 1, so B1 is on the passenger side and B2 is on the driver side. Bank 2 Sensor A is the first sensor on B2(intake cam), and Bank 2 Sensor B is the second sensor on B2(exhaust cam). With this information, you can see our P0018 Bank 2 Sensor A code is directed at the driver side intake cam.
Step 1 - VVT Initial Position Learning Values
Whenever a new ECM is registered to an FA20 equipped car, it has no stored learning values for the VVT sprockets. Even new cars from the factory need to perform a drive cycle before the ECM can "learn" the sprocket positions. Once these values are stored there is no way to erase or reset them, small adjustments can be made over long periods of time but that's it. This is why it's very important to diagnose these issues properly the first time. If you install a new ECM before the cause of the failure is repaired, you will need to replace it again and they are not cheap. Be prepared to transfer your tune software or license to the new ECM as well.
In the image above you can see what our problem cars learning values were, and right away you can tell VVT #2(intake cam Bank 2) is out of the specified range. The VVT #1(intake cam Bank 1) looks good and so do both of the VVT Ex(exhaust cam) values. At this point we know we have a problem with the driver side intake cam sprocket timing and we will need an ECM at the end of our repair. Let's move on...
Step 2 - VVT OCV
The first part of the VVT equation is the oil control valve. This 2-wire solenoid is commanded via duty cycle by the ECM to control the VVT sprockets. The solenoid presses the button in the center of the sprocket, opening the passage and allowing oil to flow inside. The oil pressure from the engine flows through the camshaft and into the sprocket chambers, forcing the inner section (attached to cam) to "advance" in relation to the outside shell (attached to the chain). The duty cycle determines how far the solenoid opens, which performs either an advance, hold, or release action.
So you can see just how important the OCV is, so let's start by marking our problem part with a sharpie as "B2A". Swap the Bank 2 sensor A solenoid and the Bank 1 sensor A solenoids, clear the ECM memory and perform a 10-minute road test. After the road test check for any pending codes, if you now have a P0016 then you have a bad OCV and it should be replaced. However, if you have the P0018 again like us then keep reading...
Step 3 - Inspect Timing Chain
Another possible cause of the cam correlation issue is jumped chain timing, I've seen it several times already and even on new unsold cars still on the lot! You will need to drain the fluids and remove the radiator and front cover to inspect the chain. Once you get access, turn the crankshaft clockwise until the key is at 6:00 and the triangles on each sides sprockets face each other like the image above. If any mark is not aligned properly then that is probably the cause of your issue, I would recommend replacing both sprockets and the tensioner on the affected side. There is no way to tell what caused the jump, and the amount of work it takes to do this repair are the reasons for my suggestions. You will need an ECM to correct the learning values for this failure.
However if your timing is aligned properly like ours was, keep reading...
Step 4 - VVT Sprockets
You can see in the picture above that there are many small parts inside the VVT sprockets. I do not know what part fails inside these gears but 90% of the time they are the cause of cam correlation issues. After verifying your chain timing is correct in the previous step, lock the tensioners with appropriate tools then go ahead and remove the chains CAREFULLY with the marks still aligned. The chains and guides are universal so you don't have to worry about mixing them up, the tensioners however, are specific. Once the chains are off, turn each sprocket by hand and be sure the cams feel smooth an free within the unloaded range. If all 4 cams feel the same and you dont find any damaged parts, go ahead and replace BOTH the intake and exhaust sprockets on the affected side. Again, you dont want to re-do this repair in the near future so be sure to eliminate the odds of accompanied component failure. I've learned this the hard way.
Reassemble the car being sure to double check the sprocket knock-pin alignment, torque the sprocket bolts, set the timing and verify chain is in the guide grooves, tensioner bolt torque, then clean ALL of the old silicon from the cover and mating surface. Install 4 new o-rings and put down a 1mm bead of silicone on the cover, get the bolts ready and wipe the engine surface 1 last time being sure no oil is there to cause a leak. Install the cover and torque the bolts accordingly, assemble the rest of the car and fill fluids. Clear the ECM memory and run the engine to purge the cooling system, then go on another 10-minute road test. When you return to check for pending codes, the P0018 should be there waiting for you.
Step 5 - ECM
The final step in this repair is to replace the ECM. The GT86 ECM is located behind the glovebox trim on the passenger side. You will need to remove the glovebox, and the surrounding trim to access the module. It is attached to a metal bracket and two 10mm nuts hold it in place. Once you install the ECM you will need to register it to the car, this process takes 30 minutes so have the battery on a charger. Once registration is complete, go ahead and do another 10-minute road test. When you return to check for pending codes again, at this time there should be nothing.
If you decide not to replace the ECM, be prepared to reset the check engine light every two trips. Also be aware your car will be down on power since the ECM will be limiting you to about half the VVT operation. I hope this helps and don't hesitate to leave any questions in the comments or suggestions.