SPN 2567 FMI 18: Meaning, Symptoms and Troubleshooting

Diagnostic Code

SPN 2567 FMI 18: Meaning and Fix

SPN 2567 FMI 18 indicates the total message size reported in a Transport Protocol Connection Management (TP.CM_BAM) message is valid but below the normal operating range. This fault often appears after an ECM software update or when a non-OEM diagnostic tool sends incomplete multi-packet data. Technicians may see it during a forced DPF regeneration attempt if the request message is truncated.

Common Symptoms

  • Incomplete Data Transfer: ECU fails to receive multi-packet messages, causing intermittent loss of parameter updates.
  • Delayed Engine Response: Throttle or torque commands lag due to retransmission attempts from the transport layer.
  • Erratic CAN Communication: Other ECUs log related J1939 network timeouts or connection abort messages.
  • Diagnostic Tool Freeze: Scan tool hangs or reports incomplete datasets when reading long PGNs like EEC2.

Probable Causes

  • Corrupted TP.CM_BAM Frame: Bit errors or voltage glitches reduce the declared total message size below actual payload.
  • Software Mismatch: ECM firmware expects a larger message size than the transmitting controller sends.
  • Faulty CAN Transceiver: A marginal transceiver on the transmitting node clips the message length byte in the BAM header.
  • Gateway Configuration Error: A J1939-to-CAN gateway incorrectly truncates the total message size field during routing.

Advanced Technical Analysis

The ECM compares the ‘Total Message Size’ field (bytes 2-3) in the TP.CM_BAM PGN 60416 against the sum of all Data Transfer (DT) packets received. When the declared size is below the expected range (typically 8-1785 bytes for J1939 multi-packets), the ECM sets FMI 18. This triggers a transport layer abort, discarding the incomplete message.

Electrical analysis shows that a weak CAN differential voltage (below 1.5V recessive, below 0.5V dominant) can cause bit stuffing errors in the BAM header. The receiving ECU then interprets corrupted bits as a valid but abnormally small message size. Oscilloscope checks at the backshell of the diagnostic connector are essential.

Upon detecting SPN 2567 FMI 18, the ECM does not apply a torque derate but blocks all multi-packet communication from the offending source address. This prevents parameter updates like aftertreatment dosing commands. The fault remains active until a successful BAM with a correct size field is received from the same source.

In the field, this code frequently appears after replacing a J1939 gateway without reconfiguring the message mapping. For example, a Mercedes-Benz OM471 engine ECM expects a 500-byte payload from the transmission controller, but the new gateway sends only 250 bytes. Always verify the ‘Total Message Size’ using a CANalyzer trace to confirm the transmitted value.

Step-by-Step Troubleshooting Guide

  1. Capture CAN Traffic: Use a J1939 analyzer to log TP.CM_BAM frames and verify the Total Message Size field against the actual DT packet count.
  2. Inspect CAN Bus Voltage: Measure CAN_H and CAN_L at the terminating resistor; ensure recessive levels are 2.5V ±0.2V and dominant swing is >1.5V.
  3. Update ECU Software: Flash the transmitting controller with the latest factory calibration to ensure the BAM size field matches the ECM expectations.
  4. Test with Known Good Tool: Connect a verified OEM diagnostic tool to rule out aftermarket scan tool corruption of the transport layer message.