Tridenta už mám nejakú dobu a funguje parádne, no čas od času mu treba aktualizovať Klipper. Vždy s tým bojujem a tak som sa rozhodol, že si to sem spíšem.
Kým sa do toho pustíme, treba zvážiť aj update na Debian Bookworm (12), ak ste ho ešte neabsolvovali. Mnoho ľudí má pôvodný Bullseye (11), ktorý síce funguje, ale už je skutočne výbehový. Ako to zrealizovať si môžete prečítať v predošlom návode.
Ako hlavnú prerekvizitu by ste mali mať v Mainsaile všetky moduly v zelenom stave UP-TO-DATE. Ak to tak nemáte, výsledok môže byť nevyspytateľný, takže silno odporúčam to mať aktuálne.
Aktualizácia Klippera sa skladá z troch krokov. Treba updatovať službu, firmware v hlavnej doske a firmware v toolheade. Mozog môjho Tridenta je BTT-CB1 (klon RPi), k nemu mám hlavnú dosku BTT Octopus pripojenú cez USB. Cez USB mám pripojený aj BTT USB2CAN adaptér a k nemu mám cez CAN bus pripojený toolhead s kontrolérom BTT SB2240. Tento návod teda rešpektuje moju architektúru a preto si treba dať pozor, lebo v iných tlačiarňach to môže byť inak.
Najjednoduchšia je aktualizácia Klipper služby:
pripojíme sa cez ssh k BTT-CB1
vojdeme do adresára klipper (cd ~/klipper/)
nakonfigurujeme Klipper službu (make menuconfig)
pod položkou “Micro-controller Architecture” zvoľte “linux process“
vráťte sa do hlavného výberu, stlačte “q” pre ukončenie a potvrďte uloženie zmien
vyčistite zdrojáky (make clean)
zastavte Klipper službu (sudo service klipper stop)
skompilujte a nainštalujte službu (make flash)
spustite Klipper službu (sudo service klipper start)
Ak ste nespravili chybu, v Moonsaile by ste už mali pri položke BTT Pi vidieť novú verziu Klippera.
Druhý, zložitejší krok je aktualizácia firmware v hlavnej doske, v mojom prípade Octopus:
pripojíme sa cez ssh k BTT-CB1
vojdeme do adresára klipper (cd ~/klipper/)
nakonfigurujeme Klipper (make menuconfig)
skontrolujte, či je zapnuté “Enable extra low-level configuration options”
“Micro-controller Architecture” nastavte na “STMicroelectronics STM32“
“Processor model” nastavte na “STM32F446“
“Bootloader offset” nastavte na “32KiB bootloader“
“Set the Clock Reference” nastavte na “12 MHz crystal“
“Set the Communication interface” nastavte na “USB (on PA11/PA12)“
stlačte “q” pre ukončenie a potvrďte uloženie zmien
vyčistite zdrojáky (make clean)
skompilujte Klipper firmware (make)
zistite si ID hlavnej dosky (ls /dev/serial/by-id/*)
u mňa to vyzeralo takto: /dev/serial/by-id/usb-Klipper_stm32f446xx_2F004D000E50535556323420-if00
zastavte Klipper službu (sudo service klipper stop)
naflashujte firmware do hlavnej dosky (make flash FLASH_DEVICE=ID_vašej_dosky)
u mňa to vyzeralo takto: make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_stm32f446xx_2F004D000E50535556323420-if00
flashovanie sa niekedy končí chybou, ale obvykle to nič neznamená a firmware sa naflashuje správne
skontrolujte, či hlavná doska ožila (ls /dev/serial/by-id/*)
ak áno, sputite Kliper službu (sudo service klipper start)
ak nie, skúste vypnúť a zapnúť napájanie hlavnej dosky, alebo zapnutie a vypnute tlačiarne
Keď vám to zbehlo bez chyby, v Moonsaile už by mala byť nová verzia aj pri položke MCU.
Tretí a posledný krok je aktualizácia firmware SB2240 v toolheade. Keďže ja ho mám pripojený cez CAN bus a mám v ňom aj Katapult, líši sa od štandardného postupu a je tiež trocha náročnejší:
pripojíme sa cez ssh k BTT-CB1
vojdeme do adresára klipper (cd ~/klipper/)
nakonfigurujeme Klipper (make menuconfig)
skontrolujte, či je zapnuté “Enable extra low-level configuration options”
“Micro-controller Architecture” nastavte na “STMicroelectronics STM32“
“Processor model” nastavte na “STM32G0B1“
“Bootloader offset” nastavte na “8KiB bootloader” (kvôli Katapultu)
“Set the Clock Reference” nastavte na “8 MHz crystal“
“Set the Communication interface” nastavte na “CAN (on PB0/PB1)“
skontrolujte rýchlosť CAN busu: “CAN Bus speed (1000000)“
stlačte “q” pre ukončenie a potvrďte uloženie zmien
vyčistite zdrojáky (make clean)
skompilujte Klipper firmware (make)
zastavte Klipper službu (sudo service klipper stop)
prepnite toolhead do Katapult módu (python3 ~/katapult/scripts/flashtool.py -i can0 -r -u UUID_vašeho_toolheadu), napr. moje uuid je “ccf77b59be45“
skontrolujte či je naozaj v Katapult móde (python3 ~/katapult/scripts/flashtool.py -i can0 -q)
ak je, naflashujte Klipper firmware (python3 ~/katapult/scripts/flashtool.py -i can0 -f ~/klipper/out/klipper.bin -u UUID_vašeho_toolheadu)
aj tu sa flashovanie niekedy končí chybou, ale firmware sa naflashuje správne
skontrolujte, či je toolhead späť v Klipper móde (python3 ~/katapult/scripts/flashtool.py -i can0 -q)
ak áno, spustite Klipper službu (sudo service klipper start)
Či ste boli úspešní je vidno v Mainsaile pri položke EBB Can. Mala by tam byť nová verzia. Ak to všetko funguje, pre istotu skúste tlačiareň vypnúť a zapnúť, či nabehne tak ako má.
Ak v ľubovoľnom z krokov niečo zlyhá, obvykle sa dá rýchlo odhaliť závada a postup rozbehať. Netreba sa toho báť, lebo aj pri hlavnej doske, aj pri toolheade máte stále záchranné koleso v podobe flashovania cez dfu mód. Áno, treba sa už pri tom dostať k doskám, ale nestane sa, že by ste si niečo brickli. Aj preto mám rád veci od BTT, lebo sú k nim návody a tak sa dá ľahko vysekať zo šlamastiky, ak sa niečo nepodarí.
Asi ešte chýba návod pre aktualizáciu Katapultu v toolheade, ale tá už nie je až taká dôležitá. Ak aj máte naflashovaný starší Katapult, zvyčajne funguje dobre a aktualizovať ho netreba. Asi sa k návodu dokopem, až keď sa mi to zasa zesere a budem postup dolovať z útrob internetu 😀 A to by asi bolo pre dnešok všetko.