Basic Information:
Printer Model: Custom
MCU / Printerboard: Azteeg X3 Pro, BTT SB2209 CAN (RP2040)
Host / SBC: Raspberry Pi 4
klippy.log
Describe your issue:
I have a custom printer with the BTT SB2209 CAN(RP2040) toolhead board. I connect to it using the BTT U2C interface board. Since the 24V power supply is kinda loud, I will switch it off when I am not printing. I do not turn off power to the Raspberry Pi or the U2C board. When I turn off the 24V power supply, Klipper looses connection to the MCUs and goes into an error state. This is expected, since the MCUs are not powered when the 24V supply is off.
When I turn power back on, Klipper cannot reestablish the connection to the printhead over CAN. Issuing a restart or firmware restart does not fix the problem, and I get the error messages shown in the attached log file.
I believe the relevant error is: mcu 'EBBCan': Unable to open CAN port: Failed to transmit: [Errno 105] No buffer space available
In order to get things to work again, I must power cycle the U2C board and then issue a firmware restart. Once I do this, things work as expected.
I am wondering if there is a way to allow Klipper to gracefully recover from this state without requiring a power cycle of the interface board. Is there a flush buffer command that can be sent that clears the buffer during a restart?
klippy(15).log (22.0 KB)