P0346: Camshaft Position (CMP) Sensor A Bank 2: Range/Performance
ModerateQuick answer
P0346 means the bank 2 camshaft position sensor’s signal is present but implausible: wrong pattern, wrong timing relative to the crankshaft. Wiring and an oil-fouled sensor come first, but on higher-mileage V6s and V8s a stretched timing chain on that bank can shift the cam signal enough to set exactly this code.
What it means
P0346 is the bank 2 twin of P0341: the cam sensor is talking, but what it says doesn’t line up with the crankshaft’s story. That distinction matters; a circuit code points at electricity, but a range/performance code can also point at the mechanical things the sensor watches: the reluctor wheel, the cam timing, the chain that sets it.
Bank 2 is the cylinder bank that doesn’t contain cylinder 1, so these codes exist only on V6, V8, and similar engines, and they’re the mirror twins of the bank 1 codes P0340 and P0341. That symmetry is the diagnostic gift: your engine carries two of the same sensor, so swapping them across banks turns a guess into evidence. Code follows the sensor to bank 1? The sensor is condemned. Code stays on bank 2? The wiring, connector, or the engine itself (reluctor wheel, cam timing) owns the problem.
The steps below run cheapest-first, and the free swap test sits right at the front, because it answers the expensive question for nothing.
P0346 symptoms: what you'll notice
- Rough running or a misfire-like stumble that the computer may attribute to the bank 2 side.
- A rattle from the front of the engine on cold start: worth noting, because a stretched timing chain is on this code’s suspect list.
- Hard starting or reduced power as the computer hedges against a cam signal it half-trusts.
- Check engine light, sometimes alongside cam-crank correlation codes for the same bank.
Common causes
Ordered from most to least likely.
- 1.
Failed bank 2 cam sensor
Heat and oil exposure age these sensors; the cross-bank swap test convicts or acquits it for free.
- 2.
Wiring or connector damage on the bank 2 side
Each bank’s sensor has its own harness run; the bank 2 side may route near different heat sources than its healthy twin.
- 3.
Oil intrusion at the sensor or connector
A weeping valve cover gasket wicks oil down the harness and into the connector: a slow, classic killer of cam sensor signals.
- 4.
Reluctor damage or timing chain wear
Mostly the range/performance flavor: a stretched chain or damaged tone wheel shifts the signal the sensor honestly reports.
How to fix it: diagnosis, step by step
Cheapest and most likely checks first.
-
1 Inspect the bank 2 connector and wiring
Unplug the sensor and look for oil pooled in the connector, green pins, and chafed harness sections: wiggle-test while watching live data if the fault is intermittent. Oil in the connector means find the leak too, or the new sensor inherits the problem.
-
2 Swap the cam sensors across banks
The free, decisive test this engine layout makes possible: exchange bank 1 and bank 2 sensors, clear the code, and drive. If P0345-family becomes P0340-family, the sensor just confessed. If the code stays on bank 2, stop buying sensors: the problem is in the wiring or the engine.
-
3 Check the oil and watch the signal
On variable-valve-timing engines, low or worn-out oil disturbs cam behavior the sensor faithfully reports. Verify level and condition, then watch the cam signal on live data (or a scope) for dropouts and pattern faults.
-
4 Consider the mechanical layer
For range/performance with high mileage, cold-start rattle, or cam-crank correlation codes on the same bank: the timing chain and reluctor enter the conversation. That diagnosis is bigger; confirm with correlation data before any teardown.
Parts & tools you may need
- OBDLink MX+ (Bluetooth OBD-II scanner) ↗
- Autel MaxiCOM MK808S (full-system scan tool) ↗
- OTC 5606 (compression tester kit) ↗
- Teslong (dual-lens inspection borescope) ↗
- Fluke 88V (automotive multimeter) ↗
- OBD-II scanner (code reader with freeze frame / live data) ↗
- Digital multimeter ↗
- Replacement camshaft position sensor (after the swap test convicts it) ↗
- Dielectric grease ↗
Disclosure: some links are affiliate links (including the Amazon Associates program). If you buy through them, we may earn a commission at no extra cost to you.
Related codes
Frequently asked questions
- What does code P0346 mean?
- P0346 means the bank 2 camshaft position sensor’s signal is present but implausible: wrong pattern, wrong timing relative to the crankshaft. It’s moderately serious: you can usually keep driving gently, but diagnose it soon.
- Could P0346 really mean my timing chain is worn?
- It can: a stretched chain retards that bank’s cam enough that the sensor’s honest report stops matching the crankshaft, which is precisely what range/performance measures. Clues that point mechanical: high mileage, a cold-start rattle, cam-crank correlation codes on the same bank, and a code that survives a swapped, known-good sensor.
- Which side of my engine is bank 2?
- Bank 2 is the cylinder bank that does not contain cylinder 1, and which physical side that is varies by engine and mounting. Check a cylinder-numbering diagram for your specific engine before unplugging anything; replacing the bank 1 sensor for a bank 2 code is this family’s most common wasted purchase.
- Camshaft or crankshaft sensor: which code family do I have?
- P0340-series codes (including these bank 2 versions) are camshaft position; P0335-series are crankshaft position. The engine can often run with a failed cam sensor but usually won’t run at all with a dead crank sensor, which is also why the crank codes carry the higher severity.