I have been fighting against this issue for some days now, and can’t seem to find solutions elsewhere.
I have a very simple setup:
- pi 3 powered by a raspberry pi power adapter
- printer mainboard
- usb cable connecting the two
I mentioned printer mainboard and not a specific model because this issue occurs with both a BTT skr mini e3 v3 and a Fysetc Cheetah 2.0. The pi has been tested with both 32bit and 64bit raspberry pi os lite
If I boot the pi with the mainboard off, and turn it on after boot the system works as expected. If I then reboot the pi while the mainboard is kept on it gets completely unresponsive, no ssh, no ping, no web ui, no display updates on the printer.
After trying lots of things like
- swapping usb cable
- swapping pi with another pi 3
- swapping mainboard
- swapping os
- swapping microsd
I cannot get it to survive a restart apart from 1 in 5-ish times. System logs are clean except for some journal files that get corrupted when unplugging the pi since nothing else seems to work. I attached an hdmi screen and ran sudo dmesg -w
on the console at boot, and it seems that the freezes are caused by a segmentation fault or similar not-your-usual problem.
A fresh os install doesn’t brick the system, as well as when the klipper service is disabled. It seems that something in the rpi-mainboard link is corrupted during reboots or left in a bad state which causes faults on next boot
More details have been logged on the klipper help thread on the voron discord (Discord)
The only solution found to date is to use a raspberry pi 4, which behaves as expected. Not sure what difference makes the pi 3 crash
youtube video link https://youtu.be/zHFonmDN_Dc
a similar issue is described in these posts: Rpi crashes when klipper is started with MCU connected and Pi crashes/doesn't boot with MCU connected - #3 by mykepredko
I believe on the klipper logs you can see where the pi freezes by looking at the corrupted lines that appear in the file, the mainboard connection seems to be established briefly and then the file gets corrupted
klippy.log (2.8 MB)