User Tools

Site Tools


klipper_faq:flash_guide:stm32f103:creality_4.2.7

This is an old revision of the document!


Creality 4.2.7

Schrittweise Anleitung, um das Creality 4.2.7 Board mit Klipper in Betrieb zu nehmen.

YouTube Video #72


Hinweise

  • SBC bedeutet in der Anleitung Single Board Computer. Also meistens wohl ein Raspberry Pi.
  • Es wird davon ausgegangen, dass auf dem SBC Klipper und MainSail eingerichtet ist.
  • Ein Zugang zum SBC über SSH ist notwendig!
  • Das Flashen über SD-Karte scheint bei diesem Board das kleinste “Übel” zu sein … ;-)

Board Infos

Probleme

  • Extra CH340 USB/Seriell Chip
    • Dadurch muss beim Kompilieren Serial anstatt USB gewählt werden!
    • Unnötig, da der Controller durchaus einen seriellen Port bereitstellen kann.
    • Der Kontroller ist nicht sichtbar beim Listen der Ports unter Linux (nur der CH340 Chip !)
  • Dateiname auf der SD-Karte muss bei jedem Flashvorgang anders sein
    • Die Datei auf der SD-Karte darf nicht so heißen wie der vorhergehende Dateiname!
    • Dadurch kann man nicht das ./scripts/flash-sdcard.sh verwebden!
  • Katapult / Klipper kriegt den F103 nicht in den Bootloadermodus
    • Flashen über Katapult geht nur, wenn man Board neu startet / resettet und dann einen Pin auf GND oder 3,3V legt.
    • Katapult über Doppelklick Reset geht auch nicht, weil das Board keinen Reset Taster hat.
  • Im Normalfall max. 8GB SD-Karte zum Flaschen verwenden
    • Große Karten lassen sich umpartitionieren (2GB / FAT16 oder FAT32)

Stromversorgung

Zum Flashen kann das Board kann über USB oder über den 24V Anschluss versorgt werden.

Original Flash

https://drucktipps3d.de/forum/topic/4-2-7-mainboard-bootloader-zerschossen/ → Dump Org Bootloader → Geht bis Adresse 6fff ! → 28kb Bootloader !

Sichern

  • st-info --probe --connect-under-reset
    Flashgröße ermitteln anhand der Ausgabe vom vorherigen Befehl
    Bsp: flash: 524288 (pagesize: 2048) → 524288 : 1024 = 512k
  • st-flash --connect-under-reset read firmware.bin 0x8000000 512k

Widerherstellen

  • Extrahiertes Original Flash Abbild download
  • st-flash --connect-under-reset erase
  • st-flash --connect-under-reset write firmware.bin 0x8000000

Klipper flashen

Variante 1: SD-Karte

Einfachste Variante : Flashen über SD Karte

  • cd ~/klipper
  • make menuconfig
    [*] Enable extra low-level configuration options
        Micro-controller Architecture (STMicroelectronics STM32)  --->
        Processor model (STM32F103)  --->
    [ ] Only 10KiB of RAM (for rare stm32f103x6 variant)
    [ ] Disable SWD at startup (for GigaDevice stm32f103 clones)
        Bootloader offset (28KiB bootloader)  --->
        Clock Reference (8 MHz crystal)  --->
        Communication interface (Serial (on USART1 PA10/PA9))  --->
    (250000) Baud rate for serial port
    ()  GPIO pins to set at micro-controller startup
    • beenden mit Q und Y
  • Klipper kompilieren
    make -j4
  • Klipper flashen
    dfu-util -R -a 0 -s 0x08000000:mass-erase:force -D ~/klipper/out/klipper.bin
    Das Ergebnis sollte sein File downloaded successfully

Variante 2: Katapult

  • Blinkt wenn Katapult aktiv
  • Muss über Deployer installiert werden
  • Braucht extra Taster für Katapult Warten auf Firmware
    • Kein Reset Taster vorhanden für Doppelklick

Port ermitteln

  • Den USB Stecker abziehen
  • dmesg -HW starten
    pi@Pi3Test:~/klipper $ dmesg -HW
    [Nov11 15:15] usb 1-1.4: new full-speed USB device number 8 using dwc_otg
    [  +0.134623] usb 1-1.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
    [  +0.000034] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [  +0.000016] usb 1-1.4: Product: stm32g0b1xx
    [  +0.000012] usb 1-1.4: Manufacturer: Klipper
    [  +0.000012] usb 1-1.4: SerialNumber: 3F003A000E50425539393020
    [  +0.075794] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
    [  +0.000134] usbcore: registered new interface driver cdc_acm
    [  +0.000010] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    • Wir brauchen die Information mit tty… also in diesem Fall ttyACM0
    • STRG+C drücken, um die Meldungen zu beenden
  • Den zugehörigen Link ermitteln
    ls -lR /dev/ | grep -v '\->\s../tty' | grep -e 'tty[[:alpha:]]' -e serial
    • Wir brauchen die Info unter /dev/serial/by-id: :
      lrwxrwxrwx 1 root root 13 Nov 11 15:15 usb-Klipper_stm32g0b1xx_3F003A000E50425539393020-if00 → ../../ttyACM0
    • Achte darauf das am Ende die gleiche tty Bezeichnung steht wie sie im vorherigen Schritt ermittelt wurde (hier also ttyACM0)
    • Was für für die Konfig brauchen ist dann am Ende:
      /dev/serial/by-id/usb-Klipper_stm32g0b1xx_3F003A000E50425539393020-if00

kurzer Test

Ob das Board korrekt mit Klipper läuft, lässt sich mit folgendem Befehl schnell testen:
~/klippy-env/bin/python ~/klipper/klippy/console.py /dev/serial/by-id/usb-Klipper_stm32g0b1xx_3F003A000E50425539393020-if00

Der Pfad am Ende muss natürlich mit dem übereinstimmen was ihr im vorherigen Schritt ermittelt habt!

Wenn ihr ein connected am Anfang des Textes seht, ist das Board richtig geflasht.

Konfig

  • cd ~/printer_data/config
  • nano ~/printer_data/config/BTT_EBB_SB2209.cfg
    [mcu EBBCan]
    serial: /dev/serial/by-id/usb-Klipper_stm32g0b1xx_3F003A000E50425539393020-if00
    #canbus_uuid: 539892be834d
    • Die Zeile mit serial entsprechend mit dem ermittelten Pfad von oben anpassen
    • Die Zeile mit canbus_uuid auskommentieren
  • In der printer.cfg noch die neue Konfig einbetten
    [include BTT_EBB_SB2209.cfg]

Klipper Update

  • Klipper Dienst stoppen
    sudo systemctl stop klipper.service
  • cd ~/klipper && make menuconfig
  • make flash -j4 FLASH_DEVICE=/dev/ttyACM0
    • Wie man an den Port (hier ttyACM0) kommt, ist hier beschrieben
    • Am Ende kann es zu einem Fehler kommen. Davon nicht irritieren lassen. Wichtig ist diese Zeile:
      File downloaded successfully
  • Einmal Reset-Taste drücken am Board hilft :-)
  • Klipper Dienst starten
    sudo systemctl start klipper.service
klipper_faq/flash_guide/stm32f103/creality_4.2.7.1701854156.txt.gz · Last modified: 2023/12/06 10:15 by dominik

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki