OBD-II trouble code
P0977: Shift Solenoid "B" Control Circuit High
This code has a third cause that gets missed. A module whose output stage was killed by an earlier short reports its own dead driver as a high circuit, so ask what was stored and cleared before, not only what is broken now.
Quick facts
- System
- Powertrain
- Category
- Transmission / Shift Control
- Severity
- High severity
- Drivable
- Usually safe to drive short-term
- Repair cost range
- $0 – $1,600
- DIY difficulty
- Advanced DIY
One of 42 shift solenoid codes
P0977 sits in a grid: one axis is which solenoid the letter refers to, the other is what went wrong with it. Each cell is a genuinely different fault with its own diagnosis — but codes from the same row or column often appear together, and what a pairing means is usually the fastest way in. The hub page lays out all 42 and explains how to read them against each other.
See all shift solenoid codes →Browse every code in P0900–P0999, or start from the full code library.
What does P0977 mean?
P0977 says the shift solenoid 'B' control circuit was sitting high when the module expected to pull it low. The textbook causes are an open circuit or a connection to battery voltage, and both are real. But there is a third possibility that gets missed constantly, and on this particular circuit it deserves to be checked first.
A module does not command a solenoid by supplying voltage to it; it completes the circuit to ground through an output driver, a transistor inside the module. That driver has current protection, and it can be destroyed or permanently disabled — by a hard short to ground on its own circuit, by a short to battery voltage, or simply by running at its limit for long enough. Once that driver is gone, the circuit sits at supply voltage no matter what the module commands, because nothing is pulling it down. From the module's point of view that is indistinguishable from a broken wire, so it stores exactly this code. The wiring can be perfect. The solenoid can be perfect. What failed is the thing doing the measuring.
That makes history the highest-value piece of information on this code, and it is free. If the shorted-circuit code for the same solenoid was stored earlier and cleared — or if the vehicle has a documented history of a shift solenoid problem that was 'fixed' by clearing codes — there is a decent chance the short lived long enough to take the driver with it, and that this high code is the aftermath rather than a new fault. Freeze frame data and ignition cycle counters help here too: a code with an old cycle count sitting alongside a recently cleared short is a very different job from a fresh open circuit that appeared this week.
There is a clean measurement that separates the two, but it has a prerequisite that is easy to skip. Supply reaches the module pin through the solenoid coil, so the coil has to be proven first: ohm it at the case connector and confirm it is within specification. Then, with the coil still connected and the ignition on, the module-side pin should sit at supply voltage while the output is off. Command that output on and watch it. A working driver pulls the pin down close to ground, because pulling it down is all it does. A dead or latched-off driver leaves it sitting at supply. Unplugging the solenoid first defeats this test rather than refining it: with the coil out of circuit there is no path to supply, the pin reads near nothing whatever the driver is doing, and a failed module passes. Done with the coil connected, that single measurement tells you whether you are buying a wire or a module, and those two answers are separated by well over a thousand dollars and a programming appointment.
What the car does in the meantime follows the same logic as any lost shift solenoid: the valve body reverts to its default state for that circuit and the transmission operates on whatever gear combinations remain available, usually holding a designed fallback. The vehicle drives. It is the invoice, not the drivability, that this code's diagnosis decides — and getting the module question answered before parts are ordered is the whole value of doing it carefully.
Common causes
- Connector left unseated after earlier work on the transmission
- Broken or backed-out terminal in the transmission case connector
- Open circuit in the control wire between the module and the transmission
- Corroded bulkhead connector in the solenoid circuit
- Shift solenoid 'B' with an open winding
- Internal transmission harness broken with age and heat cycling
- Control wire shorted to a battery-voltage circuit in the same loom
- Module output latched off by its own protection and not yet reset
- Transmission control module output driver damaged by an earlier short on the same circuit, which is the expensive answer and the last one to reach
Symptoms
- Transmission holding a fixed fallback ratio instead of shifting normally
- Specific gears unavailable while others still work
- Code appearing shortly after an earlier shift solenoid fault was cleared
- Sluggish acceleration from rest or high engine speed at road speed depending on the fallback gear
- Gear ratio code from the P0730 family stored alongside this one
- No change in behaviour after clearing the code
- Check engine light with no noise, slip or harshness
- Other shift solenoid codes stored at the same time on the same circuit
Diagnostic steps
- 1.Read the code history and freeze frame data before testing anything, and specifically look for a shorted-circuit code on this same solenoid that was stored earlier or recently cleared.
- 2.Compare ignition cycle counters between codes: an old high code alongside a recently cleared short suggests the driver was damaged by the short rather than a new open appearing.
- 3.Check that the case connector is fully seated and latched and that no terminal has backed out, particularly after recent transmission work. It costs nothing, it produces exactly this code, and it has to be right before any measurement means anything.
- 4.Measure the solenoid coil resistance at the case connector next, both to confirm or clear an open winding and because the driver test below depends on the coil being intact.
- 5.With the coil connected and within specification and the ignition on, measure the module-side pin: with the output off it should sit at supply voltage, and commanding it on should pull it down close to ground.
- 6.Interpret that directly. A dead or latched-off driver leaves the pin at supply whatever is commanded. Do not unplug the solenoid for this test: the coil is what carries supply to that pin, so without it the pin reads near nothing regardless of the driver and a failed module passes.
- 7.If the driver proves healthy, test continuity of the control wire from the module connector to the case connector with both ends disconnected.
- 8.Where the fault is voltage on the circuit rather than an open, check fuses and pull codes from other modules, since that voltage arrived from another circuit.
- 9.Resolve any short-to-ground fault on this circuit completely before replacing a module, or the replacement will suffer the same fate.
Repair cost
$0 – $1,600
The low end is zero because an unlatched case connector reseated during diagnosis is a real outcome. Diagnosis is $110 to $250 and is worth paying for on this code specifically, because the module question is what determines the bill. A wiring or terminal repair is $150 to $450. Shift solenoid replacement is $250 to $700 fitted. A transmission control module with a failed output driver is $600 to $1,600 including programming, and on vehicles where the module is integrated with the engine controller it can be more. That fork — a wire or a module — is the entire reason to do the unloaded driver test before ordering anything.
Estimate your repair
Run the numbers for your vehicle
Open the Repair Cost Estimator with wiring harness / circuit repair preselected. Adjust labor rate and vehicle category to fit your situation.
DIY vs shop
This is an advanced DIY job. It typically requires specialty tools, scan-tool access, lifting equipment, or careful sequencing to avoid causing new failures. Plan for extended downtime and have a backup vehicle. Most owners are better served by a shop that has done this repair before.