In the case of persistent problems where the errors counter exceeds a programmed percentage threshold, the CAN protocol will require the transmitter with the most error counts to get off the bus (bus-off state). Once the node has kicked itself off the bus, the only way the node can get back on the bus is if the bus has enough idle time, which is not likely, or if a hardware reset is done. It is important to realize that if a competing node does not stop transmitting once it loses bitwise arbitration, or starts transmitting when another node has control of the bus, or if noise interrupts during the message, the data message will be corrupt. The CRC will show a message error and this error will be assigned to the transmitting node. The problem here is the transmitting node is not the problem, but it will be assigned the fault. This can set a diagnostic trouble code (DTC) that would not indicate the true problem in the CAN network. Be aware that the scan tool becomes another node on the bus. If the scan tool has a problem, it can corrupt data messages and be the cause of false DTCs. Once the data message is sent, an acknowledgement — or ACK — from another node on the bus is sent. If no ACK is received in the data frame, the transmitting node assumes no other node on the bus received the message. This could indicate to the node that the bus is open.
Another way CAN uses to confirm the message was received is to have a response generated from the receiving node. On a high-speed class C CAN network, if a message is sent to a specific node, a response from that node is expected. If the receiver of the message does not respond, a DTC is set for the receiving node. A node that is experiencing an acknowledgement failure will not get kicked off of the bus. As soon as the node can communicate on the bus again it will recover from the acknowledgement error. In low- and medium-speed CAN A or CAN B networks, a response is not expected. If a message is sent to a specific node, no receiving response is generated. In this scheme, no news is good news. What can occur is that if a node on these style networks fails quickly, no messages will be sent out, thus, no errors for the failing node will be counted. Since there is no response expected, it is possible for a node to be completely inoperative and to have no codes to indicate that a problem exists. One such node that could fail in this manner would be a driver information module, or DIM. It will be important to study the CAN standards and have a good understanding of which network system you are working on. As more problems arise in vehicles with complex networks, the repair of these systems will become commonplace. So, have your knowledge and service bays ready.