@@ -37,20 +37,36 @@ hours or more frequently) then it is an indication of a severe
37
37
problem.
38
38
39
39
Incrementing ` bytes_invalid ` on a CAN bus connection is a symptom of
40
- reordered messages on the CAN bus. There are two known causes of
41
- reordered messages:
42
- 1 . Old versions of the popular candlight_firmware for USB CAN adapters
43
- had a bug that could cause reordered messages. If using a USB CAN
44
- adapter running this firmware then make sure to update to the
45
- latest firmware if incrementing ` bytes_invalid ` is observed.
46
- 2 . Some Linux kernel builds for embedded devices have been known to
47
- reorder CAN bus messages. It may be necessary to use an alternative
48
- Linux kernel or to use alternative hardware that supports
49
- mainstream Linux kernels that do not exhibit this problem.
40
+ reordered messages on the CAN bus. If seen, make sure to:
41
+ * Use a Linux kernel version 6.6.0 or later.
42
+ * If using a USB-to-CANBUS adapter running candlelight firmware, use
43
+ v2.0 or later of candleLight_fw.
44
+ * If using Klipper's USB-to-CANBUS bridge mode, make sure the bridge
45
+ node is flashed with Klipper v0.12.0 or later.
50
46
51
47
Reordered messages is a severe problem that must be fixed. It will
52
48
result in unstable behavior and can lead to confusing errors at any
53
- part of a print.
49
+ part of a print. An incrementing ` bytes_invalid ` is not caused by
50
+ wiring or similar hardware issues and can only be fixed by identifying
51
+ and updating the faulty software.
52
+
53
+ Older versions of the Linux kernel had a bug in the gs_usb canbus
54
+ driver code that could cause reordered canbus packets. The issue is
55
+ thought to be fixed in
56
+ [ Linux commit 24bc41b4] ( https://github.com/torvalds/linux/commit/24bc41b4558347672a3db61009c339b1f5692169 )
57
+ which was released in v6.6.0. In some cases, older Linux versions may
58
+ not show the problem (due to how hardware interrupts are configured),
59
+ however if problems are seen the recommended solution is to upgrade to
60
+ a newer kernel.
61
+
62
+ Older versions of candlelight firmware could reorder canbus packets,
63
+ and the issue is thought to be fixed in
64
+ [ candlelight_fw commit 8b3a7b45] ( https://github.com/candle-usb/candleLight_fw/commit/8b3a7b4565a3c9521b762b154c94c72c5acb2bcf ) .
65
+
66
+ Older versions of Klipper's USB-to-CANBUS bridge code could
67
+ incorrectly drop canbus messages. This is not as severe as reordering
68
+ messages, but it should still be fixed. It is thought to be fixed with
69
+ [ Klipper PR #6175 ] ( https://github.com/Klipper3d/klipper/pull/6175 ) .
54
70
55
71
## Use an appropriate txqueuelen setting
56
72
0 commit comments