This is the first time this has happened. I was in the middle of a 5-6 hours print job. When it was about 1.5 hours towarded the end, suddenly the following error showed up and the print job stopped.
Klipper reports: SHUTDOWN
MCU 'mcu' shutdown: Missed scheduling of next digital out event
This is generally indicative of an intermittend communication failure between micro-controller and host.
Once the underlying issue is corrected, use the "FIRMWARE_RESTART" command to reset the firmware, reload the config, and restart the host software.
Printer is shutdown"
What happened? Please let me know how to fix this and things to do to prevent this from happening again. Thank you
Sometimes I could update various software without flashing the Einsy but one time it was required. I think I updated lots of software yesterday but Klipper did not ask me to re-flash the Einsy. Am I supposed to re-flash the Enisy whenever I update the software in Update Manager even I am not asked? This morning I could complete a very similar print job of about 6 hours without any issue.
From some old posts, people had this problem when they were using CANBUS or Octo but I don’t use them.
Well, most probably your problem is bytes_invalid and bytes_retransmit.
Neither depends on the firmware version, so if Klipper does not ask you directly, you could skip the update.
Like Klipper (Klippy/Host) waits for the new ADC value, ADC value gets missing, because of bytes_invalid, PWM updates do not trigger, and do not get sent to the MCU.
This is a probabilistic thing.
In your case, there is a USB2UART converter.
Unfortunately idk, why it can happen in this case.
Generally, with pure UART, there could be a missing GND pin.
But there is a USB that should provide it.
I doubt it is a corruption on the USB line.
But signal corruption on the UART side, on the board, also sounds strange.
I can only guess, something like, if there is a power issue on the RPI side.
Not like not enough power. But maybe a different phase/outlet for the printer and the RPI power brick.
If your RPI is powered from the 24V power supply with a buck converter, this sort of thing should be unlikely.
But this is only a rough guess, nothing more.
The AC adapter is plugged into an IKEA KOPPLA 6 outlet power strip. The Prusa i3MK3S+ is also getting power from the power strip. I changed to RPi5 about a month ago when I switched to Klipper. Before that, I used RPi4 and stock Prusa firmware with no issue.
If this happens again, is there anything else that I can do besides getting klippy.log? I read an old post that somebody got this problem fixed by updating Klipper-related software. I already got the latest version of everything.
These are GHIFAS, “General Hardware Issues From Arbitrary Sources.”
Unfortunately, they are very tedious to debug because Klipper can only tell you that an error occurred, not why. Often, the source of such errors is outside of Klipper’s control.
What’s strange is I ran my Prusa MK3S+ for months on Klipper with the Einsy RAMBo and stock bootloader. I switched to the SKR Mini E3 V3 recently to use the TMC2209’s but the Einsy worked just fine.
It may have been fixed by the manufacturer at some point, so not all units may have been impacted. Also, my vague understanding is that it caused sporadic communication errors (bytes_invalid and bytes_retransmit incrementing), but that wouldn’t necessarily cause a full failure as Klipper is often able to recover by retransmitting those handful of corrupt messages. However, it did notably increase the possibility of unrecoverable errors.
In any case, if you have one of these old machines and see incrementing bytes_invalid or bytes_retransmit incrementing then I’d definitely suggest updating the usb-to-serial chip firmware as described online.