Применимость
Только при подтверждённых компоненте/модели/прошивке: Klipper CAN bus
Что известно
- На CAN-шине должны быть ровно два терминатора 120 Ом; CANH/CANL скручиваются между собой, соединения не должны отходить при движении головы.
- Регулярно растущий bytes_invalid у CAN MCU означает перестановку сообщений; статья связывает это с программным стеком, а не обычным повреждением проводки.
- Рекомендуемый txqueuelen — 128; чрезмерное увеличение очереди ухудшает задержки.
Порядок проверки
- Собрать klippy.log, версии ядра/bridge/candlelight и схему; проверить разъёмы/обжимы и терминаторы при отключённом питании.
- При росте bytes_invalid сверить минимальные версии из актуального руководства, а при No buffer space проверить qlen и целостность шины.
- Для сложных случаев сохранять candump и разбирать отдельно от обычных клиентских шагов.
Ограничения
- canbus_query.py разрешён для обнаружения ранее неидентифицированных узлов, не для ping; во время печати запускать нельзя.
- Увеличение txqueuelen не восстанавливает оборванную шину.
- Настройки скорости шины и firmware сверять по точным устройствам.
Перед работой сверяйте точную модель, ревизию и установленные узлы. Конспект прочитанного руководства не заменяет полную инструкцию и практическую диагностику.