Basic Information:
Printer Model: JGAurora A1
MCU / Printerboard: original STM32F103 based board
klippy.log (913.9 KB)
There are already a lot of discussions about these issues. I’m running MainsailOS 1.3.2, and the printer is connected either via a Waveshare RS485 CAN HAT (MCP2515-based) or via a DSD Tech SH-C30A CANable clone USB-to-CAN adapter. The CAN bus is set to run with 250000 baud and a txqueuelen setting of 128 on the linux interface.
I had major issues with bytes_invalid increasing and with frequent mcu shutdowns. I’m not exactly sure how they are related, but I would like to add some data points:
I used the CAN HAT for the connection first, ans changed to the USB adapter in an attempt to fix my issues, but that didn’t change anything.
The bytes_invalid issue (reordered CAN packets) was immediately and completely resolved by updating the Linux kernel from 6.1 to 6.6 using rpi-update. At least for the USB adapter it might be related to this change: can: gs_usb: convert to NAPI/rx-offload to avoid OoO reception · torvalds/linux@24bc41b · GitHub
Unfortunately I still had shutdowns. It looked like the transmission of CAN packets just stops at some point, while packets were still received (temperature readings were still being updated after the last transmitted package). The symptom was the same using candleLight_fw v2.0 release, candleLight_fw master or klipper in USB-CAN-bridge mode. It might be a hardware issue with the adapter. I wasn’t able to check a different USB-to-CAN adapter, and I don’t know how to diagnose this further.
After changing back to the CAN HAT now everything works stable, bytes_invalid is 0 and there are no shutdowns.