Does not seem to be a complete answer on this subject. I have a 06 LS with the 2.2. Changed the plugs, coil pack, and controller and still get this code. Obviously this engine does not have a cam position sensor so what else can it be? Crank sensor maybe? Someone else must have had this same problem at one time . Thanks.
I don't get why you are getting a P0340 on an 06, does the engine run?
Every minute spent angry is a happy minute lost for ever and ever!!!
Drives 2016 Cocoa Buick Encore 1.4L Turbo auto KL4CJDSB2GB652675
Drives 2016 Sunset Orange Trax LT1 1.4L Turbo auto 3GNCJPSB8GL142716
Never drive faster than your guardian angel can fly