How to Find Your Truck’s SPN and FMI Fault Codes: Complete Guide

Table of Contents
    Add a header to begin generating the table of contents

    By Michael Nielsen, Editor & Publisher | 15+ Years in Diesel Repair

    Last Updated: January 2025

    📖 Estimated reading time: 18 minutes

    Learning how to find your truck’s SPN and FMI fault codes is essential when that check engine light comes on. These diagnostic trouble codes tell you precisely what’s wrong—identifying not just which system has a problem, but exactly what type of failure the ECM has detected. Whether you need to pull codes from the dashboard, use a heavy-duty scanner, or retrieve them through a smartphone app, this guide covers every method to locate your truck fault codes quickly and accurately.

    For owner-operators diagnosing issues before calling for service, fleet managers tracking maintenance across multiple vehicles, or diesel technicians preparing for repairs, knowing how to access SPN and FMI codes puts you in control. You’ll learn manufacturer-specific dashboard procedures, scanner requirements and recommendations at every price point, smartphone app options, and how to interpret what you find.

    Key Takeaways

    • Dashboard access: Most modern Class 8 trucks (2010+) allow you to view fault codes through steering wheel controls or the instrument cluster menu—no tools required.
    • Scanner requirements: Heavy-duty diagnostics require J1939/J1708 protocol support and 6-pin or 9-pin Deutsch connectors—standard OBD2 scanners won’t work on commercial trucks.
    • Budget-friendly options: Smartphone apps paired with Bluetooth adapters ($100-$300) provide basic fault code reading for owner-operators.
    • Code structure: SPN identifies the specific component with the problem; FMI identifies the type of failure—together they provide actionable diagnostic information.
    • Next step: Once you have your codes, use a fault code lookup tool to understand severity, likely causes, and whether you can keep driving.

    Understanding SPN and FMI Fault Codes

    Before diving into how to find fault codes, it’s essential to understand what you’re looking for and why truck codes differ from passenger vehicle diagnostics. Heavy-duty trucks use the SAE J1939 communication protocol, which displays fault codes in a completely different format than the “P0xxx” codes familiar to anyone who’s worked on cars.

    The Three Components of Every Truck Fault Code

    A complete heavy-duty truck fault code consists of three parts that work together to provide specific diagnostic information:

    SA (Source Address) identifies which electronic control module (ECM) is reporting the fault. Source Address 0 typically indicates the engine ECM, while other values point to transmission controllers, ABS modules, aftertreatment systems, or body controllers. This tells you which computer detected the problem.

    SPN (Suspect Parameter Number) is a number between 0 and 524,287 that identifies the specific component, circuit, or system with the issue. For example, SPN 5246 refers to DEF (Diesel Exhaust Fluid) pressure, SPN 3226 indicates the aftertreatment SCR catalyst conversion efficiency, and SPN 91 points to accelerator pedal position. The SPN tells you exactly what component the ECM is monitoring.

    FMI (Failure Mode Indicator) is a number between 0 and 31 that describes the type of failure detected. FMI 0 means “data valid but above normal range,” FMI 4 means “voltage below normal,” and FMI 12 indicates “bad intelligent device or component.” The FMI tells you how the component is failing, which directly informs the repair approach.

    How Code Components Work Together

    When combined, these three numbers tell a complete diagnostic story. For example, SA 0 SPN 5246 FMI 0 means “the engine ECM detected DEF pressure reading higher than normal”—a specific, actionable diagnosis that points technicians toward the DEF return line, pressure relief valve, or pump assembly rather than the entire DEF system.

    This specificity is why professional technicians value the J1939 system. Instead of a generic “emissions system malfunction,” you get precise information about which sensor, circuit, or component needs attention and what type of fault condition exists.

    524,287+

    Possible SPN values defined in the J1939 standard, covering virtually every sensor, actuator, and system on modern commercial vehicles.

    Method 1: Access Fault Codes Through Your Dashboard

    Most modern Class 8 trucks built after 2010 allow you to view fault codes directly through the dashboard display without any external tools. The exact procedure varies by manufacturer, but the information is accessible if you know where to look. This method is fastest and costs nothing—making it the ideal first step when a warning light appears.

    Freightliner Cascadia (2018 and Newer)

    Freightliner trucks equipped with Detroit DD13, DD15, or DD16 engines provide comprehensive dashboard access to fault codes through the instrument cluster. The process takes about 30 seconds once you’re familiar with it:

    Step 1: Prepare the truck. Park the vehicle on level ground, shift the transmission to neutral, and engage the parking brake. Turn the key to the ignition (ON) position—you don’t need to start the engine.

    Step 2: Navigate to diagnostics. Use the left and right arrow buttons on the left side of the steering wheel to scroll through the display screens. Look for the wrench symbol, which indicates the service or diagnostics menu.

    Step 3: Enter the diagnostics menu. Press the OK or Enter button (center button between the arrows) to access the diagnostics section.

    Step 4: Review system modules. Scroll through the list of electronic modules displayed—you’ll see abbreviations like ACM (Aftertreatment Control Module), ABS, CGW (Central Gateway), TCM (Transmission Control Module), and others. Look for modules showing a hazard triangle icon, which indicates active fault codes stored in that system.

    Step 5: Read the fault codes. Select any module with a hazard icon and press OK. The display shows each fault’s SPN, FMI, and a brief text description. You can scroll through multiple faults if more than one exists.

    Pro tip: If you only see “Previously Active” codes but no current faults, the issue may have resolved itself temporarily or occurs only under specific operating conditions. These stored codes still provide valuable diagnostic information and shouldn’t be ignored—they often indicate intermittent problems that will return.

    Peterbilt 579 and Kenworth T680

    PACCAR trucks use a similar approach through their information center display, though the menu navigation differs slightly from Freightliner:

    Start the engine and let the truck idle (or turn key to ON position). Use the arrow buttons on the steering wheel or dashboard to navigate to the “Diagnostics” or “Fault Codes” menu on the information center display. Scroll through the list of active fault codes—each entry displays the SPN, FMI, and status indicator showing whether the code is Active or Previously Active.

    On Peterbilt and Kenworth models equipped with the Vehicle Information Display (VID), you can access more detailed information including occurrence count (how many times the fault has appeared) and freeze frame data showing operating conditions when the fault was set.

    Volvo VNL and Mack Trucks

    Volvo and Mack trucks (both owned by Volvo Group) display fault codes through the Driver Information Display using a consistent interface:

    Turn the ignition to the ON position without starting the engine. Navigate using the steering wheel controls to the Vehicle Information menu. Select “Fault Codes” or “Diagnostics” from the available options. The display shows active codes with their MID (Message Identifier), SID or PID, and FMI values.

    Important note: Volvo and Mack trucks use some proprietary code formats (PPID and PSID) alongside standard J1939 codes. While the dashboard displays these codes clearly, you may need manufacturer-specific software like Volvo’s PTT (Premium Tech Tool) to access detailed fault descriptions and guided diagnostics for proprietary codes.

    International/Navistar Trucks

    International trucks equipped with the Diamond Logic system provide fault code access through the gauge cluster:

    Set the parking brake and ensure the vehicle is completely stationary. Turn the key to the ACCESSORY position to view previously active codes, or to the IGNITION position to see all codes including currently active faults. Press and release the cluster display selector button to scroll through stored faults. The display shows SPN, FMI, Source Address (SA), and fault status.

    If your International truck displays “NO FAULT DETECTED,” no codes are currently stored in the system—though this doesn’t necessarily mean everything is functioning perfectly, as some conditions may not set codes immediately.

    ⚠️ Dashboard Limitations

    Dashboard displays typically show fault codes from the engine ECM and major powertrain systems, but they may not capture all codes from every module on the truck. For comprehensive diagnostics—especially for ABS, transmission, body controller, or trailer interface faults—you’ll need a dedicated diagnostic scanner that can communicate with all vehicle modules.

    Method 2: Use a Heavy-Duty Diagnostic Scanner

    Heavy-duty diagnostic scanner connected to semi truck 9-pin Deutsch connector for reading SPN FMI fault codes

    A diagnostic scanner provides the most comprehensive view of your truck’s fault codes and system health. Unlike dashboard displays, scanners can communicate with every electronic module on the vehicle and provide detailed information including freeze frame data, occurrence counts, live sensor readings, and in many cases, guided diagnostic procedures.

    Why Standard OBD2 Scanners Won’t Work

    If you’ve used a code reader on a passenger car, you might be tempted to try the same tool on your truck. Unfortunately, standard OBD2 scanners are fundamentally incompatible with heavy-duty commercial vehicles for three reasons:

    Different communication protocols: Heavy-duty trucks use SAE J1939 and the older J1708/J1587 communication protocols, while passenger vehicles use OBD2/ISO 15765. These protocols are completely different languages—a scanner designed for one cannot communicate with the other.

    Different physical connectors: Class 8 trucks typically use 6-pin or 9-pin Deutsch connectors for diagnostic access, while passenger vehicles use the standardized 16-pin OBD2 port. Even if the protocols were compatible, the scanner physically cannot connect.

    Different code formats: Truck codes use the SPN/FMI format discussed above, while passenger vehicles use P0xxx, B0xxx, C0xxx, and U0xxx codes defined by OBD2 standards. An OBD2 scanner wouldn’t recognize or correctly interpret heavy-duty fault codes.

    Stay Ahead of Diagnostic Challenges

    Get weekly diesel maintenance tips, fault code guides, and troubleshooting insights delivered to your inbox—written by technicians for technicians.

    Heavy-Duty Scanner Options by Budget

    Scanners supporting J1939/J1708 protocols for Class 4-8 trucks are available at various price points, each offering different capabilities:

    CategoryPrice RangeExample ModelsCapabilities
    Entry-Level$150-$300Launch CReader HD Plus, Nexas NL102 PlusRead/clear codes, live data, covers most 2006+ trucks
    Mid-Range$400-$700ANCEL HD3400, ANCEL X7HDDPF regeneration, service resets, construction/ag equipment
    Professional$1,500-$5,000Noregon JPRO, Jaltest, Autel MS908CVOEM-level diagnostics, bidirectional controls, ECU programming
    OEM Software$2,000-$10,000+Detroit DLA, Cummins Insite, PACCAR DavieFull manufacturer capabilities, programming, calibrations

    Entry-level scanners ($150-$300) like the Launch CReader HD Plus or Nexas NL102 Plus are excellent starting points for owner-operators. These tools read and clear fault codes, display live sensor data, and work on most American heavy-duty trucks from 2006 onward. They typically include 6-pin, 9-pin, and 16-pin adapter cables.

    Mid-range scanners ($400-$700) such as the ANCEL HD3400 or X7HD add capabilities like forcing DPF regeneration, resetting service intervals, and broader vehicle coverage including construction and agricultural equipment. These make sense for small fleets or owner-operators who want more control over maintenance.

    Professional-grade tools ($1,500+) like Noregon JPRO, Jaltest, or Autel MaxiSys MS908CV provide OEM-level diagnostics including bidirectional controls (commanding components to operate for testing), ECU programming capabilities, and comprehensive guided repair procedures. These are what dealerships and professional repair shops rely on daily.

    How to Use a Heavy-Duty Scanner

    The basic process is similar across most scanners, though menu navigation varies by manufacturer:

    1. Locate the diagnostic port. On most Class 8 trucks, you’ll find a 9-pin Deutsch connector under the dashboard on the driver’s side, typically near the steering column or behind a small access panel. Some trucks also have a 6-pin connector on or near the engine for underhood diagnostics.

    2. Connect the scanner using the appropriate adapter cable. Most scanners include both 6-pin and 9-pin cables—use whichever matches your truck’s port.

    3. Turn the ignition to ON without starting the engine for the initial scan. Some codes only appear with the engine running, but most diagnostics work with key-on, engine-off.

    4. Select your vehicle make, model year, and engine in the scanner software. Accurate vehicle selection ensures the scanner uses the correct database for code definitions.

    5. Run a full system scan to pull codes from all electronic modules—not just the engine. This reveals issues in ABS, transmission, aftertreatment, and other systems that dashboard displays may not show.

    6. Record the results including SPN, FMI, Source Address, occurrence count, and whether each code is Active or Inactive. This documentation helps track patterns and provides useful information for repair shops.

    Method 3: Smartphone Apps with Bluetooth Adapters

    For owner-operators who want diagnostic capability without investing in dedicated scanner hardware, smartphone apps paired with Bluetooth adapters offer a budget-friendly middle ground between dashboard-only access and professional tools.

    How Mobile Diagnostics Work

    A Bluetooth or Wi-Fi adapter plugs into your truck’s diagnostic port and communicates wirelessly with an app on your smartphone or tablet. The adapter handles the J1939/J1708 protocol translation while the app provides the user interface, code database, and interpretation. This approach puts diagnostic capability in your pocket at a fraction of the cost of dedicated hardware.

    Popular heavy-duty diagnostic app options include:

    BlueFire Adapter + App: Available in 6-pin and 9-pin versions specifically designed for heavy-duty trucks. The BlueFire app works on iOS and Android and supports multiple third-party diagnostic applications. Adapters run $150-$250.

    Cummins Guidanz: A free app from Cummins that provides fault code lookup and basic diagnostics for Cummins-powered trucks when paired with a compatible Bluetooth adapter. Limited to Cummins engines but excellent for that application.

    OTR Diagnostics: A comprehensive heavy-duty truck diagnostic app supporting multiple engine and vehicle manufacturers. Works with compatible Bluetooth adapters and offers subscription-based access to advanced features.

    Total cost: Expect to pay $100-$300 for a quality Bluetooth adapter, plus any app subscription fees (typically $10-$50/month for premium features). While not as comprehensive as professional scanners, these tools can read fault codes and display live data—enough to make informed decisions about repairs.

    📱 Smartphone App Limitations

    While convenient, Bluetooth adapters and apps typically cannot perform advanced functions like forced DPF regenerations, injector coding, transmission relearns, or parameter changes. They’re best suited for fault code reading and basic monitoring—not comprehensive diagnostic work or repair procedures requiring bidirectional control.

    Method 4: Retrieve Codes from Documentation and Telematics

    If your truck was recently serviced or is equipped with telematics, fault codes may already be documented and available without connecting any diagnostic equipment.

    Where to Find Documented Fault Codes

    Repair invoices and work orders: Most professional shops include fault codes on their documentation, usually listed at the top of the invoice under “Diagnostic Results,” “DTCs Found,” or “Fault Codes Scanned.” These records show exactly what codes were present when the truck was serviced.

    Inspection reports: DOT inspections, pre-purchase inspections, and annual safety inspections frequently document any fault codes present at the time of inspection—especially those related to emissions systems, which are now part of CVSA out-of-service criteria.

    Telematics platforms: If your truck is equipped with a telematics system such as Omnitracs, Samsara, Motive (formerly KeepTruckin), or OEM telematics like Detroit Connect or PACCAR Connected, fault codes are typically logged automatically and accessible through the fleet management portal. This provides historical code data across your entire operation.

    ELD data: Many Electronic Logging Devices capture and report engine fault codes as part of their vehicle health monitoring features. Check your ELD provider’s dashboard or app for vehicle diagnostics sections.

    The HDJ Perspective

    The ability to read your own fault codes fundamentally changes the repair dynamic. Even if you’re not performing repairs yourself, knowing what’s wrong before you reach the shop helps you make informed decisions, avoid unnecessary diagnostic fees, and catch upsells that don’t address your actual problem. A $200 scanner can pay for itself with a single avoided “diagnostic fee” or by catching an issue before it becomes a roadside breakdown. For fleet operations, the ROI multiplies across every truck in the fleet.

    FMI Reference: Understanding Failure Mode Indicators

    Once you’ve retrieved your fault codes, the FMI (Failure Mode Indicator) tells you exactly how the component is failing. This information directly informs the diagnostic approach and likely repair. Here’s a complete reference for all FMI values defined in the J1939 standard:

    FMIFailure Mode DescriptionCommon Causes
    0Data valid but above normal operational rangeSensor reading high, restriction, overpressure condition
    1Data valid but below normal operational rangeSensor reading low, leak, low pressure, low level
    2Data erratic, intermittent, or incorrectLoose connection, damaged wiring, failing sensor, EMI interference
    3Voltage above normal or shorted highShort to power, damaged wiring insulation, internal sensor failure
    4Voltage below normal or shorted lowShort to ground, open circuit, damaged sensor, corroded connector
    5Current below normal or open circuitBroken wire, unplugged connector, blown fuse
    6Current above normal or grounded circuitShort to ground, damaged component drawing excess current
    7Mechanical system not responding properlyStuck actuator, seized component, mechanical binding
    8Abnormal frequency, pulse width, or periodSpeed sensor issues, reluctor wheel damage, signal interference
    9Abnormal update rateCAN bus communication issue, module not responding, network fault
    10Abnormal rate of changeSensor signal changing faster than physically possible, noise
    11Root cause not knownRequires additional diagnosis, multiple possible causes
    12Bad intelligent device or componentInternal ECM/module failure, component self-diagnosed as failed
    13Out of calibrationSensor drift, needs recalibration, aging component
    14Special instructionsManufacturer-specific, requires OEM documentation
    15Data valid but above normal (least severe)Minor high reading, may not require immediate action
    16Data valid but above normal (moderate severe)Elevated reading requiring attention
    17Data valid but below normal (least severe)Minor low reading, may not require immediate action
    18Data valid but below normal (moderate severe)Low reading requiring attention
    19Received network data in errorCAN bus communication error, network fault
    31Condition exists (general alert)System alert such as empty DEF tank, derate active, maintenance due

    For detailed interpretations of specific SPN/FMI combinations including likely causes, step-by-step diagnostics, and estimated repair costs, use our free Truck Fault Code Lookup Tool.

    Free Professional Fleet Tools

    Cost calculators, fault code lookup, maintenance planners, and more—built for owner-operators, fleet managers, and diesel techs. No signup required.

    Explore Free Tools →

    What to Do After Finding Your Fault Codes

    Retrieving the fault codes is just the first step. What you do next determines whether you solve the problem efficiently or waste time and money on unnecessary repairs.

    Step-by-Step Action Plan

    1. Look up each code to understand what component is affected and how serious the issue is. A fault code lookup tool provides plain-language explanations, drivability guidance, and likely causes ranked by probability—information that helps you prioritize and plan.

    2. Assess urgency based on code severity. Red/stop engine codes require immediate attention—continuing to drive risks serious engine damage. Yellow/caution codes typically allow continued operation but should be addressed soon. Some informational codes can wait until scheduled maintenance without risk.

    3. Check for related codes. Multiple fault codes often point to a single root cause. For example, several DEF-related codes might all stem from a single failing sensor, or multiple aftertreatment codes might indicate a common wiring issue. Addressing the root cause clears all related codes.

    4. Document everything. Record all codes with their SPN, FMI, and status (Active/Inactive). Note when codes appeared and any symptoms you’ve observed—unusual sounds, performance changes, warning lights. This information helps technicians diagnose problems faster and proves invaluable if warranty claims become necessary.

    5. Don’t just clear the codes and hope for the best. Clearing codes without fixing the underlying problem means they’ll return—often at the worst possible time. Repeated clearing without repair can also void warranty coverage and masks developing problems that could have been caught early.

    ⚠️ Emissions Code Warning

    Under EPA regulations (40 CFR Part 1036), tampering with emissions systems or repeatedly clearing emissions-related codes without repair can result in significant fines. More importantly, unaddressed aftertreatment codes eventually trigger engine derate conditions that limit speed and power—often at 5 MPH—until properly repaired.

    When to Handle It Yourself vs. Call for Service

    Some fault codes point to issues any driver can address, while others require professional diagnosis and repair:

    Owner-operator addressable: Low DEF level (SPN 1761), low coolant level, clogged air filter, loose fuel cap, low tire pressure, minor sensor connection issues that can be visually inspected.

    Requires professional service: Internal engine faults, transmission codes, ABS system faults, aftertreatment efficiency codes, any code requiring parameter changes or component programming, codes accompanied by derate conditions.

    When in doubt, a quick call to a trusted shop—armed with your specific fault codes—can often clarify whether you’re dealing with a simple fix or something requiring professional attention.

    Frequently Asked Questions

    Can I read truck fault codes without a scanner?

    Yes, most heavy-duty trucks manufactured after 2010 allow you to view fault codes directly through the dashboard display using steering wheel controls or instrument cluster buttons. The exact procedure varies by manufacturer—Freightliner, Peterbilt/Kenworth, Volvo/Mack, and International each have different menu navigation, but all provide some level of code access. However, dashboard displays typically only show codes from the engine ECM and major powertrain systems. For comprehensive diagnostics covering ABS, transmission, aftertreatment, and body controller modules, you’ll need a dedicated heavy-duty scanner.

    Will a regular OBD2 scanner work on my semi truck?

    No. Heavy-duty trucks (Class 4-8) use fundamentally different communication protocols and connectors than passenger vehicles. Commercial trucks communicate using SAE J1939 and the older J1708/J1587 protocols, while cars use OBD2/ISO 15765. Additionally, trucks use 6-pin or 9-pin Deutsch connectors rather than the 16-pin OBD2 port found in cars. The code formats are also different—trucks use SPN/FMI while cars use P0xxx codes. You need a scanner specifically designed for heavy-duty applications with J1939/J1708 protocol support and the appropriate adapter cables.

    What does it mean when my truck shows “Previously Active” codes?

    Previously active codes indicate faults that were detected at some point but are not currently triggering. This could mean the underlying issue resolved itself, occurs intermittently under specific operating conditions (certain temperatures, loads, or speeds), or was fixed but the code wasn’t cleared from memory. These stored codes remain valuable for diagnostics because they reveal patterns—an intermittent code appearing repeatedly suggests a developing problem that should be investigated before it causes a breakdown or derate condition. Don’t ignore previously active codes, especially if they reappear.

    How do I clear fault codes after making repairs?

    Many fault codes clear automatically once the underlying issue is resolved and the ECM completes its monitoring cycles under normal operating conditions—this may require driving a certain distance or completing specific operating sequences. For codes that don’t self-clear, you can use a heavy-duty diagnostic scanner to manually clear them. Some trucks allow code clearing through the dashboard diagnostics menu, though this feature varies by manufacturer and model year. Important: Never clear codes without addressing the root cause—the codes will return, and repeated clearing without repair can void warranty coverage or mask developing problems.

    Where is the diagnostic port located on my truck?

    On most Class 8 trucks, the primary diagnostic port is a 9-pin Deutsch connector located under the dashboard on the driver’s side. Common locations include near the steering column, behind the kick panel, or concealed behind a small access door labeled “Diagnostics.” Some trucks also have a secondary 6-pin connector on or near the engine for underhood diagnostic access. The exact location varies by manufacturer and model year—consult your owner’s manual for the specific location on your truck, or look for a small panel showing a connector symbol.

    What’s the difference between active and inactive fault codes?

    Active fault codes indicate a problem currently detected by the ECM—the fault condition exists right now and may be triggering warning lights, check engine illumination, or derate conditions. Inactive (or previously active) codes indicate faults that were detected in the past but are no longer present at this moment. Active codes generally require immediate attention based on their severity level, while inactive codes provide valuable diagnostic history. Both types matter: active codes tell you what’s wrong now, while inactive codes can reveal intermittent issues, recently repaired problems, or conditions that only occur under specific circumstances.

    Take Control of Your Truck Diagnostics

    Knowing how to find and interpret your truck’s fault codes puts you in the driver’s seat when problems arise. Whether you use dashboard access for quick checks, invest in a dedicated scanner for comprehensive diagnostics, or rely on smartphone apps for on-the-go capability, the ability to read your own codes eliminates guesswork, prevents unnecessary repairs, and helps you communicate effectively with service providers.

    For owner-operators, even a basic $150-$300 scanner can pay for itself with a single avoided diagnostic fee. For fleet operations, systematic fault code monitoring across all vehicles catches developing problems before they become roadside breakdowns—protecting both your equipment and your bottom line.

    Help Fellow Trucking Professionals

    Know an owner-operator or fleet manager who could benefit from this diagnostic guide? Share it to help them take control of their truck maintenance.

    Leave a Comment

    Your email address will not be published. Required fields are marked *

    Sponsored

    Emergency Breakdown?

    Find Certified Repair Shops Near You

    24/7 Mobile Service
    Verified Facilities
    Nationwide Coverage
    Find Repair Shops Now →

    Trusted by thousands of fleet operators