OBD-II trouble code
P0029: Exhaust Valve Control Solenoid Circuit Range/Performance (Bank 2)
SAE J2012 APR2002: exhaust valve control solenoid circuit range/performance, bank 2. The circuit is in range and the result is still wrong for the conditions. It is not the "B" camshaft footnote, and it is not a bank 1 test with the bank number changed.
Quick facts
- System
- Powertrain
- Category
- Variable Valve Timing
- Severity
- Medium severity
- Drivable
- Usually safe to drive short-term
- Repair cost range
- $220 – $950 (variable valve timing control solenoid replacement)
- DIY difficulty
- Intermediate DIY
Browse every code in P0001–P0099, or start from the full code library.
What does P0029 mean?
SAE J2012 APR2002 table B1 names P0029 Exhaust Valve Control Solenoid Circuit Range/Performance, location Bank 2. Section 3.2 defines range/performance as a circuit that is inside its normal operating range but is not correct for the current conditions. The same section says that description may be used for a stuck or skewed value. Section 3.5 says bank 1 always contains cylinder number 1 and bank 2 is the opposite bank. If the engine has only one bank, the standard says to use the bank 1 codes.
The "A" and "B" camshaft footnote in that table is a different axis. It applies to codes such as P0024 and P0025. P0029 already says exhaust in the title. Do not pick the solenoid by deciding which camshaft is "B," and do not pick the bank by standing in front of the car.
An aggregator page for this number (obd-codes.com) describes a generic oil-fed cam actuator and, in the same article, says the module saw the exhaust camshaft on bank 1 out of range. The code's own location column says bank 2. That page is not a factory pinpoint, and it is not used here as a test.
No Ford, GM, Hyundai, or Volkswagen procedure found in this pass lists P0029 and gives a duty cycle, an ohm band, or an oil-change step. Until this engine's chart is open, the solenoid, the command, and the result are whatever that chart measures. A phaser, a secondary chain, and a start-up rattle are not assumed from the SAE title.
Common causes
- A connector or wire at the bank 2 exhaust valve-control solenoid, checked before the timing cover comes off
- The exhaust oil-control solenoid failing the command-versus-result test in this engine's chart
- A bank 1 procedure, or a "B" camshaft procedure, used in place of a P0029 test this engine does not share
- Oil level or oil viscosity treated as the cause without a procedure that says so for this code
- A phaser or a chain replaced from a general VVT story rather than from this pinpoint
- The intake solenoid, P0028, diagnosed under the exhaust code
Symptoms
- Check engine light with P0029
- The bank 2 exhaust cam not following its command, when this engine's data shows that
- A performance code on the same cam only if this calibration stores one
- No second bank to compare, on an engine that has only bank 1 — those engines use the bank 1 code instead
- The solenoid on the exhaust cam of the bank that does not contain cylinder 1
- A repair history of oil services that this code's missing procedures do not call for
Diagnostic steps
- 1.Find P0029 in this engine's service information. If the section has no such test, do not substitute a bank 1 exhaust test, a "B" camshaft over-advanced test, or an aggregator oil-change list.
- 2.Mark cylinder 1. Bank 2 is the other bank, per SAE J2012 APR2002 section 3.5. Unplug the exhaust valve-control solenoid that diagram shows, with the ignition off, and inspect the connector and the harness where it can rub.
- 3.Run the command-versus-result check the chart prints. That may be a duty cycle, a cam-angle error, or a switch. Record it, or have a passenger read it. Do not infer a stretched secondary chain from the code name.
- 4.Measure the coil only against a spec this procedure prints. No resistance is stated here, because none was found that belongs to P0029 across engines.
- 5.Follow the chart's next part. If it names the solenoid, replace that solenoid. If it names a phaser or a chain, that is a different job and it is outside the RepairPal solenoid pair below.
- 6.Clear the code and rerun the test the chart enables. Do not add an EGR step. None was found in a P0029 procedure.
Repair cost
$220 – $950 (variable valve timing control solenoid replacement)
Scoped to the solenoid, because that is the part the SAE title names and the part RepairPal prices as a variable valve timing control solenoid. National average $469–$594, labor $196–$288, parts $273–$306, estimates updated 3 September 2026 (repairpal.com/estimator/variable-valve-timing-control-solenoid-replacement-cost). That page lists vehicle lines from $218–$355 through $879–$952. RepairPal's Toyota Corolla page for the same job is $879–$952, labor $121–$178, parts $758–$774. The printed pair rounds the national page's low line and the Corolla total. A phaser or a timing chain is not inside the pair unless this engine's chart reaches it. No oil-change total is used as the repair, because no P0029 procedure found in this pass starts with one.
Estimate your repair
Run the numbers for your vehicle
Open the Repair Cost Estimator with vvt solenoid replacement preselected. Adjust labor rate and vehicle category to fit your situation.
Related repairs
DIY vs shop
This is an intermediate DIY job. It usually involves diagnostic steps, specialty parts, and some careful work in tight spaces. If you have the tools and a service manual or trustworthy video for your specific vehicle, it is achievable in a weekend. Otherwise, a competent independent shop will be faster.