Ich vermute ein paar über-empfindliche Kriterien zur Fehlererkennung. Mit Felderfahrung kann auch dies per SW verbessert werden. Ist nun einmal eine Susifuss Arbeit.
Also beim CAN-Bus könnte man per Software nicht viel machen. Wenn zum Beispiel die CAN-Bus Kabel zu große Schlaufenabstände haben (das Kabel ist verdrillt mit 2,5cm Schlaufenabstand), dann kann es bei ungünstiger Positionierung dazu führen, dass Bits kippen. Ein gekipptes Bit in der Leitung kann, wenn es ein dominates Bit ist, Datenpakete sofort invalidieren. Da kann die Software gar nichts mehr machen.
Im Anschluss kommen dann noch die CRCs die man per Software vielleicht nachjustieren kann.
So ein Fehler ist nicht sehr wahrscheinlich, insbesondere weil CAN-Bus schon recht störfest ist. Allerding ist das in meiner Arbeit schon vorgekommen und wir haben uns den Arsch wund gesucht - bis irgendjemand aus purer Verzweiflung vorgeschlagen hat, das doch mal zu untersuchen. - Und da lag dann der Fehler.