Go-Parts
Cart 0
Your cart is empty
Add an item to see it appear here.
Wrenchy
Go-Parts Garage
Expert guides for diagnosing, troubleshooting, and replacing auto parts Expert guides for diagnosing and replacing auto parts
Browse All Articles →
🧭 Diagnostic Flowchart 🎬 Helpful Videos 🛍️ Shop This Part

P0604 on 2015-2018 Chevrolet Silverado 1500: RAM Error Causes and Fixes

P0604 indicates a Random Access Memory (RAM) error in a control module, most often the Engine Control Module (ECM) or Transmission Control Module (TCM). Before replacing any expensive modules, thoroughly check the battery, charging system, and all related electrical connections, as voltage issues and poor factory grounds are a very common cause on these trucks.

16 minutes to read 2015-2018 Chevrolet SILVERADO 1500
Most Likely Cause
Weak or Failing Battery / Poor Connections
Difficulty
1/5
Est. Time
2 hrs
DIY Doable?
🔧 Shop
Shop Labor
$300 – $1450
Parts Price
$150 – $1000
⚠️ Drivable, but... — Driving is possible but not recommended. The fault can cause unpredictable stalling, harsh shifting, a no-start condition, or entering 'limp mode', which could leave you stranded or create a safety risk.
Key Takeaways
  • P0604 on a 2015-2018 Silverado is a serious memory error in either the ECM or TCM.
  • Before suspecting a costly module failure, ALWAYS start by testing the battery, alternator, and cleaning all main power and ground connections.
  • Use a scan tool to determine which module (Engine or Transmission) set the code, as this will guide your diagnosis.
  • If a module must be replaced, it is not a plug-and-play part. It requires professional programming to your truck's VIN.
  • Check for GM Technical Service Bulletins (TSBs), as they provide specific diagnostic guidance for this known issue.
The trouble code P0604 stands for "Internal Control Module Random Access Memory (RAM) Error". This means a critical computer in your Silverado, either the Powertrain Control Module (PCM/ECM) or the Transmission Control Module (TCM), has detected a problem with its own short-term memory. This RAM is essential for storing temporary data the truck uses for real-time calculations, like fuel adjustments and transmission shift patterns. When the module fails an internal self-check of this memory, it logs the P0604 code.

What's Unique About the 2015-2018 Chevrolet SILVERADO 1500

For this generation of Silverado (K2XX), the P0604 code is particularly tricky because it can be set by either the Engine Control Module (ECM) or the Transmission Control Module (TCM). Two separate Technical Service Bulletins (TSBs) from GM highlight this ambiguity. Bulletin #PIP5609 points to the ECM, emphasizing that low voltage or a momentary loss of power/ground can be the cause. Bulletin #PIP4653E points to the TCM, particularly for the 2015 model year. Therefore, the first step in diagnosis is to use a scan tool to determine which specific module is reporting the fault.

Diagnostic Flowchart

Tap your situation to follow the diagnostic path that matches what you're seeing on this vehicle.

What is the primary symptom you are experiencing with your Silverado?
→ Clear the code and test drive. If it returns, test the battery (needs 13.5V-14.5V running) and check the braided engine-to-firewall ground strap.
Have you tested the battery voltage and inspected the ground straps?
→ Test battery (>12.4V resting, >9.6V cranking). Inspect the braided engine-to-firewall ground and negative cable near the passenger exhaust manifold for melting.
→ Per TSB #PIP5609, verify ECM connector terminal tension. If wiring is good, reflash software ($100-$250) or replace the ECM ($500-$1000).
→ Scan to confirm the code is in the TCM. Per TSB #PIP4653E, check for software updates ($100-$250) or replace the TCM ($400-$800).
Professional service recommended: Diagnosing and replacing control modules requires specialized tools for accurate testing and VIN-specific programming. Post-installation, procedures like a crankshaft position variation learn and idle learn are often required, which need professional scan tools like a GM Tech 2 or GDS2.

Symptoms You May Notice

  • Check Engine Light is on
  • Vehicle may not start or may be hard to start
  • Engine may stall intermittently
  • Harsh or erratic transmission shifting
  • Service StabiliTrak warning light may illuminate
  • Reduced engine power (limp mode)
  • Service Battery Charging System message may appear on the dash.
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the ECM or TCM when the root cause is an unstable power supply from a weak battery or, more commonly on this platform, a corroded or insufficient factory ground strap.

Most Likely Causes

  1. Weak or Failing Battery / Poor Connections 🔴 High Probability → Shop Vehicle Battery Modern trucks like the Silverado are highly sensitive to voltage. A weak battery or corroded terminals can cause voltage drops that corrupt module memory during startup. Furthermore, the factory ground straps on K2XX trucks are a known weak point, with many owners reporting that adding redundant grounds solves mysterious electrical issues. 🎬 Watch: How to fix common GM truck electrical and ground issues.
    How to confirm: Test the battery voltage with a multimeter; it should be above 12.4V at rest and stay above 9.6V while cranking. Check the alternator output, which should be between 13.5V and 14.5V with the engine running. Inspect battery terminals and main ground straps for corrosion or looseness. Specifically check the braided engine-to-firewall ground strap and the main battery negative cable where it grounds to the frame/engine block.
    Typical fix: Clean battery terminals and ground connections until they are shiny. If the battery is weak or old (over 4-5 years), replace it. Many owners proactively add or upgrade the main ground straps to ensure a robust connection.
    Est. part cost: $150-$350
  2. Faulty Engine Control Module (ECM) or Transmission Control Module (TCM) 🟡 Medium Probability → Shop Engine Control Module (ECM) Internal hardware failure can occur due to heat, vibration, or age. TSBs #PIP5609 and #PIP4653E specifically mention module issues on these trucks, but TSB #PIP5609 strongly advises ruling out all power and ground issues before replacement.
    How to confirm: This is a process of elimination. If the battery, charging system, and all related wiring/connections (especially grounds) are confirmed to be good, the module itself is the likely culprit. A professional scan tool is needed to confirm which module logged the code.
    Typical fix: Replace the faulty control module. The new module must be programmed to the vehicle's VIN using GM's Technical Information System (TIS). Post-programming steps like an idle relearn or crankshaft position sensor relearn are often necessary.
    Est. part cost: $400-$1000
  3. Corrupted Module Software ⚪ Low Probability Software glitches can sometimes cause memory errors. GM occasionally releases updates to fix such bugs. TSB #PIP4653E suggests reprogramming the TCM as a potential fix. 🎬 Watch: A helpful walkthrough on fixing the P0604 fault code.
    How to confirm: A dealership or a qualified shop with access to GM's Technical Information System (TIS) can check if a software update is available for the ECM or TCM by checking the current calibration ID against the latest version.
    Typical fix: Reprogram or "reflash" the affected module with the latest software version. This is often attempted before module replacement.
    Est. part cost: $100-$250 (Labor)
  4. Poor Electrical Connections or Damaged Wiring ⚪ Low Probability TSB #PIP5609 specifically advises dealers to inspect the ECM's electrical connections and verify proper power and grounds, including checking for terminal tension issues. A known issue on some trucks is the negative battery cable insulation melting where it passes the passenger side exhaust manifold, leading to corrosion and a poor ground.
    How to confirm: Visually inspect the wiring harness and connectors at the suspect module (ECM or TCM). Check for corrosion, backed-out pins, or physical damage. Perform a voltage drop test on the power and ground circuits; it should be less than 0.2V.
    Typical fix: Repair the damaged wiring or clean/tighten the connector. In the case of a corroded ground cable, replacement is necessary.
    Est. part cost: $50-$300 (Labor)

Diagnosis Steps

  1. Connect a professional scan tool to identify which module (ECM or TCM) has stored the P0604 code. Note any other codes present.
  2. Clear the codes and perform a test drive to see if the code returns immediately. If it doesn't, it may have been a temporary glitch.
  3. Thoroughly test the battery and charging system. Ensure the battery passes a load test and that the alternator provides stable voltage (13.5V-14.5V) when running.
  4. Inspect and clean the battery terminals, main engine/body ground straps, and underhood fuse block connections for corrosion or looseness. Pay special attention to the braided ground strap from the engine to the firewall and the main battery cable's ground points on the frame and engine.
  5. Following TSB #PIP5609, inspect the electrical connectors and wiring harness at the affected module for any signs of damage, moisture, or loose pins. Verify proper terminal tension in the connectors.
  6. Use a multimeter to verify that the module is receiving proper power and has a solid ground connection (less than 0.1 Ω resistance to ground).
  7. If all wiring and power/ground circuits are good, check with a dealer for any available software updates (reflashes) for the module.
  8. If the code persists after all previous steps, the control module is likely faulty and requires replacement and programming.

Parts You'll Likely Need

  • Engine Control Module (ECM/PCM) (OEM #VIN Specific (e.g., ACDelco E92 family)) — An internal hardware failure in the ECM is a primary cause of this code after power supply issues have been ruled out. TSB #PIP5609 points directly to this possibility after thorough electrical checks.
    Trusted brands: ACDelco
    OEM price range: $500-$1000
    Aftermarket price range: $300-$700
  • Transmission Control Module (TCM) (OEM #VIN Specific (e.g., ACDelco T87A family)) — If the code is stored in the TCM, and especially if accompanied by shifting problems, the TCM may have failed. TSB #PIP4653E highlights this as a known issue.
    Trusted brands: ACDelco
    OEM price range: $400-$800
    Aftermarket price range: $250-$600
  • Battery — A weak or failing battery is a very common cause of memory-related fault codes due to unstable voltage during engine cranking.
    Trusted brands: ACDelco, DieHard, Interstate
    OEM price range: $200-$350
    Aftermarket price range: $150-$250

Related Codes That Often Appear With This One

  • P0601, P0603, P0606 — These are all internal control module error codes. TSBs #PIP5609 and #PIP4653E list them together, indicating they often stem from a common root cause like a voltage issue or a failing module.
  • U0100, U0101 — These are 'Lost Communication' codes. If the ECM or TCM is malfunctioning due to a P0604 error, it may stop communicating with other modules on the vehicle's network, triggering these codes.

Technical Service Bulletins (TSBs) & Recalls

  • PIP5609: Advises checking ECM connections and power/grounds for a range of internal module codes, including P0604.
  • PIP4653E: Notes that P0604 can be stored in the Transmission Control Module, indicating a potential TCM-specific fault.

Platform-Specific Known Issues

  • Bulletin #PIP5609: GM issued this bulletin for 2016-2018 Silverado, Sierra, Tahoe, Suburban, and Escalade models that may set codes P0601-P0604, P0606, and others. It explicitly states a 'momentary loss of power or ground to the ECM' may be the cause and instructs technicians to verify ALL power and ground circuits and connector terminal tension *before* replacing the ECM.
  • Bulletin #PIP4653E: This bulletin addresses vehicles that may store codes P0601, P0603, P0604, P062F or P1621 in the Transmission Control Module (TCM). It directs technicians to ensure the codes are set in the TCM, pointing to a potential TCM-specific issue that may be resolved with a reprogram or replacement.

Mechanic-Grade Diagnostic Values

  • Module Ground Resistance — expected: Below 0.1 Ω. Failure: A reading higher than 0.1 Ω indicates a poor ground connection, which can cause voltage drops and trigger memory faults.
  • Voltage at Module During Cranking — expected: Above 9.0V - 9.6V. Failure: Voltage dropping below this level while the starter is engaged can corrupt the module's RAM and set a P0604 code.
  • Voltage Drop on Ground Circuit — expected: Less than 0.2V. Failure: A higher voltage drop reading between the battery negative post and the chassis or engine block indicates high resistance in the ground path.

Hidden / Shadow Codes Worth Checking

  • Symptom Byte (e.g., '71'): GM uses two-digit hexadecimal symptom bytes to add context to a generic DTC. For example, a P0604 accompanied by a symptom byte of '71' can indicate 'Invalid Serial Data Received,' pointing more toward a software or communication issue rather than a pure hardware RAM failure. (see via These are only visible using a dealer-level scan tool like the GM GDS2 (Global Diagnostic System 2) or a high-end professional scanner. Basic OBD-II code readers will not display them.)

Scan Tool Commands That Help

  • GDS2 / Techline Connect: Replace and Reprogram ECU / Module Setup — This function is mandatory after physically installing a new ECM or TCM. It uses the Service Programming System (SPS) to download the correct VIN-specific calibration file from GM's servers and flash it to the new module.
  • GDS2 / Techline Connect: Transmission Service Fast Learn — This procedure must be performed after replacing and programming a new Transmission Control Module (TCM/TEHCM) to allow the module to learn clutch fill times and shift characteristics.
  • OEM Scan Tool: Memory Test Routine — Some OEM-level tools include a specific routine to test the integrity of the module's RAM. A failure on this test directly confirms an internal module hardware fault.

Wiring & Ground Locations

  • Main Negative Battery Cable Ground (Engine Block) — Follow the main negative battery cable from the battery. It splits, with one main branch bolting directly to the side of the engine block on the passenger side.. This is the primary ground for the engine and its components, including the ECM. Corrosion or looseness here is a very common cause of widespread electrical issues, including module memory errors.
  • Main Negative Battery Cable Ground (Frame) — A smaller wire from the negative battery terminal assembly grounds to the frame/body on the passenger side, often near the fender.. This ground is critical for the body control module and other electronics. While less direct, a poor connection here can contribute to an unstable electrical environment for all modules.
  • G103 / G104 / G110 — These are GM's designations for major engine and body grounds. G103 is often at the left front of the engine block. G110 is often located at the rear of the passenger side cylinder head. Their exact locations can vary slightly by engine and year, but they are consistently major grounding points for the engine harness.. The ECM relies on these specific ground points for a stable reference. The TSBs for P0604 explicitly call for checking all power and ground circuits, and these are the primary ones to inspect.
  • ECM Connector X1 Power/Ground Pins — On the main 73-pin connector (X1) for the E92 ECM. Key pins include Pin 20 (Battery Positive Voltage) and multiple Low Reference (ground) pins such as 21, 24, and 41.. These are the final points to test for power and ground directly at the module. A voltage drop test at these pins can confirm if the problem is in the wiring harness or the module itself, as instructed by TSB #PIP5609.

Real Owner Repair Stories

  • Compilation of reports from gm-trucks.com and YouTube comments (2015-2017 Silverado 1500, various engines) — Flickering dash lights, radio/nav screen shutting off, intermittent stalling when coming to a stop, Service StabiliTrak messages, and eventually a P0604 code.
    ❌ Tried (didn't work) Replacing the battery (sometimes worked temporarily, but the issue returned), Replacing the alternator, Clearing the code (it would always return)
    ✅ What actually fixed it The final fix for many owners was locating, removing, and thoroughly cleaning the main ground connection on the passenger side of the truck. This was either the negative cable's connection to the engine block or a separate ground strap to the frame in the same area. The connection point was often corroded or dirty from the factory, and cleaning the bolt, the cable lug, and the frame/block surface to bare metal resolved the voltage fluctuations that were causing the module errors.

OEM Part Supersession History

  • e.g., 12672537, 12680656, 12686383e.g., 12692069, 12704475 — GM frequently updates part numbers for hardware revisions or software compatibility.
    Heads up: The ECM for this truck is the ACDelco E92 family. While multiple part numbers may physically fit, they are VIN-specific. A used ECM cannot be reprogrammed by most shops and must be purchased either new from GM or as a specialized 'unlocked' or 'virginized' unit that is ready for programming with a GDS2/Techline Connect tool.

Model Year Variations Within This Range

  • 2015: TSB #PIP4653E specifically calls out the possibility of P0604 being stored in the Transmission Control Module (TCM), suggesting a higher likelihood of TCM-related issues (software or hardware) for this model year.
  • 2016-2018: TSB #PIP5609 covers these years and lists P0604 as a potential code set in the Engine Control Module (ECM) due to momentary loss of power or ground, placing a stronger emphasis on checking ECM-specific wiring and connections.
GM Truck Electrical & Ground Issues FIX!!! Silverado, Sierra, GMC
GM Truck Electrical & Ground Issues FIX!!! Silverado, Sierra, GMC
G218 Ground Issue Fix (2014 - 2018 Chevy Silverado GMC Sierra)
G218 Ground Issue Fix (2014 - 2018 Chevy Silverado GMC Sierra)
Chevy Silverado Service Stabilitrak? Try This $0 Fix Before Calling a Mechanic!
Chevy Silverado Service Stabilitrak? Try This $0 Fix Before Calling a Mechanic!
Check Engine Light P0604 Code Fix
Check Engine Light P0604 Code Fix
Wrenchy
Article researched & written by
Go-Parts' AI research assistant. Every article is backed by live web research, verified OEM data, and real technician knowledge — so you get accurate, up-to-date information you can trust.
Meet Wrenchy → Updated Apr 30, 2026

The information in this article is provided for general reference and educational purposes only. Vehicle specifications, procedures, and part compatibility can vary by production date, trim level, and region. Always consult your vehicle's factory service manual and verify part numbers before purchasing or performing repairs. Safety-critical components such as airbags, seat belts, and braking systems should be installed by a qualified professional.

Year Coverage
This article covers the OBD-II Code P0604 for:
  • Chevrolet SILVERADO 1500: 2015201620172018
In this article
🧭 Diagnostic Flowchart
Jump to ▴

Email This Guide

We'll send you a link to this article so you can read it later or share it.

Added to cart · Part