P0346

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

Quick answer: P0346 means the engine computer has detected a "range/performance" fault on the camshaft position (CMP) sensor.

Driving: Many engines still run on the crank signal alone, but starting and performance may suffer. Get it checked soon.

Read P0346 on your phone OBDAssistant reads codes and live data through a Bluetooth OBD2 adapter.

What P0346 means

P means powertrain (engine and transmission). The 0 marks a generic code defined by SAE, so the same number means the same thing across makes. The third character, 3, places it in the ignition system or misfire subsystem; the last two digits identify the specific fault.

The camshaft position sensor tells the engine computer which stroke each cylinder is on, so it can time sequential injection and ignition. On engines with variable valve timing it also reports actual cam position. "A" and "B" identify which camshaft (commonly intake and exhaust) as defined by the manufacturer.

Bank 2 is the side opposite cylinder 1. Inline engines have only bank 1, so a bank 2 code on an inline engine usually indicates a manufacturer-specific use.

What “Range/Performance” means here

"Range/Performance" means the circuit is electrically intact — the signal sits inside its normal window — but the value does not make sense for the operating conditions. The module cross-checks it against what other inputs predict (a rationality test). That usually points at the camshaft position (CMP) sensor itself or the system it measures, rather than at the wiring.

What you may notice

Symptoms depend on the vehicle and on how the module responds to the fault. Any of these can accompany P0346:

  • Long cranking or hard starting
  • Rough running or hesitation
  • Variable valve timing codes stored alongside
  • Reduced power

Where to start diagnosing P0346

  1. Inspect the connector and harness at the sensor.
  2. Check engine oil level and condition; poor oil affects variable valve timing and can make cam signals look wrong.
  3. Watch for correlation codes between crank and cam, which can indicate timing chain or belt stretch.
  4. Inspect the sensor tip for debris.

Clear the code only after recording freeze frame data: it shows the engine speed, load and temperature at the moment the fault set, which is often the best clue to reproducing it.

Live data to watch

These standard OBD2 values relate to P0346. Support varies by vehicle; a value your car does not report will simply be missing.

ValueWhat to look for
Engine RPM (PID 0x0C)Starting and idle stability.
Variable valve timing dataUsually manufacturer-specific: desired vs actual cam angle.

Related codes

Codes from the same camshaft position (CMP) sensor family. If several are stored together, the shared part — wiring, a common reference voltage, or the component itself — is the place to start.

CodeDefinition
P0341Camshaft Position Sensor A Circuit Range/Performance
P0342Camshaft Position Sensor "A" Circuit Low (Bank 1 or Single Sensor)
P0343Camshaft Position Sensor "A" Circuit High (Bank 1 or Single Sensor)
P0344Camshaft Position Sensor "A" Circuit Intermittent/Erratic (Bank 1 or Single Sensor)
P0345Camshaft Position Sensor "A" Circuit (Bank 2)
P0347Camshaft Position Sensor "A" Circuit Low (Bank 2)
P0348Camshaft Position Sensor "A" Circuit High (Bank 2)
P0349Camshaft Position Sensor "A" Circuit Intermittent/Erratic (Bank 2)

Further reading

Frequently Asked Questions

What does P0346 mean?

P0346 is the generic SAE J2012 code for "Camshaft Position Sensor "A" Circuit Range/Performance (Bank 2)". In plain terms, it means the engine computer has detected a "range/performance" fault on the camshaft position (CMP) sensor.

Can I keep driving with P0346?

Many engines still run on the crank signal alone, but starting and performance may suffer. Get it checked soon.

What should I check first for P0346?

Inspect the connector and harness at the sensor.

Definition source: SAE J2012 / ISO 15031-6 generic DTC definitions. This is the generic meaning that applies across makes; a manufacturer can define a code more narrowly or add its own sub-codes, so confirm against the service information for your vehicle before replacing parts. Written by the OBDAssistant engineering team — see our editorial policy.