embedded communication_error ai_generated partial

CAN error: Bus-off state entered (TEC >= 256)

ID: embedded/can-bus-off

Also available as: JSON · Markdown
60%Fix Rate
85%Confidence
3Evidence
2023-01-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
32 active

Root Cause

CAN controller entered bus-off after too many transmit errors. Node disconnected from bus.

generic

Workarounds

  1. 88% success Check CAN bus termination: two 120 ohm resistors at each end
    Measure between CAN_H and CAN_L powered off: should read ~60 ohm
  2. 85% success Verify bit timing matches all other nodes on the bus
    All nodes must agree on baud rate and sample point (typically 87.5% for 500kbps)
  3. 80% success Implement bus-off recovery with backoff delay
    HAL_CAN_Start() after bus-off with 100ms+ delay to let bus settle

Dead Ends

Common approaches that don't work:

  1. Restart CAN peripheral immediately in a tight loop 85% fail

    Rapid restart floods bus with error frames and may force OTHER nodes bus-off

  2. Increase CAN bus speed 80% fail

    Higher speed needs tighter timing and shorter bus; usually makes it worse

  3. Disable CAN error interrupts 90% fail

    Node is still disconnected; disabling interrupts just hides the state