Comprehensive diagnostic guide for OBD-II code P0904
Quick Answer
What P0904 Means
Comprehensive for OBD-II code P0904. This affects your vehicle's transmission system.
Most Likely Cause
Multiple possible causes - see diagnostic details below
This system typically requires professional diagnosis and repair.
Generally safe to drive short-term. Have it diagnosed soon.
Safe to Drive (Short-Term)
Generally safe to drive short-term. Have it diagnosed soon.
Don't Have a Scanner?
Need Personalized Help?
Our AI can help diagnose your specific situation and answer follow-up questions.
Detailed Diagnostic Information
Disclaimer on code meaning
- do not contain an OEM-definitive description of P0904. The open-source entry labeled (translated: gear/port selector position circuit) suggests that the code relates to the transmission gear selector/PRNDL position input circuit. The available Wikipedia OBD-II references confirm that P0xxx codes are generic Powertrain (including transmissions) fault codes monitored by the OBD-II system, but do not define P0904 in these excerpts. Given that, treat P0904 as a transmission-range/selector-position circuit related fault unless your OEM manual states a different definition.
What P0904 generally implies (based on the open-source code definition and typical TRS-related behavior)
- Likely relates to the transmission range sensor (TRS) or the circuit that reports gear selector position (PRNDL) to the Powertrain Control Module (PCM) or Transmission Control Module (TCM).
- The fault is usually tied to input signal integrity or incorrect signal compared with the actual shift lever position, which can cause transmission control logic to misinterpret the desired gear, potentially triggering limp/limited shift behavior or rejection of certain gear selections.
Symptoms
- Transmission not shifting as expected or stuck in a particular range; frequent mismatches between actual gear and reported gear indicator.
- Engine/PCM warning lights (check engine light) and possibly transmission warning lights.
- Vehicle enters a limited or "limp" mode to protect transmission, often with inability to select certain gears or a hard shift feeling.
- Gear selector indicator (PRNDL) on the instrument cluster not matching the lever position, or blinking/suggesting a gear that doesn't correspond to the actual gear.
- DTCs stored during a drive cycle with intermittent or hard faulting of the TRS input circuit.
Probable Causes
- Faulty transmission range sensor (TRS) or sensor inside the shifter assembly: 35-45%
- Damaged or corroded TRS wiring harness, grounds, or connector terminals (insulation wear, bent pins, water intrusion): 25-40%
- PCM/TCM input fault or software calibration issue affecting interpretation of the TRS signal: 15-25%
- Mechanical shift linkage misadjustment or binding affecting actual gear vs. reported gear: 5-15%
- Other related sensors or circuits interacting with the PRNDL input (neutral safety switch, park/lock switch, etc.): 5-10%
Step-by-Step Diagnosis
1) Verify code and data
- Confirm P0904 is the active code and check for related codes (P0xxx transmission-related codes, PRNDL-related codes, neutral safety/park switch codes, or other sensor faults) that may help pinpoint the failing circuit.
- Review freeze frame data for the vehicle's reported gear, speed, and engine load at the time of fault. Look for inconsistencies between reported gear and actual transmission behavior.
2) Visual inspection
- Inspect the transmission range sensor/gear selector assembly for signs of wear, fluid intrusion, corrosion, or physical damage.
- Inspect wiring harnesses and connectors to the TRS: look for damaged insulation, pin corrosion, loose or bent pins, pulled/strained wires near the shift linkage, or signs of water ingress.
- Check related circuits (neutral safety switch, park/lock switch) that can affect TRS inputs to the PCM/TCM.
3) Live data verification (with a capable scan tool)
- With the vehicle in key-on/engine-running state (as appropriate for the vehicle), monitor the PRNDL position live data and compare it to the actual gear lever position. Look for proper alignment across all positions (P, R, N, D, etc.).
- Monitor any TRS-related input values (range sensor value, voltage, or resistance depending on the vehicle) as you move the shifter through all positions. Look for intermittent or out-of-range readings.
- Check for fault code persistence or intermittent faults that appear when the shift lever is moved or when the vehicle experiences vibration.
4) Electrical checks (TRS circuit)
- Perform continuity and resistance checks on the TRS circuit between the sensor/gear selector and the PCM/TCM input pins. Compare against the vehicle's service data/specifications for expected resistance ranges in each position.
- Check for proper ground and supply voltage at the TRS connector. A weak or intermittent supply/ground can produce erroneous readings.
- Inspect for short to voltage or short to ground conditions in the harness.
5) Mechanical linkage check
- If the sensor relies on a mechanical linkage (cable or linkage to the shifter), verify alignment, free movement, and correct detent feel. Misadjustment can cause the TRS message to be inconsistent with the actual lever position.
- Ensure there is no binding or sticking in the transmission valve body or shift mechanism that could mimic a faulty TRS signal.
6) Clear, reload, and re-test
- After any repair (TRS sensor replacement, wiring repair, or connector replacement), clear codes and perform a drive-cycle test to confirm that P0904 does not reappear and that the transmission shift logic behaves correctly through all gear positions.
Recommended test procedures and checks
- TRS/gear selector live data test:
- Expected: PRNDL data should update immediately and match the physical shift lever position across all gears.
- If mismatch or delayed updates occur, suspect TRS or harness problems upstream of the PCM/TCM.
- Electrical integrity tests:
- Resistance/continuity checks for TRS circuit wires should align with OEM spec values (consult service data for exact ranges).
- Verify proper voltage supply and ground at the TRS connector during operation.
- Physical examination:
- Look for damage at the connector pins, corrosion on terminals, and the speedometer-like "creep" effect if a fault is intermittent.
- Functional/diagnostic cooperation with the PCM/TCM:
- If TRS appears healthy, but the PCM/TCM still reports a fault, consider calibration updates or software reflash if indicated by OEM, or a failing PCM/TCM module.
Common Repairs
- Replace or service TRS sensor assembly (including any related sensor in the shift mechanism) if readings are out of range or inconsistent.
- Repair or replace damaged wiring harnesses, fix grounding issues, or replace faulty connectors.
- Correct mechanical linkage misadjustments or restore proper detent alignment of the shift lever.
- Update or reflash PCM/TCM software if the fault is software-calibrated and the OEM provides an update.
- Replace PCM/TCM only if diagnostics strongly indicate a fault in the control module and the TRS/harness checks are clean.
Important safety notes
- Transmission-related diagnostics involve high-voltage/ignition systems and the potential for unintended gear engagement. Ensure the vehicle is in Park with the parking brake engaged during inspection of mechanical linkages and electrical tests.
- When performing electrical tests, follow proper ESD precautions and avoid shorting circuits. Disconnect the battery only as required by the procedure, and re-connect with the engine off and keys out of the ignition unless the OEM procedure calls for a different sequence.
How to document findings (for a repair report)
- List all codes found (P0904 and any related TRS/PRNDL codes).
- Provide a detailed symptom description, including any disparities between lever position and gear indicator observed by the customer.
- Include exact test results: scan tool snapshots of live data, resistance/continuity results, voltage readings, and component locations.
- State the final repair performed and any re-test results (drive cycle success or reappearance of P0904).
This diagnostic guide was generated using verified reference data:
- Wikipedia Technical Articles: OBD-II
- Open-Source OBD2 Data: N/A (MIT)
Content synthesized from these sources to provide accurate, real-world diagnostic guidance.
Consider professional help if:
- You are not comfortable performing the diagnosis yourself
- The issue requires specialized tools or equipment
- Initial repairs did not resolve the code
- Multiple codes are present simultaneously
- The vehicle is still under warranty
Frequently Asked Questions
What does code P0904 mean?
P0904 indicates Comprehensive diagnostic guide for OBD-II code P0904. This is a powertrain code related to the transmission system. When your vehicle's computer detects this condition, it stores this code and may illuminate the check engine light.
Can I drive with code P0904?
You may be able to drive short distances with P0904, but it should be addressed soon. Extended driving could lead to additional problems or increased repair costs.
How much does it cost to fix P0904?
Repair costs for P0904 typically range from $100-$800, depending on the root cause and your vehicle. Diagnostic fees are usually $50-$150, and actual repairs vary based on whether parts need replacement. Get multiple quotes for the best price.
What causes code P0904?
Common causes of P0904 include sensor malfunctions, wiring issues, mechanical failures in the transmission system, or related component wear. The specific cause requires proper diagnosis with a scan tool and visual inspection.
Will P0904 clear itself?
P0904 may temporarily clear if the underlying condition improves, but the root cause should still be diagnosed. If the problem persists, the code will return.
Related Diagnostic Codes
Important Disclaimer
This information is for educational purposes only. We are not licensed mechanics. Always consult a certified mechanic for diagnosis and repair. Improper repairs can be dangerous.
Helpful Resources
Last updated: 2025-11-26