Full Diagnostic Guide — SPN 231 FMI 2
1. What does SPN 231 FMI 2 mean?
SPN 231 FMI 2 indicates erratic or intermittent data from the trip fuel consumption parameter in gaseous fuel systems, such as natural gas or LPG. The ECM detects that the fuel flow sensor signal is unstable, with random dropouts or amplitude variations, causing incorrect fuel consumption calculations. This fault often appears after ECM replacement on CNG buses or during dual-fuel truck commissioning.
2. What are the most common symptoms when this code is active?
Common symptoms include wildly fluctuating trip fuel consumption on the dashboard, telematics systems reporting impossible fuel figures, intermittent MIL illumination without other codes, and diagnostic scan tools showing data dropout when monitoring fuel parameters. Fleet managers may notice inconsistent cost analysis reports due to erroneous fuel data.
3. How does the ECM determine that this specific failure (FMI 2) has occurred?
The ECM monitors the fuel flow sensor signal for stability. If the signal varies more than 20% from the expected value within a 1-second window, or if the pulse frequency drops below 10 Hz or exceeds 500 Hz erratically, the ECM sets FMI 2. The fault triggers when the ECM detects intermittent data rather than a complete loss or out-of-range value.
4. What is the difference between FMI 2 and other common FMIs for SPN 231?
FMI 2 (Erratic/Intermittent) means the signal is present but unstable. FMI 1 (Low) would indicate a voltage below 0.5 V or frequency below 5 Hz, while FMI 0 (High) indicates a voltage above 4.5 V or frequency above 1000 Hz. FMI 2 is unique because the signal crosses valid thresholds but does so inconsistently, often due to wiring or sensor degradation.
5. What are the most probable root causes?
Root causes include a defective gaseous fuel flow meter with internal contamination or wear causing erratic pulse signals, corroded or damaged wiring between sensor and ECM, a faulty ECM input channel, or inconsistent fuel pressure regulation causing flow sensor readings to fluctuate beyond normal operating parameters.
6. Can a purely mechanical issue cause this code without a faulty component?
Yes, inconsistent fuel pressure regulation can cause the flow sensor to output erratic signals even if the sensor and wiring are intact. For example, a sticking pressure regulator on a CNG system can cause pressure swings from 100 psi to 150 psi, leading to flow rate variations that the ECM interprets as erratic data. Always check fuel pressure stability before replacing components.
7. What default actions does the ECM take when this code is active?
The ECM typically defaults to a last known valid fuel consumption value or uses a calculated substitute based on engine speed and load. It may illuminate the MIL and log the fault. In some implementations, the ECM disables fuel consumption-based features like distance-to-empty calculations to prevent misleading driver information.
8. How do I perform a basic functional test for this component?
With the engine running at idle, use a J1939 scanner to monitor SPN 231 (Trip Fuel). Observe the value for 2-3 minutes. A stable reading within 5% of expected consumption indicates normal operation. If the value jumps by more than 20% intermittently, connect an oscilloscope to the sensor signal wire and look for pulse dropouts or amplitude variations below 0.5 V or above 4.5 V.
9. What specific electrical checks should I run before replacing parts?
Measure sensor supply voltage at the connector: should be 5.0 V ±0.2 V. Check signal wire continuity from sensor to ECM pin: resistance < 1 ohm. Perform insulation resistance test: > 1 MΩ between signal and ground. Verify ground circuit: < 0.1 ohm to chassis. Use a scope to check for noise > 200 mV peak-to-peak on the signal line.
10. Is it possible that the ECM itself is responsible for this fault?
Yes, a faulty ECM input channel can corrupt the fuel flow signal processing. This is more likely after an ECM replacement if the new unit has incorrect calibration or a hardware defect. To verify, swap the sensor signal to an unused analog input using a breakout box and see if the fault moves. If the fault remains on the original channel, the ECM is likely the cause.
11. What is the complete step-by-step diagnostic procedure?
1. Connect a J1939 scanner and verify SPN 231 FMI 2 active. 2. Monitor fuel flow sensor output with an oscilloscope for dropouts. 3. Perform continuity and insulation resistance tests on the sensor harness. 4. Measure fuel rail pressure stability (should stay within ±5% of target). 5. Execute ECM fuel flow sensor learning procedure per manufacturer specs. 6. If fault persists, replace sensor, then wiring, then ECM.
12. How can I prevent this fault from recurring?
Use dielectric grease on all sensor connectors to prevent corrosion. Ensure fuel system filters are changed per schedule to avoid sensor contamination. Perform annual wiring harness inspections for chafing near engine mounts. After ECM replacement, always run the fuel flow sensor calibration routine. Maintain stable fuel pressure by servicing regulators every 12 months.
13. Does this fault affect fuel economy, emissions, or engine lifespan?
The fault itself does not directly affect engine operation or emissions because the ECM uses a backup fuel calculation. However, incorrect fuel consumption data can lead to poor fleet fuel management decisions. If the underlying cause (e.g., pressure instability) is ignored, it may cause lean or rich combustion over time, potentially increasing emissions and reducing engine lifespan.
14. Can I clear the code and continue operating the vehicle temporarily?
Yes, you can clear the code with a diagnostic tool, and the vehicle will run using default fuel values. However, the fault may return if the root cause is not addressed. Temporary operation is acceptable for short trips, but prolonged driving with erratic fuel data may mislead the driver about remaining range, potentially causing a fuel-outage situation.
15. When should I choose to replace the component versus repairing the wiring?
Replace the fuel flow sensor if oscilloscope shows erratic pulses with stable supply voltage and clean wiring. Repair wiring if continuity or insulation tests fail (e.g., resistance > 1 ohm or insulation < 1 MΩ). If the sensor passes all electrical tests but the fault persists, replace the ECM input circuit board or the entire ECM.
16. What type of diagnostic tool do I need to read this fault code?
You need a J1939-compliant diagnostic tool, such as a heavy-duty scanner like the Noregon JPRO, Cummins INLINE, or a generic CAN bus adapter with J1939 decoding software. The tool must support reading SPN 231 and FMI 2 from the ECM. Basic OBD-II scanners cannot read J1939 fault codes.
17. What can a professional J1939 scanner do that a basic reader cannot?
A professional J1939 scanner can monitor live data parameters like SPN 231 in real time, display oscilloscope-like signal graphs, perform bi-directional tests (e.g., actuator commands), log data for extended periods, and access manufacturer-specific diagnostic routines such as fuel flow sensor calibration. Basic readers only display stored DTCs without live data or advanced functions.
18. What are the key CAN bus parameters I should monitor when diagnosing this code?
Monitor SPN 231 (Trip Fuel) for stability. Also watch SPN 94 (Fuel Rate) and SPN 183 (Fuel Rail Pressure) to correlate flow with pressure. Check SPN 190 (Engine Speed) and SPN 91 (Accelerator Pedal Position) to see if fuel changes match driver demand. A sudden drop in SPN 231 while SPN 183 remains stable points to a sensor issue.
19. What is a PGN and how does it relate to SPN 231?
A PGN (Parameter Group Number) is a 19-bit identifier for a group of related parameters sent on the J1939 bus. SPN 231 (Trip Fuel) is part of PGN 65266 (Fuel Consumption LFE). The PGN defines the message structure, and the SPN identifies the specific parameter within that message. To read SPN 231, the scanner must decode PGN 65266.
20. What components make up a complete J1939 Diagnostic Trouble Code (DTC)?
A J1939 DTC consists of four parts: SPN (Suspect Parameter Number, e.g., 231), FMI (Failure Mode Identifier, e.g., 2), CM (Conversion Method, usually 0 or 1), and OC (Occurrence Count, number of times the fault has been detected). For SPN 231 FMI 2, the complete DTC might be expressed as 231-2-0-1, indicating the fault has occurred once.