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

OBD-II Code U0038: Vehicle Communication Bus 'B' Performance

What U0038 means, why it triggers, and how to fix it

28 minutes to read
Most Likely Cause
Faulty Wiring or Damaged Connectors
Key Takeaways
  • Code U0038 indicates a performance failure on the secondary 125 kbps communication network (Bus 'B') controlling body electronics like windows and gauges.
  • On 2016-2017 Honda Civics, U0038 paired with a no-start condition guarantees a failed Transmission Control Module requiring replacement (TSB 17-012).
  • Before replacing expensive modules, test the CAN bus resistance at the OBD-II port; a healthy network must read exactly 60 ohms.
  • Water intrusion from clogged sunroof drains or bad seals causes over 50% of these network shorts by corroding wiring harness connectors.
  • Never replace a Body Control Module on a GM vehicle after a battery change without first checking TSB 23-NA-163 for a simple software reprogramming fix.
U0038 indicates a performance problem on the 'Bus B' communication network connecting your car's electronic modules. This medium-speed CAN (Controller Area Network) bus allows body and convenience modules—like lights, windows, locks, and the instrument cluster—to interact. When disrupted, these systems act erratically or shut down completely.

What Does U0038 Mean?

U0038 indicates a performance problem on the 'Bus B' communication network connecting your car's electronic modules. This medium-speed CAN (Controller Area Network) bus allows body and convenience modules—like lights, windows, locks, and the instrument cluster—to interact. When disrupted, these systems act erratically or shut down completely.

Technical definition: Vehicle Communication Bus B Performance. This flags a fault on the secondary data network linking the Body Control Module (BCM), instrument cluster, and interior accessories. Bus 'B' operates at a slower speed (e.g., 125 kbps) than the primary high-speed powertrain bus (Bus 'A'), which handles critical engine and transmission data.

Can I Drive With U0038?

⚠️Yes, But With Caution. You can drive, but expect intermittent electrical failures like malfunctioning gauges, power windows, and door locks. However, driving is risky. A sudden communication loss causes the instrument cluster to go blank, hiding your vehicle speed. If the Transmission Control Module (TCM) shares this bus, erratic shifting creates unpredictable driving behavior. On 2016-2017 Honda Civics, this code flags a critical TCM failure causing a complete no-start condition. Continued driving with an active network short risks frying other sensitive modules, easily adding over $1,000 to your repair bill.

Common Causes

  • Faulty Wiring or Damaged Connectors (Very Common) — Communication bus wires run throughout the cabin, under carpets, and through door jambs. Pinched wires, cracked insulation, or bent connector pins interrupt data signals. A single bent pin in a major connector shorts against adjacent pins, bringing down the entire network.
  • Corrosion or Moisture Intrusion (Common) — Water leaking from bad door seals, windshields, sunroofs, or clogged AC drains infiltrates wiring harnesses and control modules. This moisture corrodes pins and creates conductive paths that short out data lines, causing intermittent signal loss.
  • Low-Voltage Event or BCM Glitch (Common) — A weak battery, jump-start, or battery replacement causes memory glitches in sensitive modules like the Body Control Module (BCM). This triggers a cascade of network codes, including U0038, even if no physical part failed. GM notes this specific issue on vehicles like the Chevrolet Equinox.
  • 🎬 Watch: How to reset a Chevy Body Control Module.
  • Faulty Control Module (Common) — An electronic module connected to Bus B, such as the BCM or TCM, fails internally. This causes the module to stop communicating ('go silent') or send disruptive signals ('babbling') that interfere with all other modules on the network.
  • Aftermarket Device Interference (Common) — Improperly installed remote starters, alarms, stereos, or dashcams introduce electrical noise or voltage drops that disrupt the CAN bus. Devices plugged directly into the OBD-II port for power also interfere with network communication.
  • Poor Ground Connection (Less Common) — Control modules require solid chassis grounds. A loose, rusted, or broken ground strap creates a floating ground, causing unpredictable behavior on the bus. A healthy ground connection must have less than 0.1 Ω of resistance.
  • Missing or Failed Terminating Resistor (Rare) — CAN bus networks use two 120-ohm resistors at opposite ends of the network to prevent signal reflections. If a module containing a resistor is unplugged or fails, total network resistance jumps from 60 ohms to 120 ohms, disrupting communication.
  • Software/Programming Errors (Rare) — Following a module replacement or software update, mismatched configuration files cause timing conflicts or protocol errors on the network, triggering a performance code despite healthy hardware.

Symptoms

  • Vehicle Will Not Start — In specific models like the 2016-2017 Honda Civic, a critical communication failure linked to this code prevents the engine from cranking.
  • Instrument Cluster Goes Blank or Acts Erratically — The entire instrument panel, including the speedometer and gauges, momentarily shuts off and resets while driving.
  • Intermittent Warning Lights — The dashboard randomly flashes a 'Christmas tree' of warning lights for the BCM, service vehicle, check engine, or ABS.
  • Malfunctioning Power Accessories — Power windows, door locks, interior lights, radio, and seat heaters work sporadically or fail completely.
  • Erratic Transmission Shifting — If the communication bus involves the Transmission Control Module (TCM), expect harsh shifts, delayed engagement, or the transmission getting stuck in one gear.

Diagnostic Flowchart

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

Which category best describes your current diagnostic situation with the vehicle?
What specific event occurred right before the code first appeared?
→ The new device is the prime suspect. Disconnect it completely from the vehicle's wiring. If the U0038 code and symptoms disappear, the device or its installation method is causing interference on the CAN bus.
→ Suspect a BCM software glitch before a hardware failure. Ask the technician to check for TSBs like GM's 23-NA-163, which details a reprogramming fix for memory corruption. This saves over $800 on an unnecessary BCM replacement.
Which of these specific symptoms is the vehicle currently exhibiting?
→ Stop. This is the classic sign of a failed Transmission Control Module (TCM). Reference Honda TSB 17-012. 🎬 See this walkthrough for Honda Civic TM-CAN malfunctions. The fix is TCM replacement and programming. Do not replace the starter or battery.
→ This points to a wiring or connection issue, not a single failed module. Focus diagnosis on checking for corrosion from water leaks in footwells and inspecting wiring harnesses in door jambs for damage.
Which additional communication code is present along with the U0038?
→ This combination strongly points to the TCM as the source of the network problem. On a 2016-17 Civic, it confirms the known TCM failure outlined in TSB 17-012.
→ This indicates the Body Control Module is the likely source of the network performance issue. Diagnosis focuses on the BCM's power, ground, and harness connections first.
What is the exact resistance reading at the diagnostic port?
→ A 120 Ohm reading means one of the two 120-ohm terminating resistors is missing from the circuit. This is caused by an unplugged module or an open circuit in one of the two main CAN wires.
→ A 60 Ohm reading indicates the terminating resistors and main bus wiring are intact. The fault is a short in the wiring, a bad connector, or an internal module failure. Proceed to voltage checks.
🎬 Watch: How to test CAN bus resistance, voltage, and shorts.
→ This indicates the CAN High and CAN Low wires are shorted directly to each other. Inspect the wiring harness for any points where the two wires are pinched or melted together.

Common Fixes & Costs

  • Diagnostic Scan and Inspection — Parts: $0, Labor: $120-$180, ~1.5 hr book time (Professional)
  • Battery System Reset or Replacement — Parts: $150-$400, Labor: $50-$100, ~0.8 hr book time (Beginner)
  • Wiring Repair or Connector Replacement — Parts: $20-$150, Labor: $125-$400, ~2.5 hr book time (Intermediate)
  • Control Module Reprogramming — Parts: $0, Labor: $150-$300, ~1.5 hr book time (Professional)
  • Control Module Replacement (BCM, TCM, etc.) — Parts: $300-$900, Labor: $200-$500, ~2.5 hr book time (Professional)

Used vs. New Parts: Buying Guide

When a used part is worth it: For an older, high-mileage vehicle (>150k miles) where the cost of a new OEM module is prohibitive, a used or remanufactured module from a reputable seller with a warranty is a cost-effective solution. It makes sense only if you have access to the tools and expertise needed for reprogramming.

Donor-vehicle mileage cap: roughly under 80000 miles for the part to have meaningful remaining life.

Donor quality checklist:

  • Match the part number exactly. Superseded numbers may not be compatible.
  • Verify the seller offers at least a 30-90 day warranty.
  • Ask if the donor vehicle's VIN is available to check for compatibility issues.
  • Avoid modules from flood-damaged or heavy-corrosion vehicles.

Decision logic:

  • If The part requires programming (most BCMs/TCMs do) → Confirm you have a mechanic or dealer willing to program a used part *before* you buy it, as many dealers refuse.
  • If Vehicle is less than 8 years old and under 80,000 miles → Check if the failed module (like a PCM/ECM) is covered under the Federal Emissions Warranty.
  • If The part is for a known, common failure (e.g., Honda Civic TCM) → Favor a new or professionally remanufactured part, as a used one from the same era is likely to have the same defect.

Warranty tradeoff: Used parts typically come with a 30-90 day functional warranty that covers the part only, not labor. New aftermarket parts often have a 1-year to limited lifetime warranty. New OEM parts carry a 1-year warranty, but labor may be covered if installed by a dealer.

Worst-case if a used part fails: $400-$800 if the used part is faulty or incompatible. This includes the cost of repeat labor for installation, programming attempts, and the need to purchase another part.

What Happens If You Wait — Timeline

  1. 0-1 month: Code is set intermittently. You notice an occasional flicker of a warning light or a single instance of a power window not responding, but it quickly corrects itself. (Added cost: $0)
  2. 1-4 months: Symptoms become frequent. The 'Christmas tree' dashboard happens weekly. Power accessories fail for several minutes at a time. If the TCM is on the bus, you feel harsh shifts. (Added cost: $0-$200 (for potential misdiagnosis of individual components like a window switch))
  3. 4-8 months: The intermittent fault becomes a near-constant problem. The instrument cluster goes blank while driving, or the transmission exhibits frequent, harsh shifting. On vehicles with known critical failures, the no-start condition begins. (Added cost: $200-$500 (for potential tow bills and escalating diagnostic fees))
  4. 8+ months: A persistent short circuit or a 'babbling' module sending constant garbage data causes permanent damage to transceivers in previously healthy control modules. A wiring problem that was a $400 fix now requires replacing the BCM and TCM. (Added cost: $1000-$2500+ (cost of replacing multiple control modules damaged by the initial fault))

Cost of Not Fixing It

  • 0-1 month: Intermittent and annoying electrical gremlins, such as flickering lights, non-responsive power windows or door locks, and random warning lights. These are unpredictable but generally do not cause mechanical damage at this stage. (Added cost: Negligible)
  • 1-6 months: Symptoms become more frequent and severe. The vehicle fails to start intermittently or experiences harsh, unpredictable transmission shifting. This poses a safety risk and causes premature wear on transmission components. (Added cost: $200-$500 (for potential tow bills and escalating diagnostic costs))
  • 6+ months: A persistent short circuit on the communication bus causes permanent damage to other connected control modules (e.g., a babbling BCM fries the TCM's transceiver). This turns a single-part failure into a multi-module replacement. (Added cost: $1000-$2500+ (for replacement of multiple control modules))

Diagnosis Steps

  1. Check for Other Codes
    Use an advanced OBD-II scanner to read stored trouble codes from all modules. U0038 rarely appears alone. Codes like U0101 (Lost Communication with TCM) or U0140 (Lost Communication with BCM) pinpoint exactly which module is failing or where the wiring issue lies.
    Tools: OBD-II Scanner (Advanced) (Beginner)
  2. Check Battery Voltage and Ground Connections
    Ensure battery voltage is above 12.4V with the engine off and stays above 10V during cranking. A weak battery causes random communication codes. Inspect the main ground straps for the body and engine. Test resistance from the ground point to the negative battery terminal; it must be under 0.1 ohms.
    Tools: Multimeter, Basic Hand Tools (Beginner)
  3. Pro Tip: Check CAN Bus Resistance
    With the battery disconnected, measure resistance between the CAN High and CAN Low pins at the OBD-II port or any module connector. A healthy network reads exactly 60 ohms. A 120-ohm reading indicates an open circuit or missing terminating resistor. A reading near 0 ohms means the CAN wires are shorted together.
    Tools: Multimeter (Advanced)
  4. Perform a Visual Inspection
    Inspect the wiring harnesses connected to the BCM and related modules. Look for pinched wires, cracked insulation, or corrosion in door jambs, under carpets, and under the dashboard. Check for damp carpets indicating water intrusion.
    Tools: Flashlight (Beginner)
  5. Inspect Connectors
    Disconnect the main connectors for the BCM and modules on the affected bus. Look for bent, loose, or corroded pins. Spraying pins with electrical contact cleaner and firmly reseating them resolves poor connections.
    Tools: Flashlight, Electrical Contact Cleaner (Intermediate)
  6. Isolate Control Modules
    If resistance tests are inconclusive, a single module is likely causing interference. Disconnect one module at a time from the bus and re-check communication. If the network comes back online when a specific module is unplugged, that module is the culprit.
    Tools: OBD-II Scanner, Basic Hand Tools (Advanced)
  7. Test Bus Wiring Continuity
    Using a vehicle-specific wiring diagram, check the continuity of the Bus B wires (CAN High and CAN Low) between modules. With connectors disconnected, use a multimeter to ensure there are no open circuits or shorts to ground. Resistance on a good wire is under 1 ohm.
    Tools: Multimeter, Vehicle-Specific Wiring Diagram (Advanced)
  8. Pro Tip: Check CAN Bus Voltages and Scope Pattern
    With the key on and engine off, check voltages. CAN High is typically ~2.6-2.7V and CAN Low is ~2.3-2.4V, totaling ~5V. For definitive diagnosis, use an oscilloscope. A healthy CAN bus shows a clean 'mirror image' pattern. Distortion or flat-lining points to a specific short or interference.
    Tools: Multimeter, Oscilloscope (Professional)

When This Code Triggers (Freeze-Frame Conditions)

  • Fault Trigger: On Ignition or During Operation (This network fault is detected the moment the ignition is turned on as modules perform a self-check, or it occurs intermittently while driving due to vibration, temperature changes, or electrical load.)
  • Vehicle Speed: 0 - 75 mph (The fault is not dependent on vehicle speed; it occurs when parked or at highway speeds, triggered by physical issues like a loose wire.)
  • Battery Voltage: 10.5V - 14.8V (While the fault occurs within the normal voltage range, it is sometimes triggered by low voltage events (e.g., below 11V during cranking) which cause modules to glitch.)
  • Module Status: No Communication / Performance Error (The freeze frame logs that a specific module (like the BCM or TCM) failed to respond on the network or sent an invalid signal, which is the direct trigger for the code.)

Related Codes

  • U0101 — 'Lost Communication with TCM'. U0038 indicates a network performance issue, while U0101 indicates a complete communication blackout from the TCM. When they appear together on a 2016-2017 Honda Civic, it confirms the TCM itself is the source of the network disruption (TSB 17-012).
  • U0140 — 'Lost Communication With Body Control Module'. Since Bus 'B' is often controlled by the BCM, U0038 is a precursor to U0140. If the BCM causes the network performance issue, it eventually fails completely, triggering U0140.
  • U0001 — 'High Speed CAN Communication Bus'. U0001 refers to the main, high-speed bus (approx. 500 kbps) handling critical powertrain and safety modules. U0038 refers to a secondary, slower 'Bus B' (e.g., 125 kbps) for body modules. A U0001 fault is generally more severe.
  • P0038 — 'HO2S Heater Control Circuit High'. This is a powertrain code for an oxygen sensor heater. It is completely unrelated to a network issue, but the similar number causes frequent confusion, especially on Subarus.

Climate & Environmental Factors

  • High Humidity / Moisture: Moisture and high humidity accelerate corrosion on connector pins and wiring. Water gets into harnesses and 'wicks' along the wires, causing shorts and high resistance far from the initial entry point.
  • Extreme Temperatures (Hot and Cold): High temperatures increase electrical resistance, degrading the signal. Low temperatures make wiring insulation brittle, increasing the risk of physical damage from vibration. Temperature fluctuations cause internal oscillators in control modules to drift, leading to communication timing errors.
  • Road Salt / Corrosive Chemicals: In regions using road salt, corrosive spray aggressively attacks under-vehicle wiring, grounds, and exposed connectors, significantly increasing the likelihood of corrosion-related communication failures.

How to Talk to a Mechanic About This Code

Say this: "I have a U0038 Vehicle Communication Bus 'B' Performance code and intermittent electrical issues. Please check for TSBs, test CAN bus resistance and voltages, and inspect the wiring harness for damage before recommending a module replacement."

This signals to the shop that you are an informed customer. It directs them towards a logical diagnostic process (testing the network) rather than simply replacing the first part they suspect. It prevents expensive misdiagnoses, like replacing a BCM when the real problem is a corroded wire.

Avoid saying:

  • 'Just fix whatever's wrong'
  • 'My check engine light is on, can you look at it?'
  • 'My windows are acting weird'
  • 'Whatever you recommend'

Questions to ask before authorizing the repair:

  • What were the results of the CAN bus resistance and voltage tests?
  • If you found a wiring fault, can you show me the damaged section?
  • If you are recommending a module replacement, what specific tests did you perform to condemn the old module and rule out a wiring problem?
  • Does the replacement module require programming, and is that cost included in the estimate?
  • Is this a known issue covered by a Technical Service Bulletin (TSB)?

Where to Take It: Dealer vs Independent vs Chain

  • Dealer: Recommended, especially if your vehicle has a known TSB related to this code. They have the specific software and diagnostic trees to solve it efficiently, albeit at a higher cost.
    Best for: Vehicles under warranty, Complex manufacturer-specific issues like the Honda Civic TCM failure or GM BCM reprogramming, When you want OEM parts and factory-trained technicians without question
    Downsides: Highest labor rates and parts costs, May be more inclined to replace a whole module/harness than perform a pinpoint wiring repair (Typical cost: +50% vs. baseline)
  • Independent Shop: Conditional Fit. ONLY use an independent shop that has a strong reputation and proven expertise in electrical and network diagnostics. Ask them if they are comfortable diagnosing CAN bus faults before you book.
    Best for: Out-of-warranty vehicles where cost is a major factor, Shops that explicitly specialize in electrical diagnostics
    Downsides: Quality and expertise vary dramatically. A general mechanic lacks the experience or tools (oscilloscope, up-to-date software) for network diagnosis. Misdiagnosis is a high risk at a non-specialist shop. (Typical cost: +0% vs. baseline)
  • Chain Shop: AVOID. This is a complex diagnostic task that is far outside the scope of a typical chain shop. They are almost certain to misdiagnose the issue, leading to wasted money on unnecessary parts like batteries or alternators.
    Best for: Simple, routine maintenance like oil changes, tires, and brakes
    Downsides: Technician skill is highly variable, Often work on a commission or quota system that encourages replacing parts rather than performing complex diagnostics (Typical cost: -10% vs. baseline)

When to Walk Away From the Repair

If the estimated repair cost exceeds 50% of the car's private-party value, you should seriously consider selling or trading it in instead of repairing it.

  • Car worth $3000, fix is $1600: Walk away. The repair cost is over 50% of the car's value. Put this money towards a more reliable vehicle.
  • Car worth $12000, fix is $1400: Fix it. The repair is a fraction of the car's value and restores key functionality.
  • Car worth $4500, fix is $400: Fix it. A $400 wiring repair on a $4,500 car is a financially sound decision.

What Scan Tool You Need for This Code

Minimum: A scanner that reads manufacturer-specific codes from ALL vehicle modules (Engine, ABS, Airbag, BCM, TCM, etc.). A basic engine-only code reader will NOT see U-codes.

A $20 generic code reader only communicates with the Engine Control Module (ECM) and reports 'No Codes Found,' completely missing the U0038 fault stored in the Body Control Module or Transmission Control Module.

Budget: MUCAR BT200, XTool A30D (~$80) — These Bluetooth dongles pair with a smartphone and offer full system scanning, allowing you to read and clear the U0038 code from the correct module. Some offer limited live data from the BCM.

Mid-range: Foxwell NT510 Elite, BlueDriver Pro (~$130) — These scanners reliably read codes from all modules and provide live data streams for network diagnosis. The Foxwell NT510 Elite also offers bi-directional controls to test specific components without physically accessing them.

Professional: Autel MaxiCOM MK808S (~$450) — Provides full bi-directional control, allowing a technician to command individual modules and actuators to isolate the fault. It offers comprehensive live data graphing and OEM-level diagnostic functions necessary for efficiently tracing complex network faults.

Rent vs buy: A parts store rental scanner is unlikely to be sufficient, as most are basic engine code readers. If you are a serious DIYer who plans to work on modern cars, buying a mid-range scanner is a worthwhile investment. Otherwise, paying a diagnostic fee at a professional shop is more effective than buying a tool for one-time use.

How to Clear the Code After You Fix It

  1. Reconnect the battery if it was disconnected for the repair.
  2. Use a compatible OBD-II scan tool to erase the U0038 trouble code from all modules.
  3. Turn the ignition off, then back on, and check if the code returns immediately.
  4. If the code does not return, perform a drive cycle to allow the vehicle's readiness monitors to run their self-tests.

Drive cycle (~30 minutes): A universal drive cycle includes: a cold start, 5 minutes of idling, 15 minutes of mixed city/suburban driving with several stops, and 5-10 minutes of steady driving at highway speeds (55-60 mph). The vehicle must then cool down completely to run certain tests like the EVAP monitor.

Readiness monitors affected: Since U0038 is a network code, it doesn't directly relate to a single emissions monitor. However, clearing any 'U' code that illuminates the check engine light resets ALL readiness monitors to 'Not Ready'.

Before emissions retest: drive at least 100 miles to fully set monitors.

Watch out for:

  • Simply disconnecting the battery will not reliably clear the code from all modules and resets all readiness monitors.
  • The code returns immediately if the underlying electrical fault (bad wire, faulty module) has not been properly repaired.
  • Attempting an emissions test before the readiness monitors are 'Ready' results in an automatic failure, even if the check engine light is off.

Will This Fail Emissions / State Inspection?

Yes — this code typically fails an OBD-II emissions inspection.

  • California: An active U0038 code with the Check Engine Light on is an automatic test failure. After repair, you must complete a drive cycle to set the readiness monitors; California allows for at most one 'Not Ready' monitor (EVAP) on most vehicles to pass.
  • New York: The NYS DMV inspection includes an OBD-II scan. Any code that illuminates the Malfunction Indicator Lamp (Check Engine Light) causes the vehicle to fail the emissions portion of the inspection.
  • Texas: In counties requiring emissions testing (like Harris, Dallas, Tarrant), an illuminated Check Engine Light is an automatic failure. After clearing the code, you must drive the vehicle (50-100 miles is recommended) to reset the readiness monitors before a re-test.

Most Commonly Affected Vehicles

  • Honda Civic (2016-2017) — Extremely prone to a known internal failure of the Transmission Control Module (TCM), causing a no-start condition and a dashboard full of warning lights. Honda issued TSB 17-012 for this exact issue. The repair requires TCM replacement and programming.
  • Honda CR-V (2017-2022) — This code indicates a PT-CAN (Powertrain CAN) communication failure between the Transmission Control Module (TCM) and Powertrain Control Module (PCM), leading to erratic shifting.
  • Honda Accord (2017-2023) — Points to a TM-CAN (Transmission CAN) malfunction, an electrical circuit issue between the TCM and PCM that causes shifting problems and various warning lights.
  • Chevrolet Equinox (2018-2024) — Prone to Body Control Module (BCM) software glitches, especially after a low-voltage event like a battery change. GM TSB #23-NA-163 addresses a related BCM issue causing a no-start, fixed by a software update.
  • Ford Transit, F-150, Explorer (2015-2023) — Points to a performance failure on the MS-CAN (Medium Speed CAN) bus. Diagnosis centers on wiring harness integrity, particularly checking for damage near the BCM or at common chafe points in the chassis.
  • Hyundai Elantra, Santa Fe (2017-2022) — U0038 appears related to known problems with wiring harness quality or DCT (Dual-Clutch Transmission) controller issues on certain models.
  • Kia Forte, Sorento (2016-2023) — As a sister brand to Hyundai, Kia vehicles share similar electronic architecture and experience network communication faults stemming from wiring, module, or software issues.
  • Subaru Outback, Forester (2015-2024) — BEWARE of confusion with code P0038. P0038 is a very common code for a Heated O2 Sensor circuit failure on Subarus. A true U0038 is a much rarer network fault and is unrelated to the oxygen sensor.

Manufacturer-Specific Notes

  • Honda: For 2016-2017 Civics, U0038 accompanied by a no-start condition is almost certainly a failed Transmission Control Module (TCM). This is a well-documented issue covered by TSB 17-012. The only fix is to replace and program the TCM. Do not waste money on a battery or starter.
  • General Motors (GM): On vehicles like the Chevrolet Equinox, network codes are triggered by a Body Control Module (BCM) software glitch after a battery replacement or jump-start. TSB 23-NA-163 describes a procedure to reprogram the BCM to resolve a no-start condition caused by memory corruption.
  • Ford: U0038 points to an issue on the MS-CAN (Medium Speed) bus. Technicians frequently check the wiring harness for chafing or corrosion near the BCM (behind the passenger kick panel) and at the large bulkhead connectors in the engine bay.
  • Subaru: The code P0038 (O2 sensor heater) is far more common on Subarus than U0038. Always double-check the code. If U0038 is confirmed, diagnosis starts with checking network wiring, as there are no widespread module failures associated with this code for the brand.

Real Owner Stories

2016 Honda Civic with 75,000 miles

Car suddenly wouldn't start and wouldn't shift out of Park. The dashboard lit up with multiple warnings like 'Electric Parking Brake Problem' and 'Charging System Problem'.

What they tried:

  1. Tested the battery, which passed.
  2. Scanned codes and found U0038 and U0101.
  3. A local shop spent hours checking wiring without success.

Outcome: After finding Honda TSB 17-012 online, the owner took the car to a dealer. The dealer confirmed a failed Transmission Control Module (TCM), replaced it with the updated part (28100-5CG-A08), and programmed it. The car started immediately. Total cost was ~$1,100.

Lesson: On a 2016-2017 Civic, a no-start with code U0038 is almost certainly the TCM. Don't waste money diagnosing wiring or replacing the battery; reference TSB 17-012 with your mechanic.

2018 Chevy Equinox at 60,000 miles

After a battery replacement, the car would not start and displayed a 'Service Theft Deterrent System' message. Code U0038 was present along with several B-codes.

What they tried:

  1. Disconnected the new battery to reset the system, but the problem persisted.
  2. A locksmith attempted to relearn the keys, which failed.
  3. The initial shop recommended replacing the Body Control Module (BCM) for $950.

Outcome: The owner found GM TSB 23-NA-163, describing a BCM memory corruption event after a low-voltage situation. A shop with GM software performed the special BCM reprogramming procedure. This fixed the issue for a 1.5-hour labor charge ($250). The original BCM did not need replacement.

Lesson: If a network code appears on a GM vehicle immediately after a battery change, suspect a software glitch. Ask your technician to check for TSBs related to BCM reprogramming before agreeing to a costly module replacement.

2015 Ford F-150 with 110,000 miles

Intermittent issues for months: power windows stopped working, radio cut out, and the instrument cluster went blank for seconds at a time. Code U0038 was stored.

What they tried:

  1. Cleared the code, which returned a few days later.
  2. Checked battery and ground connections, which were fine.
  3. Visually inspected wiring under the dash but found nothing obvious.

Outcome: An electrical specialist found water intrusion in the front passenger footwell. The water corroded several pins inside a large wiring harness connector for the MS-CAN bus near the kick panel. The mechanic cleaned the pins, repaired two corroded wires, and applied dielectric grease. The problems were resolved for $350.

Lesson: Intermittent electrical issues are often caused by poor connections or wiring damage, not failed modules. Look for signs of water leaks (damp carpets, musty smell) as a likely source of corrosion-related network faults.

How to Prevent This Code From Triggering

  • Address Water Leaks Immediately (As needed) — Promptly fixing clogged sunroof drains or bad window seals prevents water from soaking carpets and reaching wiring harnesses, which is a primary cause of connector corrosion and network shorts.
  • Apply Dielectric Grease to Connectors (During any electrical repair) — Applying a thin layer of dielectric grease to the rubber seals of electrical connectors keeps moisture out. This non-conductive grease protects metal pins from corrosion and oxidation.
  • Ensure Proper Installation of Aftermarket Accessories (During installation) — Avoid tapping directly into CAN bus wires for power. Improperly installed devices introduce electrical noise and voltage drops that destabilize the communication network.
  • Periodically Inspect and Clean Battery Terminals and Grounds (Every oil change) — Clean, tight battery terminals and chassis ground connections are essential for stable voltage. A weak ground causes floating voltages and intermittent data errors across all modules.
  • Use High-Quality, Shielded Twisted-Pair Wiring for Repairs (During any CAN bus wiring repair) — The twisted-pair design rejects electromagnetic interference. Using untwisted wire for a repair compromises the network's noise immunity and leads to intermittent data errors.

Frequently Asked Questions

Can I fix a U0038 code myself?

Simple fixes like checking the battery or cleaning ground connections are DIY-friendly. However, pinpointing a specific broken wire or failed module requires wiring diagrams and a multimeter. If basic checks fail, take the vehicle to a professional diagnostician.

Will clearing the code make it go away?

You can clear the code with a scanner, and it might stay off temporarily if the fault is intermittent. However, the code returns and symptoms persist until you fix the underlying electrical short or module failure.

My car has U0038 and won't start. I was told to replace the battery and starter, but that didn't work. Why?

This is a classic misdiagnosis on 2016-2017 Honda Civics. The no-start condition stems from a communication failure in the Transmission Control Module (TCM), not a dead starter or battery. Always diagnose the U0038 network code before replacing unrelated starting components.

Can my new dashcam or remote starter cause a U0038 code?

Yes. Improperly wired aftermarket accessories or devices plugged into the OBD-II port introduce electrical noise and voltage drops. This interference destabilizes the CAN bus network, triggering U0038.

What is the difference between CAN Bus 'A' and 'B'?

CAN Bus 'A' (U0001) is the high-speed network for critical powertrain components like the engine and transmission. Bus 'B' (U0038) is a slower, medium-speed network for body control functions like windows and gauges. A fault on Bus 'A' is generally more critical to vehicle operation.

How do you test a CAN bus?

Professionals first test resistance between the two CAN wires with the battery disconnected, looking for exactly 60 ohms. With power on, they verify voltages (typically ~2.7V on CAN High, ~2.3V on CAN Low). For definitive proof, they use an oscilloscope to visually inspect the data signals for distortion.

My car showed a 'Christmas tree' of warning lights. What happened?

When communication fails, modules can no longer share status information. Multiple systems (ABS, Airbags, Power Steering) report errors simultaneously because they lost contact with the main network. This lights up the dashboard as a default safety response.

Key Takeaways

  • Code U0038 indicates a performance failure on the secondary 125 kbps communication network (Bus 'B') controlling body electronics like windows and gauges.
  • On 2016-2017 Honda Civics, U0038 paired with a no-start condition guarantees a failed Transmission Control Module requiring replacement (TSB 17-012).
  • Before replacing expensive modules, test the CAN bus resistance at the OBD-II port; a healthy network must read exactly 60 ohms.
  • Water intrusion from clogged sunroof drains or bad seals causes over 50% of these network shorts by corroding wiring harness connectors.
  • Never replace a Body Control Module on a GM vehicle after a battery change without first checking TSB 23-NA-163 for a simple software reprogramming fix.
Test CAN BUS With a Multimeter | Quick & Easy | CAN Bus Resistance, Voltage & Short to Ground Test
Test CAN BUS With a Multimeter | Quick & Easy | CAN Bus Resistance, Voltage & Short to Ground Test
How To Test CAN BUS With A Multimeter [CAN Bus Resistance Check] Mechanic Mindset
How To Test CAN BUS With A Multimeter [CAN Bus Resistance Check] Mechanic Mindset
How to Measure CAN BUS with a Multimeter (Resistence Check) Code U0073
How to Measure CAN BUS with a Multimeter (Resistence Check) Code U0073
DTC U0038: TM-CAN Malfunction (TCM-PCM) - Honda Civic 2016-2021
DTC U0038: TM-CAN Malfunction (TCM-PCM) - Honda Civic 2016-2021
DTC U0038: TM-CAN Malfunction (TCM-PCM) - Honda Civic 2016-2021
DTC U0038: TM-CAN Malfunction (TCM-PCM) - Honda Civic 2016-2021
DTC U0038: PT-CAN Malfunction (TCM ECU BUS-OFF) - Honda Civic 2016-2021
DTC U0038: PT-CAN Malfunction (TCM ECU BUS-OFF) - Honda Civic 2016-2021
How to Reset Chevy Body Control Module (No-Tool BCM Relearn Guide)
How to Reset Chevy Body Control Module (No-Tool BCM Relearn Guide)
How To Reset Chevy Body Control Module (BCM)
How To Reset Chevy Body Control Module (BCM)
How To Reset Chevy Body Control Module
How To Reset Chevy Body Control Module
Reset Chevy Body Control Module Tutorial
Reset Chevy Body Control Module Tutorial

Shop the Parts Behind U0038

Below are the parts most often responsible for code U0038, ranked by how frequently each one is the actual culprit (per the diagnosis above). Tap any to see what we have for your vehicle.

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 May 3, 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.

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