DTC P0341 will set if Camshaft Position (CMP) sensor pulses are not in proper ratio to 24X and 3X Crankshaft Position (CKP) pulses.
Conditions required to set this DTC are:
> Engine running and PCM is receiving valid 3X reference pulses
> CMP reference pulse signal is not detected on every engine cycle
> Condition is present for at least 30 seconds
The first thing that should be done is visual inspection of the wiring harnesses to the sensors and the secondary ignition cables and coil packs. Please note that misrouted spark plug cables an/or cracked and arcing ignition coils can cause interference with the CMP and CKP circuits. Inspect to be certain that the ignition cables are correctly routed and fastened in their original holders (or equivalent). Also check for deteriorated wire coverings (wire loom) leading to the CMP, 3X , and 24X sensors. If there are problems found, repair as necessary and retest vehicle.
If there are no problems as listed above, the next step is to determine if this is a "Current" (hard-fault) or an "history" (intermittent fault).
If your scanner has the capability of outputting computer data, check the codes under "current codes" or "failed this ignition". If the code is there, then the problem is occurring "RIGHT NOW"! This can make the problem much easier to find. (We'll get to that later) If the code is only in "continuous memory" Then the problem is intermittent. For intermittent faults, it would be best to return to the top of this post and re-check everything - also pull and tug on wires and harnesses to see if you can get the code to set.
If your scanner does not have this capability (outputs generic OBD codes only) Then the easiest way to determine if it is a hard fault is to clear the codes, then start the engine and run it for about 2 minutes and check codes again. If the code set after 2 minutes, then it can be considered a hard fault.
Let me know if the problem is a hard fault and we'll walk through checking the circuits. Again, for intermittent faults, try wiggle-testing and checking components over - see if you can get the code to set. Check codes between everything you pull on or wiggle so you can determine which part of the system has the problem. (If you wiggle and pull EVERYTHING before rechecking codes and the code sets, you have not eliminated ANYTHING.)
Please also refer to the picture to help with understanding the components involved.