Hinweis
Diese Anleitung beschreibt das Einrichten der aufgeführten Komponenten (siehe Equipment). Die Anleitung kann nicht 1:1 für andere Hardware Konstellationen verwendet werden!
Hinweis: Wir verwenden hier ein Armbian Image und kein offizielles CB1 Image von BTT. Der Kernel ist deutlich jünger und auch alle zugehörigen Tools im Betriebssystem. So lässt sich auch Katapult sauber kompilieren!
CB1_Debian11_Klipper_kernel5.16_20240319.img.xz
nmtui
sudo apt update && sudo apt upgrade -y && sudo apt install -y git git-lfs silversearcher-ag wavemon hexedit sudoku tcpdump iptraf mc htop dcfldd nano usbutils ranger tldr ncdu can-utils multitail fd-find lsof x11vnc terminator minicom cutecom joystick jstest-gtk i2c-tools speedtest-cli iotop && mkdir -p ~/.local/share && tldr -u
sudo apt autoremove -y modem* cups* pulse* avahi* triggerhappy*
cd ~ && git clone https://github.com/th33xitus/kiauh.git
dmesg -HW
Product: DFU in FS Mode
biqu@BTT-CB1:~$ dmesg -HW [Dec 7 09:52] usb 2-1.4: USB disconnect, device number 6 [ +0.344603] usb 2-1.4: new full-speed USB device number 7 using ehci-platform [ +0.212514] usb 2-1.4: not running at top speed; connect to a high speed hub [ +0.001744] usb 2-1.4: New USB device found, idVendor=0483, idProduct=df11, bcdDevice= 2.00 [ +0.000027] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000020] usb 2-1.4: Product: DFU in FS Mode [ +0.000015] usb 2-1.4: Manufacturer: STMicroelectronics [ +0.000015] usb 2-1.4: SerialNumber: 374937683033
STRG+C
drücken, um die Meldungen zu beendenHinweis:
Katapult wird über USB (DFU-Mode) eingerichtet!
[ ! -d "$HOME/katapult/" ] && cd ~ && git clone https://github.com/Arksine/katapult && cd katapult || cd ~/katapult
git checkout 3e23332
arm-none-eabi-gcc –version
→ arm-none-eabi-gcc (15:8-2019-q3-1+b1) 8.3.1 20190703make menuconfig
(Manta M8P V2.0) Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32H723) ---> Build Katapult deployment application (Do not build) ---> Clock Reference (25 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> Application start offset (128KiB offset) ---> USB ids ---> () GPIO pins to set on bootloader entry [*] Support bootloader entry on rapid double click of reset button [ ] Enable bootloader entry on button (or gpio) state [*] Enable Status LED (!PC3) Status LED GPIO Pin
make -j4
dfu-util -R -a 0 -s 0x08000000:mass-erase:force -D ~/katapult/out/katapult.bin
File downloaded successfully
bei der Ausgabe im Terminal:mass-erase
weglassendfu-util -R -a 0 -s 0x08000000:force -D ~/katapult/out/katapult.bin
dmesg -HW
starten und wieder Strom auf das Board geben biqu@BTT-CB1:~/katapult$ dmesg -HW [Feb10 05:38] usb 2-1.4: USB disconnect, device number 5 [ +0.344916] usb 2-1.4: new full-speed USB device number 6 using ehci-platform [ +0.230326] usb 2-1.4: New USB device found, idVendor=1d50, idProduct=6177, bcdDevice= 1.00 [ +0.000041] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000015] usb 2-1.4: Product: stm32h723xx [ +0.000013] usb 2-1.4: Manufacturer: katapult [ +0.000012] usb 2-1.4: SerialNumber: 1E0043001051313236343430 [ +0.001680] cdc_acm 2-1.4:1.0: ttyACM0: USB ACM device
STRG+C
drücken, um die Meldungen zu beendencd ~/klipper
make menuconfig
[*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32H723) ---> Bootloader offset (128KiB bootloader) ---> Clock Reference (25 MHz crystal) ---> Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) ---> CAN bus interface (CAN bus (on PD0/PD1)) ---> USB ids ---> (1000000) CAN bus speed () GPIO pins to set at micro-controller startup
Python´s pyserial module is required to update. Install with the following command: /usr/bin/python3 -m pip install pyserial make: *** [src/stm32/Makefile:111: flash] Error 255
In dem Fall einfach folgendes ausführen
sudo apt install python3-serial
make -j4 flash FLASH_DEVICE=/dev/ttyACM0
biqu@BTT-CB1:~/klipper $ make -j4 flash FLASH_DEVICE=/dev/ttyACM0 Creating symbolic link out/board Building out/autoconf.h Compiling out/src/sched.o ... Compiling out/src/stm32/hard_pwm.o Preprocessing out/src/generic/armcm_link.ld Building out/compile_time_request.o Version: v0.12.0-102-g9f41f53c Linking out/klipper.elf Creating hex file out/klipper.bin Flashing out/klipper.bin to /dev/ttyACM0 Entering bootloader on /dev/ttyACM0 Device reconnect on /sys/devices/platform/soc/5200000.usb/usb2/2-1/2-1.4/2-1.4:1.0 /usr/bin/python3 lib/canboot/flash_can.py -d /dev/serial/by-path/platform-5200000.usb-usb-0:1.4:1.0 -f out/klipper.bin Attempting to connect to bootloader CanBoot Connected Protocol Version: 1.0.0 Block Size: 64 bytes Application Start: 0x8020000 MCU type: stm32h723xx Flashing '/home/biqu/klipper/out/klipper.bin'... [##################################################] Write complete: 1 pages Verifying (block count = 477)... [##################################################] Verification Complete: SHA = 381BC7BAE3D7B8717F7169CEDB8EA08E4D59A4CA CAN Flash Success
sudo nano /etc/network/interfaces.d/can0
STRG + x
, dann Y
, dann Enter
beenden allow-hotplug can0 iface can0 can static bitrate 1000000 up ifconfig $IFACE txqueuelen 1024
ip a
can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP group default qlen 1024
DOWN
stehen hilft meist ein sudo systemctl restart networking.service
sudo ip link set can0 up type can bitrate 1000000
Hinweis
Die folgenden Schritte setzen natürlich voraus, das der CAN Bus korrekt im Vorfeld eingerichtet wurde!
Wenn das Board über CAN verbunden ist, dann kann man mit den folgenden Schritten prüfen, ob Katapult geflasht wurde:
sudo systemctl stop klipper.service
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
biqu@BTT-CB1:~/klipper$ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 Found canbus_uuid=fa5ad324b369, Application: Klipper Total 1 uuids found
cd ~/printer_data/config
wget https://raw.githubusercontent.com/bigtreetech/Manta-M8P/master/V2.0/Firmware/generic-bigtreetech-manta-m8p-V2_0.cfg -O printer.cfg
nano ~/printer_data/config/printer.cfg
[mcu] canbus_uuid: fa5ad324b369
[mcu]
die Zeile mit serial
löschen oder auskommentieren[mcu]
die Zeile canbus_uuid
entsprechend mit der ermittelten UUID von oben einfügensudo systemctl start klipper.service
cd ~/katapult
make menuconfig
Micro-controller Architecture (Raspberry Pi RP2040) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Build Katapult deployment application (Do not build) ---> Communication interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed () GPIO pins to set on bootloader entry [*] Support bootloader entry on rapid double click of reset button [ ] Enable bootloader entry on button (or gpio) state [*] Enable Status LED (gpio26) Status LED GPIO Pin
Q
und Y
make -j4
dmesg -HW
Product: RP2 Boot
[Dec13 10:07] usb 1-1.4: new full-speed USB device number 44 using dwc_otg [ +0.132594] usb 1-1.4: New USB device found, idVendor=2e8a, idProduct=0003, bcdDevice= 1.00 [ +0.000035] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000016] usb 1-1.4: Product: RP2 Boot [ +0.000013] usb 1-1.4: Manufacturer: Raspberry Pi [ +0.000012] usb 1-1.4: SerialNumber: E0C9125B0D9B [ +0.003555] usb-storage 1-1.4:1.0: USB Mass Storage device detected [ +0.001922] scsi host2: usb-storage 1-1.4:1.0 [ +1.002900] scsi 2:0:0:0: Direct-Access RPI RP2 3 PQ: 0 ANSI: 2 [ +0.000671] sd 2:0:0:0: Attached scsi generic sg0 type 0 [ +0.000792] sd 2:0:0:0: [sdc] 262144 512-byte logical blocks: (134 MB/128 MiB) [ +0.000871] sd 2:0:0:0: [sdc] Write Protect is off [ +0.000020] sd 2:0:0:0: [sdc] Mode Sense: 03 00 00 00 [ +0.000980] sd 2:0:0:0: [sdc] No Caching mode page found [ +0.000022] sd 2:0:0:0: [sdc] Assuming drive cache: write through [ +0.013172] sdc: sdc1 [ +0.000934] sd 2:0:0:0: [sdc] Attached SCSI removable disk
STRG+C
drücken, um die Meldungen zu beendenmake flash FLASH_DEVICE=2e8a:0003
pi@Pi3Test:~/katapult $ make flash FLASH_DEVICE=2e8a:0003 Flashing out/katapult.uf2 [sudo] password for pi: Loaded UF2 image with 31 pages Found rp2040 device on USB bus 1 address 44 Flashing... Resetting interface Locking Exiting XIP mode Erasing Flashing Rebooting device
Hinweis
Wenn Katapult gestartet wurde sollte die rote LED auf dem SB2209 blinken.
Wichtig
Die folgenden Schritte setzen natürlich voraus, das der CAN Bus korrekt im Vorfeld eingerichtet wurde!
Wenn das Board über CAN verbunden ist, dann kann man mit den folgenden Schritten prüfen, ob Katapult geflasht wurde:
sudo systemctl stop klipper.service
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
pi@Pi3Test:~ $ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 Found canbus_uuid=73be55aa184d, Application: CanBoot Total 1 uuids found
cd ~/klipper
make menuconfig
[*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040) ---> Bootloader offset (16KiB bootloader) ---> Communication interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed () GPIO pins to set at micro-controller startup
Q
und Y
make -j4
~/klippy-env/bin/python3 ~/katapult/scripts/flash_can.py -i can0 -f ~/klipper/out/klipper.bin -u <uuid>
~/klippy-env/bin/python3 ~/katapult/scripts/flash_can.py -i can0 -f ~/klipper/out/klipper.bin -u 73be55aa184d
Flash Success
beendet werden!~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
… Application: Klipper
liefernsudo systemctl start klipper.service
Hinweis
Wenn Klipper gestartet wurde sollte die rote LED auf dem SB2209 nicht blinken.
~/klippy-env/bin/python ~/klipper/klippy/console.py -c can0 73be55aa184d
==================== connected ====================
cd ~/printer_data/config
wget "https://raw.githubusercontent.com/bigtreetech/EBB/master/EBB%20SB2209%20CAN%20(RP2040)/sample-bigtreetech-ebb-sb-rp2040-canbus-v1.0.cfg" -O BTT_EBB_SB2209.cfg
nano ~/printer_data/config/BTT_EBB_SB2209.cfg
[mcu EBBCan] #serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00 canbus_uuid: 73be55aa184d
serial
auskommentieren oder löschencanbus_uuid
eintragen und ggf. die #
am Anfang der Zeile entfernen (UUID ermitteln siehe CAN Query)!printer.cfg
noch die neue Konfig einbetten [include BTT_EBB_SB2209.cfg]
Ob das Board korrekt mit Klipper läuft, lässt sich mit folgendem Befehl schnell testen:
~/klippy-env/bin/python ~/klipper/klippy/console.py -c can0 44d860c9632b
Die UUID am Ende muss natürlich mit dem übereinstimmen, was ihr im vorherigen Schritt ermittelt habt!
Klipper Dienst wieder starten
sudo systemctl start klipper.service