Semi Truck Engine Fault Codes Explained: SPN, FMI and the Codes Drivers See Most
A fault code on the dash is a symptom, not a diagnosis. The ECM saw a reading it did not like, logged it and turned on a lamp. It did not decide whether the part is bad, the wiring is bad, or something upstream is making a good part look bad. That is the work that comes after the code.
The dash gives you four kinds of warning. An amber check engine lamp means a fault is logged but the truck can keep working. A red stop engine lamp means the ECM wants you parked. A DEF lamp means the aftertreatment system has a problem with fluid level, fluid quality or how well it is treating exhaust. A derate message or countdown means the ECM is cutting power, or is about to, until the fault is fixed.
The same SPN shows up on a Cummins X15, a Detroit DD15, a Volvo D13, a Paccar MX-13, a Mack MP8 and an International A26 because they all talk on the J1939 network, which assigns one number to each parameter. A DPF pressure code means roughly the same thing whichever badge is on the hood. The OEM adds its own numbering on top.

How to read SPN and FMI
Every J1939 fault has two parts. The SPN (Suspect Parameter Number) names the component or measurement: coolant temperature, boost pressure, the outlet NOx sensor. The FMI (Failure Mode Identifier) says what went wrong with it. Together they point at a part and a type of failure, enough to start a diagnosis but not to finish one.
The FMI is the half most drivers skip, and it is the half that tells you what kind of problem you have.
| FMI | Plain-English meaning |
|---|---|
| 0 | Reading above normal range, most severe level |
| 1 | Reading below normal range, most severe level |
| 2 | Data erratic, intermittent or does not make sense |
| 3 | Voltage above normal or shorted high (circuit problem) |
| 4 | Voltage below normal or shorted low (circuit problem) |
| 5 | Current below normal or open circuit (broken wire, unplugged connector) |
| 9 | Abnormal update rate (the module is not reporting on time) |
| 10 | Abnormal rate of change (reading moves too fast or too slow) |
| 15 | Reading above normal, least severe level |
| 16 | Reading above normal, moderately severe level |
| 17 | Reading below normal, least severe level |
| 18 | Reading below normal, moderately severe level |
| 31 | Condition exists (the ECM is reporting a state, not a measurement) |
How OEM codes map onto SPN and FMI
Cummins uses short fault code numbers in INSITE, and each one translates to an SPN and FMI pair. Detroit uses SPN and FMI directly in DiagnosticLink and adds its own SPNs in the 520xxx range. Volvo and Mack use MID, PID and PSID numbers in Premium Tech Tool on older software and SPN on newer trucks. Paccar shows P-codes on the dash and in Davie, with the SPN behind them. SPN and FMI is the version that works across brands, so this guide uses it.
How to pull codes without a laptop
Most late-model Freightliner, Kenworth, Peterbilt, Volvo, Mack and International trucks have a fault screen in the driver display, reached from the steering wheel buttons or the stalk. The sequence changes by model year, so check the owner’s manual. Older trucks flash codes through the check engine lamp when you cycle the diagnostic switch.
A cheap plug-in code reader shows the SPN and FMI and sometimes a short description. It will not show the freeze-frame data: engine speed, load, temperatures and DEF readings at the moment the code set, which is often the difference between guessing and knowing. It also cannot run the tests that confirm a cause.
Two things matter on any reader. Active vs inactive: an active code is happening now, an inactive code happened before and may come back. And fault count: once might be a fluke, dozens of times is a pattern. If you want the full picture before you decide whether to drive in, we offer remote truck diagnostics so we can read the codes and snapshot data before you move the truck.
The aftertreatment codes that cause derates
This is the group that puts trucks on the shoulder. The aftertreatment system (DPF, DEF, SCR catalyst, NOx sensors and EGR) has more sensors than any other part of the engine, and the ECM is required to cut power when it decides the system is not doing its job. To say it once: these are repair and regen jobs. We do not do deletes or emissions tampering, and a deleted truck brings resale, warranty and DOT problems that cost more than the repair.
SPN 4364 FMI 18 SCR efficiency low is the most searched aftertreatment code we see. The SCR catalyst is not converting enough NOx. DEF quality, a plugged or failed doser, a drifted NOx sensor or a contaminated catalyst can all set it, and the ECM starts a derate clock when it does.
SPN 5246 inducement derate is the code that limits the truck to 5 mph. It is never the root cause. It is the ECM’s response to a companion fault, usually SPN 4364, a DEF quality or level fault, or a NOx sensor fault. Fix the companion code and reset the inducement, and the truck comes back.
SPN 3251 DPF differential pressure high means the DPF is loaded with soot, ash or both. Sometimes a parked regen fixes it, sometimes the filter needs off-truck cleaning, and sometimes the pressure sensor or its tubes are plugged and the filter is fine. Whatever loaded it has to be found or the code comes back. We cover the regen side in our post on the emissions system fault message.
SPN 3216 and 3226 NOx sensor codes come from the inlet and outlet NOx sensors. FMI 2, 9 and 10 mean erratic, late or slow data. These sensors fail from heat, vibration and moisture, but a chafed harness or a bad DEF doser can produce the same code, which is why we test before replacing.
DEF system fault codes cover the pump (SPN 4334), the dosing unit (SPN 3361) and DEF quality (SPN 3364). Crystallized DEF in the lines or doser, a weak pump, a failed heater, or fluid that is old, diluted or the wrong product will set one. Fresh DEF from a sealed jug fixes some. The rest are repair jobs.
EGR fault codes SPN 2659 and 412 cover EGR flow and EGR temperature. A stuck or sooted valve, a plugged or leaking cooler, or a bad delta pressure sensor sets them. EGR trouble loads the DPF faster, so an EGR code and a DPF code often arrive together.
The engine protection codes
SPN 1569 FMI 31 torque derate is the engine protection derate. Like SPN 5246, it is a result, not a cause. The ECM sets it when another fault crosses a protection threshold: an aftertreatment, coolant, oil pressure, fuel pressure or sensor circuit code. The fix is always the code next to it.
SPN 110 and 111 coolant codes are coolant temperature high and coolant level low. Both trigger engine protection, and temperature high can shut the engine down. Fan clutch, thermostat, water pump, radiator airflow or a leaking EGR cooler are the usual suspects. When the stop lamp comes on for coolant, pull over. Driving through it is how a thermostat job becomes a head job.
SPN 100 oil pressure codes belong here too. Low oil pressure is a stop-now code.
Air and fuel codes
SPN 102 boost pressure codes mean the ECM sees less boost than it commanded. A cracked charge air cooler, a split boot, a loose clamp, a stuck VGT actuator or turbo damage are the common causes, with sensor and wiring faults behind them. These show up as low power and black smoke rather than a derate, so drivers live with them too long. Low boost over-fuels the engine and loads the DPF.
SPN 157 fuel rail pressure codes point at the high-pressure fuel system on common rail engines. FMI 18 is pressure low, FMI 0 and 16 are pressure high. Restricted filters, air on the suction side, a weak lift pump, a metering unit, a leaking injector or an open relief valve are what we find most, usually with hard starts and long cranks. Both groups are semi truck engine repair work, even when they end up setting an aftertreatment code downstream.
Electrical and sensor codes
FMI 3, 4 and 5 are circuit faults. The ECM sees the wrong voltage on a sensor wire or no signal at all. The sensor is sometimes the cause. More often it is a chafed harness, a corroded connector, a pin pushed back in its cavity, or a loose ground. A sensor that throws FMI 5 and reads fine after you wiggle the connector did not need replacing.
SPN 168 battery voltage codes are in this family too. Low voltage at the ECM can set a string of unrelated codes at once, so a dash full of faults on a cold morning is usually a battery, cable or alternator problem, not a pile of failed parts. Test the harness and connector before buying any sensor for a circuit code. That is the core of our electrical repair work.
Quick code table by engine
The codes we pull most often on each engine family, listed as SPN and FMI. The maker’s own tool shows its brand-specific number alongside.
| Engine family | Maker’s diagnostic tool | Codes we see most |
|---|---|---|
| Cummins ISX15 / X15 | INSITE | SPN 4364 FMI 18, SPN 5246, SPN 3251 FMI 0, SPN 1569 FMI 31, SPN 3226, SPN 157 FMI 18 |
| Detroit DD13 / DD15 | DiagnosticLink | SPN 4364 FMI 18, SPN 5246, SPN 3251 FMI 0, SPN 3216 / 3226, SPN 2659, SPN 102 |
| Volvo D13 | Premium Tech Tool | SPN 4364 FMI 18, SPN 5246, SPN 3364, SPN 4334, SPN 3251, SPN 110 |
| Paccar MX-13 | Davie | SPN 4364 FMI 18, SPN 5246, SPN 3251 FMI 0, SPN 3226, SPN 2659, SPN 157 |
| Mack MP8 | Premium Tech Tool | SPN 4364 FMI 18, SPN 5246, SPN 3364, SPN 3361, SPN 3251, SPN 111 |
| International A26 | OEM diagnostic software | SPN 4364 FMI 18, SPN 5246, SPN 3251 FMI 0, SPN 3216 / 3226, SPN 102, SPN 1569 FMI 31 |
When to keep driving, when to stop, when to call
Amber check engine lamp, no derate message, truck pulling normally: finish the run and get it looked at soon. Note the code and watch for new lamps.
Derate countdown on the dash: the clock is running, and clearing the code does not stop it. Head for a shop before the countdown finishes, because at the final stage you are not driving anywhere at highway speed.
Red stop engine lamp, flashing DEF lamp, or any coolant or oil pressure fault: pull over and shut it down. If the truck cannot move, our mobile truck repair service can come to you around Charlotte. Quick calls like a jump start have no labor minimum. Repairs on mobile calls carry a 2-hour labor minimum, which is why it helps to read the codes remotely first so we know what to bring.
Most repairs are finished the same day. Jobs that need a part ordered or that arrive late are finished first thing the next business morning. Timing is confirmed after inspection.
How we diagnose fault codes at Truck Pit Stop
We read codes with manufacturer-level diagnostic software rather than a plug-in reader, because that is what runs the forced tests, shows the full freeze-frame and performs the resets that actually clear a derate.
The process is the same on every truck. Pull every code with its count and snapshot. Work out which set first, because that is usually the parent. Check live data. Run the forced test that proves the cause: an SCR efficiency test, a DEF dosing test, a charge air pressure test or a circuit test at the connector. Repair with dealer-genuine OEM parts, run the regen or reset the OEM tool requires, and verify the code stays inactive on a drive cycle. That is what computer diagnostics means here, and it is the front end of every DPF cleaning and repair job we do.
Labor is $100 per hour. Parts and the repair are estimated after inspection. We speak Russian and Ukrainian, and the driver lounge has Wi-Fi, coffee, a microwave and a restroom while the diagnosis runs. For everything from a fault code to a frame job, we are the shop for truck repair in Charlotte, NC, just off US-74 in Matthews.
Got a code on the dash right now? Book an appointment or call the shop. If the truck is not in the Charlotte area yet, ask about remote diagnostics first.
FAQ
Can I clear a fault code and keep driving?
You can clear it, but the ECM still remembers it as inactive, and if the cause is still there the code sets again on the next drive cycle. Clearing a derate code does not reset the derate timer. Treat a cleared code as a note to yourself, not a fix, and get the cause diagnosed before it becomes a derate.
Why did the code come back after a regen?
A regen burns soot. It does not fix ash buildup, a bad pressure sensor, a plugged sensor tube, an oil or fuel leak upstream, or a failed DEF doser. If the code returns after a regen, the regen was treating a symptom. The filter may need off-truck cleaning, or the part that loaded it needs repair.
Does a derate damage the engine?
The derate itself does not. It is the ECM protecting the engine or the aftertreatment system by limiting power. What damages the engine is driving through the fault that caused it, such as low coolant, low oil pressure or low boost. Treat the derate as a warning that the underlying problem is getting worse.
Can you read my fault codes remotely?
Yes. Our remote diagnostics service lets us read active codes, counts and snapshot data on a truck that is not at the shop. That tells you whether the truck can limp in, needs a mobile call, or can finish the run. It also means the mobile truck arrives with the right parts instead of making a second trip.
Do you do DPF deletes?
No. We repair the aftertreatment system and run the regens and resets the engine maker calls for. A delete is not allowed on on-road trucks under federal emissions rules, voids warranty, hurts resale value and gets flagged at inspection. Every aftertreatment code in this guide has a real repair behind it, and that repair is what we do.