SPN 98 FMI 9: Meaning and Fix
SPN 98 FMI 9 indicates the Engine Oil Level sensor (Engine Fluid Level/Pressure 1) is transmitting data at an abnormal update rate, outside the expected 100-500 ms window. This fault often surfaces after ECM software updates or sensor replacement, where the new component fails to synchronize with the bus timing. Technicians may see this after a forced DPF regeneration if the sensor’s internal reference voltage drifts due to heat soak.
Common Symptoms
- Erratic Oil Gauge: Instrument cluster displays oil level intermittently or shows dashes for the reading.
- Inactive Fault Code: Fault code may be active only during key-on or engine cranking, then disappear.
- No Warning Lamp: Often no dash warning lamp illuminates, making detection reliant on scan tool.
- Logging Events: ECM logs multiple occurrences without triggering derate, only storing the fault.
Probable Causes
- Sensor Timing Drift: Internal oscillator drift in the sensor causes message transmission outside the 100-500 ms window.
- Open or Shorted Bus: High resistance or intermittent short on the J1939 CAN bus line corrupts the sensor’s update rate.
- ECM Software Mismatch: ECM calibration expects a different message rate than the sensor’s actual transmission interval.
- Power Supply Noise: Voltage ripple on the sensor’s 5V reference supply disrupts the internal timing circuit.
Advanced Technical Analysis
The ECM monitors the time between consecutive Engine Oil Level messages (PGN 65110). A valid update rate is between 100 ms and 500 ms. If the ECM detects a gap shorter than 80 ms or longer than 550 ms for 5 consecutive cycles, it sets SPN 98 FMI 9. The ECU uses a 16-bit free-running timer to measure intervals; any jitter exceeding ±20 ms triggers the fault.
Electrically, the sensor’s CAN transceiver must maintain a dominant-to-recessive bit timing ratio within 40-60%. A failing transceiver can skew the message start-of-frame, causing the ECM to misread the update interval. Additionally, a 120-ohm termination resistor imbalance on the backbone can reflect signals, delaying message arrival and mimicking an abnormal update rate.
When this fault is active, the ECM typically retains the last valid oil level value and does not command a torque derate. However, on MAN D26 and Mercedes-Benz OM471 engines, the ECM may disable the automatic oil replenishment system, requiring manual level checks. This fallback prevents false oil additions during active sensor faults.
Long-term diagnostics often reveal that this code appears after a sensor replacement with a non-OEM part. For example, a technician replaced a Deutz oil level sensor with a generic unit that had a 1-second update rate instead of the required 250 ms. Always verify sensor part number against the engine’s J1939 configuration file (ECU data sheet) before installation.
Step-by-Step Troubleshooting Guide
- Verify Bus Timing: Use an oscilloscope to measure the time between two consecutive Engine Oil Level messages on the CAN bus.
- Inspect CAN Terminations: Measure resistance between CAN_H and CAN_L at the sensor connector; should be 60 ohms.
- Check Sensor Supply: Measure voltage at sensor pin 1 (Vcc) and pin 2 (GND); must be 4.75-5.25 V with less than 50 mV ripple.
- Replace Sensor: If timing and supply are correct, replace the oil level sensor with an OEM-approved unit and clear the fault.