Es macht durchaus Sinn vorher die Konfig bzw. den ganzen Konfig Ordner vom original Klipper zu sichern. Es gibt zwei Möglichkeiten wie das klappen kann Online und Offline …
Der Drucker ist noch im Netzwerk zu erreichen. Dann kann man mittels MobaXTerm eine SSH Verbindung aufbauen und die Daten über den MobaXTerm eingebauten SFTP Client abrufen. Einfach in den Ordner printer_data/config
gehen und alle Dateien in einen Windows Ordner sichern. Alternativ geht das auch mit WinSCP oder SCP, macht es aber deutlich komplizierter vom Aufruf.
Der SSH Zugang zum Original Sovol Image ist User: sovol und Passwort: sovol
Wenn der Drucker Offline ist - also nicht mehr im Netzwerk erreichbar oder wenn er einfach nicht mehr startet - dann braucht ihr den eMMS Adapter. Dort kommt dann die ausgebaute eMMC rein und ihr müsst euch dann eine Linux Maschine suchen. Unter Windows ist nämlich die Partition auf der die wichtigen Daten liegen, nicht sichtbar. In Linux müsst ihr ggf. noch die Partition mounten und könnt dann die Daten kopieren. Das alles setzt natürlich voraus, dass die eMMC auch noch heile ist.
Linux
Hier am Beispiel mit einem Raspberry Pi:
dmesg
absetzen. Das sollte am Ende irgendwas mit USB Storage und ggf. scsi bzw. sd liefern. In etwa so [4100988.683264] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd [4100988.702054] usb 2-1: New USB device found, idVendor=05e3, idProduct=0747, bcdDevice= 8.19 [4100988.702090] usb 2-1: New USB device strings: Mfr=3, Product=4, SerialNumber=5 [4100988.702104] usb 2-1: Product: USB Storage [4100988.702116] usb 2-1: Manufacturer: Generic [4100988.702126] usb 2-1: SerialNumber: 000000000819 [4100988.710552] usb-storage 2-1:1.0: USB Mass Storage device detected [4100988.711280] scsi host0: usb-storage 2-1:1.0 [4100989.716940] scsi 0:0:0:0: Direct-Access Generic STORAGE DEVICE 0819 PQ: 0 ANSI: 6 [4100990.033126] sd 0:0:0:0: [sda] 15269888 512-byte logical blocks: (7.82 GB/7.28 GiB) [4100990.033883] sd 0:0:0:0: [sda] Write Protect is off [4100990.033889] sd 0:0:0:0: [sda] Mode Sense: 87 00 00 00 [4100990.034602] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [4100990.056061] sda: sda1 sda2 [4100990.056338] sd 0:0:0:0: [sda] Attached SCSI removable disk [4100990.067057] sd 0:0:0:0: Attached scsi generic sg0 type 0
lsblk
dann mal die Massenspeicher listen pi@testpi4:~ $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 1 7.3G 0 disk ├─sda1 8:1 1 256M 0 part └─sda2 8:2 1 6.9G 0 part mmcblk0 179:0 0 58.9G 0 disk ├─mmcblk0p1 179:1 0 512M 0 part /boot/firmware └─mmcblk0p2 179:2 0 58.4G 0 part /
sda2
- das kann bei euch aber durchaus ander heißen!MOUNTPOINTS
wird nichts gelistet. sudo mkdir /mnt/emmc
sudo mount /dev/sda2 /mnt/emmc/
cd /mnt/emmc
ls
den Inhalt listen. cd /mnt/emmc/home/sovol/printer_data/config
und hier findet ihr eure alte Konfig.
Es wird davon abgeraten das V3.0.0 Image zu verwenden. Scheinbar gibt es da noch kleinere Probleme. Es sei aber erwähnt, dass es einen Pull Request im Github gibt, mit dem das V3 auch laufen soll:
https://github.com/Rappetor/Sovol-SV08-Mainline/pull/123
Ich lasse das mal so stehen. Wer das V3 Image testen will, kann das mit den Infos ja versuchen. Es ist aber nicht Bestandteil dieser Anleitung.
Damit das System sauber läuft müssen ein paar Dateien kopiert / angepasst werden.
Diese Dateien kann man alle über den Windows Explorer erreichen! Sie liegen in dem Laufwerk was BOOT
heißt.
sun50i-h616-sovol-emmc.dtb
von hier https://github.com/Rappetor/Sovol-SV08-Mainline/tree/main/files-used/dtb-files muss in den Ordner /dtb/allwinner/
#------------#
lassen wir bestehen - bitte hier nichts ändern !bootlogo=false overlay_prefix=sun50i-h616 fdtfile=sun50i-h616-sovol-emmc console=display overlays=uart3 ws2812 spidev1_1
bootlogo=false overlay_prefix=sun50i-h616 fdtfile=sun50i-h616-sovol-emmc console=display overlays=uart3 ws2812 spidev1_1 #------------------------------------------------# rootdev=UUID=795df55f-3e45-4625-a9cb-f6706b356274 rootfstype=ext4
#-----------------------------------------# check_interval=5 # Cycle to detect whether wifi is connected, time 5s eth=eth0 # Ethernet card device number wlan=wlan0 # Wireless NIC device number hostname="SV08" ########################################### # System time zone setting, default Time zone: Etc/UTC (UTC, +0000) # More settable time zones can be viewed by running the command: timedatectl list-timezones #TimeZone="Asia/Shanghai" ########################################### # HDMI klipperScreen rotation # ks_angle: Rotation angle # normal: 0; inverted: 180; # right: 90; left: 270; ks_angle="inverted" ########################################### # wifi name WIFI_SSID="XXXXXXX" # wifi password WIFI_PASSWD="MySecret0815" ########################################### # BTT-PAD7 (ON/OFF) BTT_PAD7="OFF" # touch vibration effects TOUCH_VIBRATION="OFF" # touch sound effects TOUCH_SOUND="OFF" # Automatic brightness adjustment AUTO_BRIGHTNESS="OFF" ###########################################
inverted
stellensudo apt update && sudo apt upgrade
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 fio ir-keytable curl inxi && mkdir -p ~/.local/share && tldr -u
cd ~ && git clone https://github.com/dw-0/kiauh.git
./kiauh/kiauh.sh
cd ~/
cd ~/moonraker-timelapse
make install
nano ~/printer_data/config/moonraker.conf
und folgendes einfügen [update_manager timelapse] type: git_repo primary_branch: main path: ~/moonraker-timelapse origin: https://github.com/mainsail-crew/moonraker-timelapse.git managed_services: klipper moonraker [timelapse] ## Following basic configuration is default to most images and don't need ## to be changed in most scenarios. Only uncomment and change it if your ## Image differ from standart installations. In most common scenarios ## a User only need [timelapse] in their configuration. output_path: ~/timelapse/ ## Directory where the generated video will be saved frame_path: /tmp/timelapse/ ## Directory where the temporary frames are saved ffmpeg_binary_path: /usr/bin/ffmpeg ## Directory where ffmpeg is installed
TIMELAPSE_TAKE_FRAME
einbinden!sudo reboot
könnte man ausführen wenn es nach crowsnest noch nicht gemacht wurde. cd ~ && git clone https://github.com/Rappetor/Sovol-SV08-Mainline && cd ~/Sovol-SV08-Mainline
cd ~/Sovol-SV08-Mainline/files-used/sovol-addons/
cp * ~/klipper/klippy/extras/
cd ~/Sovol-SV08-Mainline/files-used/config/
cp -r * ~/printer_data/config
sudo reboot
Die seriellen Ports kann man aus der alten Konfig raus friemeln, aber es geht auch anders …
ls -lR /dev/ | grep -v '\->\s../tty' | grep -e 'tty[[:alpha:]]' -e serial
/dev/serial/by-id: lrwxrwxrwx 1 root root 13 Jul 18 19:28 usb-Klipper_stm32f103xe_30FFD9053347543017551551-if00 -> ../../ttyACM1
/dev/serial/by-id/usb-Klipper_stm32f103xe_30FFD9053347543017551551-if00
/dev/serial/by-id
: /dev/serial/by-id: lrwxrwxrwx 1 root root 13 Jul 18 19:28 usb-Klipper_stm32f103xe_30FFD9053347543017551551-if00 -> ../../ttyACM1 lrwxrwxrwx 1 root root 13 Jul 18 19:43 usb-Klipper_stm32f103xe_51FF6E064849824936080767-if00 -> ../../ttyACM0
/dev/serial/by-id/usb-Klipper_stm32f103xe_51FF6E064849824936080767-if00
[mcu] serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_30FFD9053347543017551551-if00 restart_method: command [mcu extra_mcu] serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_51FF6E064849824936080767-if00 restart_method: command
Anmerkung : Jetzt sind auch endlich diese Krachlüfter mal leise und das Display geht auch wieder
Damit wir die Firmware auf den beiden Boards im Drucker direkt mit dem eingebauten Linux flashen können brauchen wir die Toolsammlung stlink. Damit wir einen aktuellen Stand haben compilieren wir das schnell zusammen
sudo apt install gcc build-essential cmake libusb-1.0-0 libusb-1.0-0-dev libgtk-3-dev pandoc -y
cd ~ && mkdir build -p && cd build
git clone https://github.com/stlink-org/stlink.git && cd stlink && git checkout 4832a96bd19ca31f476ae67aa87359c1c09fb8b9
make clean && make release
sudo make install && sudo ldconfig
Entgegen der Original Anleitung wo alles unter Windows gemacht wird, mache ich das etwas anders - vermutlich auch einfachert
Der Drucker bleibt beim Lesen / Schreiben des Flash an. Aus diesem Grund auch keine 3,3V anschließen!
Man kann die alte Firmware auslesen. Ob das Sinn ergibt muss jeder für sich selber entscheiden Hier ist jedenfalls meine Version wie ich die Original Firmware sichere.
Hinweis
Nicht wundern wenn während dem Flashen oder Auslesen der Drucker in den Shutdown Modus geht. Das ist normal weil das Board nicht mehr erreichbar ist. Nach einem Drucker Reboot ist alles wieder ok.
Hinweis 2
Zur Not liegen im Github auch noch Original Versionen : https://github.com/Rappetor/Sovol-SV08-Mainline/tree/main/firmware-backups
st-info --probe
ausführen biqu@SV08:~$ st-info --probe Found 1 stlink programmers version: V2J29S7 serial: 40005000050000573650534E flash: 524288 (pagesize: 2048) sram: 65536 chipid: 0x414 dev-type: F1xx_HD
st-flash read firmware_main.bin 0x8000000 512k
-rwx—— 1 biqu biqu 512K Jul 19 05:52 firmware_main.bin
st-info –probe
ausführen biqu@SV08:~$ st-info --probe Found 1 stlink programmers version: V2J29S7 serial: 40005000050000573650534E flash: 131072 (pagesize: 1024) sram: 20480 chipid: 0x410 dev-type: STM32F1xx_MD
st-flash read firmware_head.bin 0x8000000 128k
-rwx—— 1 biqu biqu 128K Jul 19 05:09 firmware_head.bin
Auch das Flashen mache ich nicht unter Windows. Wie gehabt machen wir das direkt im Linux mit Boardmitteln
Katapult wird auf beiden Boards installiert. Das ist ein Bootloader, der es uns später ermöglicht, viel einfacher eine neue Klipper Version aufzuspielen.
cd ~ && git clone https://github.com/Arksine/katapult
pip3 install pyserial
cd ~/katapult && make menuconfig
Katapult Configuration v0.0.1-104-gfcb2f84 Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F103) ---> [ ] Only 10KiB of RAM (for rare stm32f103x6 variant) (NEW) [ ] Disable SWD at startup (for GigaDevice stm32f103 clones) (NEW) Build Katapult deployment application (Do not build) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> Application start offset (8KiB 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
make clean && make -j4
st-flash erase
st-flash write ~/katapult/out/katapult.bin 0x8000000
cd ~/klipper
make menuconfig
Klipper Firmware Configuration [*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F103) ---> [ ] Only 10KiB of RAM (for rare stm32f103x6 variant) (NEW) [ ] Disable SWD at startup (for GigaDevice stm32f103 clones) (NEW) Bootloader offset (8KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> [*] Optimize stepper code for 'step on both edges' (NEW) (PA1,PA3) GPIO pins to set at micro-controller startup
make clean && make -j4
/dev/serial/by-id/usb-Klipper_stm32f103xe_30FFD9053347543017551551-if00
. Bei euch wird die ID aber anders aussehen. sudo systemctl stop klipper.service
make -j4 flash FLASH_DEVICE=/dev/serial/by-id/usb-katapult_stm32f103xe_30FFD9053347543017551551-if00
usb-Klipper
durch usb-katapult
ersetzen!sudo systemctl start klipper.service
cd ~/klipper
make menuconfig
Klipper Firmware Configuration [*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F103) ---> [ ] Only 10KiB of RAM (for rare stm32f103x6 variant) (NEW) [ ] Disable SWD at startup (for GigaDevice stm32f103 clones) (NEW) Bootloader offset (8KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> [*] Optimize stepper code for 'step on both edges' (NEW) (PA6) GPIO pins to set at micro-controller startup
make clean && make -j4
/dev/serial/by-id/usb-Klipper_stm32f103xe_51FF6E064849824936080767-if00
. Bei euch wird die ID aber anders aussehen. sudo systemctl stop klipper.service
make -j4 flash FLASH_DEVICE=/dev/serial/by-id/usb-katapult_stm32f103xe_51FF6E064849824936080767-if00
usb-Klipper
durch usb-katapult
ersetzen!sudo systemctl start klipper.service
Es ist keine dumme Idee, nach dem ganzen Flashen den Drucker mal durch zu booten
sudo reboot