AutoLogicTools

OBD-II trouble code

P2089: 'A' Camshaft Position Actuator Control Circuit High (Bank 1)

The name says high voltage, but the usual cause is nothing at all — an open circuit lets the sense line float up to the reference it is monitored against. This is the one code in the family where condemning the solenoid on a resistance reading is defensible.

Medium severityPowertrainVariable Valve TimingDrivable short-term

Quick facts

System
Powertrain
Category
Variable Valve Timing
Severity
Medium severity
Drivable
Usually safe to drive short-term
Repair cost range
$90$950
DIY difficulty
Intermediate DIY

Browse every code in P2000–P20E8, or start from the full code library.

What does P2089 mean?

P2089 is stored when the module finds the control line to the intake camshaft actuator solenoid on bank 1 sitting high when its own command says it should be pulled down.

The name invites the wrong conclusion. It sounds like a wire touching battery voltage, and occasionally it is. Far more often it is the opposite problem. The module drives these solenoids by pulling the control line toward ground through a low-side output, and it monitors the line against a small internal pull-up so that it can tell whether the load is actually there. With the solenoid connected and healthy, that pull-up is swamped by the coil and the line does what it is told. Break the circuit anywhere — a coil that has gone open, a terminal that has backed out, a wire that has fractured inside its insulation — and there is nothing left to pull the line down. It floats up to the reference, the module sees a voltage it did not ask for, and it reports a high circuit. So the leading cause of this code is absence rather than excess.

That has a practical consequence worth acting on. Because the most common finding is a genuinely open coil or a genuinely broken connection, a resistance measurement is unusually decisive here. On the low-side version of this fault, an ohmmeter is nearly useless: a partial leakage path to ground reads as a perfectly normal coil and the real evidence is in the waveform. On this code, an open coil measures as an open coil, and a specification check on the solenoid genuinely settles the question. P2089 is the one member of this family where replacing the solenoid on the strength of a static measurement is a defensible decision rather than a guess.

What the driver feels follows from the same physics. A solenoid that is never energised does not leave the camshaft in a random position — it leaves it parked where springs and a locking pin put it, which on the intake side of most engines is fully retarded. That is the position the engine uses for starting and for idle, so idle quality, cold running and cranking are all unaffected. What is lost is everything the phaser was there to provide: the valve overlap that fills the cylinder at mid speeds and the timing changes that keep torque flat through the rev range. The complaint is therefore about feel rather than about running. Owners describe a car that has gone dull, that needs more throttle for the same progress, and that returns slightly worse economy, while a technician who only listens to it at idle hears nothing wrong at all.

One more thing separates this code from its low-side twin: the module's protection. A short to ground puts current through an output that was not designed to sink it and can damage the driver. An open circuit does not — there is no current path to do harm with. So a P2089 that persists after a correct repair is much less likely to indicate a damaged module than a persistent P2088 would be, and the suspicion should stay on the circuit for longer. Check the terminals themselves, including whether one has backed part-way out of the connector body, before anything expensive is contemplated.

Where the fault does turn out to be a genuine short to power, the location is usually specific: the solenoid harness runs near ignition and injector wiring at the front of the head, and a chafe between two looms is the realistic route by which a switched supply reaches a control line.

Common causes

  • Open winding in the solenoid coil after long service, leaving nothing to pull the control line down
  • Terminal backed part-way out of the connector body so the circuit is open while the plug looks connected
  • Control wire fractured inside its insulation, with the break invisible from outside
  • Connector not fully latched after previous work on the front of the engine
  • Corrosion on the solenoid terminals breaking the connection without visible damage
  • Control wire chafed against an adjacent ignition or injector loom and shorted to a switched supply
  • Harness damaged or stretched during timing cover, accessory drive or valve cover work
  • Broken ground or supply at the solenoid side of the circuit on installations that feed it separately
  • Incorrect replacement solenoid whose coil resistance is far outside the expected range
  • Module driver output failed open, which is rare and should be reached only by elimination

Symptoms

  • Check engine light while the engine idles and starts entirely normally
  • Dull, flat response through the mid range with noticeably more throttle needed
  • Cam timing shown parked at its fully retarded default and not responding to command
  • Fuel economy slightly down over a tank with no change in how the engine sounds
  • Solenoid coil measuring open or far out of specification on a meter
  • No misfire, no roughness and no starting difficulty
  • Fault appearing immediately after work at the front of the engine
  • Companion intake cam timing performance codes stored alongside
  • Emissions readiness monitors that will not complete
  • Solenoid making no audible click when commanded during an actuator test

Diagnostic steps

  1. 1.Measure the solenoid coil resistance against specification first. Unlike the low-side version of this fault, an open or badly out of range coil is the most common finding here and a static measurement genuinely settles it.
  2. 2.Inspect the connector terminals closely, including whether one has backed part-way out of the body. A plug that looks seated while a terminal has retreated behind the lock produces exactly this code.
  3. 3.Command the solenoid through an actuator test and listen for the click. Silence with a correctly measuring coil moves the suspicion straight to the wiring.
  4. 4.Check continuity of the control wire end to end with both the module and the solenoid disconnected. A conductor fractured inside intact insulation is common and invisible from outside.
  5. 5.Flex the harness in short sections while monitoring continuity. A break that only opens under movement explains a fault that comes and goes.
  6. 6.Look for chafe where the solenoid loom runs alongside ignition or injector wiring at the front of the head. That contact is the realistic route by which a switched supply reaches this line and produces a true high fault.
  7. 7.Verify the supply and ground at the solenoid on installations that feed it independently, since a missing feed presents to the module in the same way an open coil does.
  8. 8.Confirm the part number of any recently fitted solenoid. A coil whose resistance is well outside the expected range will set this code from new.
  9. 9.Scope the control line if the coil and wiring both check out. The waveform distinguishes a driver that is not switching from a circuit that is not connected.
  10. 10.Treat a damaged module driver as the last suspect, and note that it is less likely here than on the low-side code, because an open circuit does not pass the current that damages an output.

Repair cost

$90$950

Diagnosis is $100 to $190, and is usually shorter than on the low-side fault because a resistance check on the coil is meaningful here. The solenoid is $40 to $190 in parts with 0.4 to 1.2 hours of labour on most bank 1 installations, and is the outcome in a large share of these cases. Repairing a broken control wire or re-terminating a connector is $90 to $300. A chafed loom shorted to a switched supply may need a longer section repaired at $150 to $420. Module driver failure sits at the top of the range at $500 to $950 with programming, and is genuinely rare on an open-circuit fault.

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.

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.

Related codes

Frequently asked questions

Can I keep driving with P2089?

Yes for the short term. A solenoid that is never energised leaves the intake camshaft parked where its spring and locking pin hold it, which is the position the engine uses for starting and idling. So the car starts and idles normally and nothing is being strained. What you lose is the mid-range torque the phaser was there to provide, along with a little economy. It is a comfortable fault to live with for a week or two and a pointless one to live with for a year.

Why does a code called 'high' usually mean an open circuit?

Because of how the module watches the line. It drives the solenoid by pulling the control wire toward ground, and it monitors that wire against a small internal reference so it can tell whether the load is really connected. With a healthy coil attached, the coil dominates and the line behaves. Take the coil out of the picture — an open winding, a terminal backed out, a fractured wire — and nothing is left to hold the line down, so it drifts up to the reference. The module sees a voltage it did not command and calls it high.

The car idles perfectly. Is the code wrong?

No, and the perfect idle is a clue rather than a contradiction. The default parked position of the intake phaser is the one the engine uses for starting and idling, so a phaser that has stopped moving still gives you a flawless idle. The loss is everywhere else: the valve overlap that fills the cylinders at mid speeds is gone, so the car feels dull and needs more throttle. That is why this fault is often noticed as a change in feel long before anyone looks at the engine.

Is it safe to replace the solenoid without more testing?

On this particular code, more defensible than usual. The most common cause is a coil that has gone open, and that shows up clearly on a resistance measurement against specification — so unlike the low-side version of this fault, where a meter tells you almost nothing, a static test here is real evidence. Measure the coil first. If it reads open or well out of range, the solenoid is the part. If it measures correctly, stop and check the wiring, because the fault is then somewhere between the module and the connector.

Editorial context

About This Diagnostic Information

AutoLogicTools diagnostic guides explain OBD-II trouble codes using recognized code definitions, standard automotive diagnostic principles, and practical automotive context. A trouble code records a condition detected by a control module. It does not automatically identify a failed part, and the right diagnostic procedure can vary by vehicle.

Manufacturer service information, technical service bulletins, wiring diagrams, and vehicle-specific procedures should take precedence when available.

AutoLogicTools was founded by Vincent Fisk, an automotive locksmith and shop owner in San Diego with hands-on experience in vehicle keys, immobilizer systems, electrical issues, modules, programming, and diagnostics.