SPN 2071 FMI 31: Meaning, Symptoms and Troubleshooting

Diagnostic Code

SPN 2071 FMI 31: Meaning and Fix

SPN 2071 FMI 31 indicates that the electronic control unit (ECU) assigned Source Address 71 has detected a condition exists, meaning a continuous fault in its J1939 data link communication. In practice, this code frequently appears after a failed ECU firmware update or when a replacement ECM is installed without proper address configuration, causing the module to remain in a faulted state.

Common Symptoms

  • No CAN Communication: The module at SA 71 fails to transmit or receive any J1939 messages, visible in a network scan.
  • Engine Power Loss: Engine enters a torque derate mode, reducing power by up to 40% as a safety fallback.
  • Diagnostic Lamp Active: Red or amber warning lamp illuminates on the dashboard, indicating a serious network fault.
  • Data Link Errors: Repeated J1939 bus-off errors logged, causing intermittent loss of critical sensor data.

Probable Causes

  • ECM Internal Failure: Microcontroller or transceiver damage within the module assigned SA 71, often due to voltage spikes.
  • CAN Bus Wiring Fault: Open circuit, short to ground, or high resistance in the CAN_H or CAN_L lines at the SA 71 node.
  • Incorrect Address Conflict: Duplicate source address 71 assigned to another ECU, causing bus arbitration errors and persistent fault.
  • Corrupted Firmware: Incomplete or corrupted software in the SA 71 module, preventing normal J1939 message handling.

Advanced Technical Analysis

The ECM continuously monitors its J1939 message transmission and reception. When the internal CAN controller detects a bus-off condition exceeding the error passive limit (128 errors), it sets this fault. The microcontroller then checks the transceiver status register; a persistent ‘condition exists’ indicates the hardware cannot recover, locking the module into a silent state.

Electrical analysis shows that a short between CAN_H and CAN_L with less than 50 ohms resistance will trigger this fault. The ECM debouncing timer (typically 500 ms) must see the condition continuously before logging FMI 31. If the fault is intermittent, the ECM will only log a transient event, not a permanent condition.

Upon detecting this fault, the ECM activates its safety fallback: it stops transmitting on the J1939 bus to avoid corrupting network traffic. The engine control module then applies a progressive torque derate, reducing engine output by 25% initially, then up to 50% after 30 seconds. This protects the drivetrain from uncontrolled operation.

Long-term diagnostics require verifying the module’s power supply and ground integrity. In workshops, this fault often appears after a jump-start with reversed polarity or a failed battery charger. A real-world example: a MAN TGS truck showed this code after a body builder incorrectly wired a trailer ABS module to the same CAN line, causing a permanent bus-off condition.

Step-by-Step Troubleshooting Guide

  1. Verify Power and Ground: Measure voltage at the SA 71 module pins: 12V/24V supply and ground must be stable within 0.5V.
  2. Inspect CAN Bus Wiring: Check CAN_H and CAN_L for shorts, opens, or resistance outside 60 ohms at the module connector.
  3. Check for Address Conflict: Use a J1939 scan tool to list all active source addresses; ensure only one ECU claims address 71.
  4. Perform Module Reset: Disconnect battery power for 10 minutes, then reconnect. If fault returns, replace the SA 71 module.