P0346

Camshaft Position Sensor A Circuit Range/Performance (Bank 2)

P0346 is a generic OBD-II powertrain diagnostic trouble code: Camshaft Position Sensor A Circuit Range/Performance (Bank 2). It is logged by the engine control unit when the ckp/cmp monitor detects that a specific fault threshold has been exceeded — typically resulting in the malfunction-indicator lamp (MIL / check-engine light) being illuminated.

Code
P0346
Group
Powertrain
System
CKP/CMP
Severity
Warning (MIL on, possible limp mode)
Need P0346 disabled?
RaceTune permanently disables any OBD-II trouble code on supported ECUs — for motorsport, off-road, and export use.

What P0346 means

P0346 is stored when the PCM has detected a rationality fault in the Bank 2 Camshaft Position Sensor "A" circuit — the sensor signal is within its electrical voltage limits (not stuck-low or stuck-high), but the waveform or timing correlation does not match what the PCM expects based on crankshaft position data. In practical terms, the camshaft's reported position is implausible relative to crank angle: the two signals don't agree within the window the PCM has learned as normal.

Bank 2 is the cylinder bank that does not contain cylinder #1. On V6, V8, and V10 engines each bank carries at least one camshaft position sensor; P0346 specifically targets the Bank 2 intake ("A") cam sensor. Inline-four and inline-six engines with a single bank use the Bank 1 equivalents (P0340–P0344) instead.

The most common root causes are a worn or stretched timing chain or belt allowing the camshaft to drift out of phase with the crank, an oil-pressure-related failure of the variable valve timing (VVT) phaser on Bank 2, a failed sensor itself, or a damaged tone wheel (reluctor ring) on the camshaft. Low or degraded engine oil can cause VVT phasers to respond slowly, generating a cam-timing mismatch that triggers P0346 even though the sensor wiring is intact. Continued driving with an unresolved cam-timing discrepancy risks rough running, increased fuel consumption, and — if caused by timing chain wear — catastrophic engine damage.

Common causes

Most-frequently reported root causes when P0346 is logged.

  • 1
    Faulty Bank 2 camshaft position sensor "A" (internal failure of Hall-effect or magnetic pickup element)
  • 2
    Worn or stretched timing chain or belt allowing Bank 2 camshaft to drift out of phase with the crankshaft
  • 3
    Failed or sluggish Bank 2 VVT (variable valve timing) phaser caused by low oil pressure or dirty engine oil
  • 4
    Damaged or missing teeth on the Bank 2 camshaft reluctor (tone) ring producing a distorted waveform
  • 5
    Oil-contaminated wiring harness or connector corroding sensor signal pins
  • 6
    Damaged, shorted, or open wiring between the Bank 2 CMP sensor and the PCM
  • 7
    Faulty camshaft phaser control solenoid holding Bank 2 cam in a retarded or advanced position
  • 8
    PCM internal fault affecting Bank 2 cam-input rationality calculation (rare, diagnose last)

Symptoms drivers notice

Malfunction Indicator Lamp (MIL) illuminated
Hard starting or extended crank time, particularly when cold
Rough idle and engine stumble
Loss of power and hesitation under acceleration
Increased fuel consumption
Engine stall in severe cases
Rattling noise from timing chain area if chain stretch is the root cause

How to diagnose P0346

A typical diagnostic flow when this code is present.

  1. 1
    Retrieve all stored DTCs and freeze-frame data; note whether any Bank 2 misfire codes (P0302, P0304, P0306, P0308) or VVT-related codes are present alongside P0346
  2. 2
    Check engine oil level and condition — low or degraded oil is a common indirect cause via VVT phaser starvation; top up or change oil and retest before replacing parts
  3. 3
    Perform a visual inspection of the Bank 2 CMP sensor wiring harness and connector; look for chafing, melted insulation, oil saturation, bent pins, and loose connector latches
  4. 4
    With ignition on, verify reference voltage (typically 5 V or 12 V depending on sensor type) and clean ground at the sensor connector using a DVOM
  5. 5
    Use a scan tool to view live CMP and CKP sensor data simultaneously while cranking; the cam signal should produce a consistent pulse pattern correlated to crank position — erratic or phase-offset pulses confirm the fault
  6. 6
    Inspect the timing chain or belt for wear, slack, and correct tensioner operation; a stretched chain can shift cam timing enough to trigger P0346 even with a healthy sensor
  7. 7
    If VVT-equipped, check the Bank 2 cam phaser solenoid for proper operation and resistance (typically 6–30 Ω); command it on/off with a bi-directional scan tool if available
  8. 8
    If all components and wiring test within specification, check for applicable manufacturer TSBs before considering PCM replacement

Related powertrain codes

Frequently asked questions

What is the difference between P0346 (range/performance) and P0347 (circuit low) or P0348 (circuit high)?

P0347 and P0348 are hard electrical faults — the sensor signal voltage is stuck below or above acceptable limits, pointing to a short to ground, short to power, or open circuit. P0346 is a rationality fault — the voltage is within normal limits but the cam-timing signal doesn't correlate correctly with crankshaft position. P0346 often points to mechanical causes (timing chain stretch, VVT phaser failure) rather than wiring faults.

Can low engine oil cause P0346?

Yes. On engines with variable valve timing, the cam phaser relies on oil pressure to advance or retard the camshaft. Low or dirty oil reduces phaser response, causing the Bank 2 cam to sit in the wrong position relative to the crank. Checking and correcting oil condition is always the first step on VVT-equipped engines.

Is P0346 serious enough to stop driving?

If the code is accompanied by a timing chain rattle or the engine is running very roughly, stop driving and investigate immediately — a slipping timing chain can cause piston-to-valve contact. If the engine runs smoothly and the code appears isolated, diagnosis within a day or two is acceptable, but avoid prolonged driving as cam timing errors increase emissions and can damage catalytic converters.

Which vehicles most commonly set P0346?

Any V6, V8, or V10 engine with dual cam-position sensing is a candidate: common examples include Chevrolet/GMC LS and LT V8 platforms, Ford Mustang and F-150 V8s, Nissan VQ-series V6, Toyota GR/GR-FE V6, Audi/VW VR6, and Hyundai/Kia Lambda V6. The code is essentially absent on inline-4 engines, which only have a single bank.

Disabling P0346 in software

RaceTune can permanently disable P0346 — and any other OBD-II diagnostic trouble code — on every ECU family we support. The monitor is disabled inside the ECU itself, so the fault stops being logged: the warning light stays off and the engine never enters limp mode for this code. The change is tied to your exact software version.

Permanent
The monitor is disabled in the ECU itself — not just cleared. It cannot return.
Tailored to your file
Each patch is matched to your specific software version — never a one-size-fits-all file.
Reversible
The original file is always preserved. Reflash the stock to return the ECU to factory state.

Software modifications affect emissions compliance and are not road-legal in many jurisdictions. RaceTune service files are intended for motorsport, off-road, and export use.

Got P0346 in your scan?

Upload your ECU file — we'll identify the exact software version and confirm whether a disable is available for your car.

Upload your file