Basic Information:
Printer Model: Ender 3 heavily modified
MCU / Printerboard: STM32G0B1RE / BTT Manta E3EZ
Host: / SBC BTT CB1
klippy.log
klippy.zip (1.9 MB)
In previous topics (like https://klipper.discourse.group/t/canbus-communication-timeout-while-homing-z/3741 users complained of CAN communications errors during homing. A lot of workarounds showed up, none of them solved the problem 100%.
I just want to share the solution for my particular setup: BTT CB1 → (USB CAN Bridge) → BTT Manta E3EZ → (Canbus) → BTT EBB42 toolhead. I’ve tested also with another set that I have on hold for the next setup: Manta M8P, CB1, EBB36 toolhead, from the same BigTreeTech.
I’ve run also in this problem, first on the first setup, then tested on the second, and none of those solutions provided in those topics fitted me. I didn’t wanted to tackle with mcu.py, I had no errors on the CANBus, etc. But what catched my eye was what Kevin discovered here.
BTT provides for the CB1 their latest V2.3.4 image of Debian Bullseye with kernel 5.1.6, but no other kernel, no Bookworm. After a little digging I found out that there is an Armbian 24.2.3 Bookworm with kernel 6.1.79. So why not giving it a try?
So I have installed the CLI version of it. And, well, that was the right solution. I’ve tested it first on the reserve setup, then on the actual printer. I’ve did several prints, no more homing errors!
So yes, the problem resides in the Bullseye kernel, like Kevin said.
On a side note, totally off-topic, I want to share some other information, perhaps somebody needs it and finds it: The BTT TFT35 SPI display is natively intergrated in BTT’s Bullseye (of course). But it is also supported by Armbian’s Bookworm. The “driver” DBT overlay files are provided in the image files, but there are a couple of more steps needed:
In armbianEnv.txt
- provide the usual
overlays=tft35_spi
, like for BTT’s Bullseye
Then, in
sudo nano /etc/modules-load.d/98-fbtft.conf:
add:
fbtft
fbtft_device
In
sudo nano /etc/modprobe.d/fbtft.conf
add:
options fbtft_device name=tft35spi fps=25
And in
sudo nano /usr/share/X11/xorg.conf.d/99-fbdev.conf
add:
Section "Device"
Identifier "tft35spi"
Driver "fbdev"
Option "fbdev" "/dev/fb0"
EndSection
Do NOT make these changes unless the display is connected to your CB1! For reasons unknown to me (I really am a Linux noob) the kernel will use all processor, making it hard even to connect to the board!