То один контроллер сообщит, что ему неправильный пакет пришёл, то другой. Примерно раз в неделю. Системы контроля ошибок на тот момент у меня ещё не было, поэтому сообщение об ошибке означало, что одна из команд просто не выполнилась. Для некоторых команд пропуск выполнения не критичен, но для других -- очень критичен.
Кабеля для соединения контроллеров делал не я. Я решил выяснить, как они были сделаны.
-- А кабеля экранированные?
-- Нет.
-- Какого хуя?
-- ¯\_(ツ

-- Давайте экранировать.
Сделали новые кабеля, экранированные. Ошибки полностью пропали. Я не знаю, что там такого случилось, что раньше неэкранированные кабеля нормально работали, а потом перестали.
Прошло полгода. Ошибки появились снова. Сначала раз в два дня, потом каждый день. Потом каждые полчаса. С чем это было связано, было совсем непонятно. Грешили на проблемы с заземлением. Типа где-то рвётся заземление и это вызывает помехи в линии. Тем более, недавно был заменён один из посторонних кабелей. Было подозрение, что он сделан неправильно. Но подозрения не оправдались.
На третий день диагностики один из контроллеров перестал отвечать. Умер. Его отключили и поставили на его место заглушку. И о чудо, после этого все ошибки на линии пропали.
То есть, этот контроллер перед смертью несколько дней срал в линию. Пока неизвестно, в чём причина этого.