Skip to content

Latest commit

 

History

History
250 lines (217 loc) · 11.8 KB

sovol_mods.md

File metadata and controls

250 lines (217 loc) · 11.8 KB
title layout nav_order parent has_toc
Modifications by Sovol
page
3
Firmware
false

Modifications by Sovol / Makerbase

{: .no_toc }

Contents:

{: .no_toc }

  • TOC {:toc}

Please note that this is just work-in-progress.
The changes listed here may not be complete and are just quickly tested.
Thanks to Vasyl Gontar and nubecoder for their additions/corrections to this list.

  • KlipperScreen

    • incomplete ".git" directory (throws errors on KIAUH update page)
    • revision must be around 926d78de01efb114d00e021364b04bbe6f28690b (Mar 8 2023)
    • translations are younger (~ Jun 16 2023)
    • some changes (theme "sovol dark" instead of "z-bolt")
    • added timezone config screen for first-time setup
    • modifications for PowerLossRecovery?
  • fluidd: git information removed?

  • mainsail: git information removed?

  • added power loss recovery (plr)

  • Kernel:

  • u-boot (bootloader)

    • Sovols bootloader allows booting from an external device (USB-stick)
    • Booting from an external device (USB-stick)

Files in /root

  • auto_refresh + auto_refresh.cpp
    • update helper
    • used by makerbase-auto-fresh.service
  • beep.sh
    • beep if touch is pressed
    • used by makerbase-beep.service
  • get_id + get_id.cpp
    • retrieves serial connection
    • used by makerbase-byid.service
  • set-timezone.sh
    • update timezone, fetch time every 3 seconds via NTP (syslog spammer)
    • used by makerbase-timezone-monitor.service
  • soft_shutdown.sh
    • sets up GPIOs for "supper" capacitor, effectively does nothing
    • used by makerbase-soft-shutdown.service
  • hid-flash
/home/mks/ff-hid-flash.txt:Binary file /home/mks/_root/hid-flash matches
/home/mks/klipper/src/stm32/Makefile:lib/hidflash/hid-flash:
/home/mks/klipper/src/stm32/Makefile:   @echo "  Building hid-flash"
/home/mks/klipper/src/stm32/Makefile:flash: $(OUT)klipper.bin lib/hidflash/hid-flash
/home/mks/klipper/docs/Bootloaders.md:The hid-flash program is used to upload a binary to the bootloader. You
/home/mks/klipper/docs/Bootloaders.md:~/klipper/lib/hidflash/hid-flash ~/klipper/out/klipper.bin
/home/mks/klipper/docs/Bootloaders.md:As with the STM32F1, the STM32F4 uses the hid-flash tool to upload binaries to
/home/mks/klipper/docs/Bootloaders.md:hid-flash.
/home/mks/klipper/lib/hidflash/changes.diff: EXECUTABLE = hid-flash
/home/mks/klipper/lib/hidflash/changes.diff:+   @echo "    hid-flash requires libusb-1.0, please install with:"
/home/mks/klipper/lib/hidflash/changes.diff:+* This version of hid-flash has been modified to work with Klipper.
/home/mks/klipper/lib/hidflash/changes.diff:-    printf("Usage: hid-flash <bin_firmware_file> <comport> <delay (optional)>\n");
/home/mks/klipper/lib/hidflash/changes.diff:+    printf("Usage: hid-flash <bin_firmware_file> <comport (optional)> <delay (optional)>\n");
/home/mks/klipper/lib/hidflash/Makefile:EXECUTABLE = hid-flash
/home/mks/klipper/lib/hidflash/Makefile:        @echo "    hid-flash requires libusb-1.0, please install with:"
/home/mks/klipper/lib/hidflash/README:The source for the hid-flash program in this folder is a deriviative of the
/home/mks/klipper/lib/hidflash/README:The original source for hid-flash was written by Bruno Freitas, available
/home/mks/klipper/lib/hidflash/README:1) The "port" argument is now optional.  If not supplied hid-flash will not
/home/mks/klipper/lib/hidflash/README:2) When the serial port is specified, hid-flash will use Klipper's procedure
/home/mks/klipper/lib/hidflash/README:3) The hid-flash program now accepts a command from the bootloader that allows
/home/mks/klipper/lib/hidflash/README:   libusb-1.0 dependency for hid-flash.
/home/mks/klipper/lib/hidflash/main.c:* This version of hid-flash has been modified to work with Klipper.
/home/mks/klipper/lib/hidflash/main.c:    printf("Usage: hid-flash <bin_firmware_file> <comport (optional)> <delay (optional)>\n");
/home/mks/klipper/lib/.gitignore:hidflash/hid-flash
/home/mks/klipper/scripts/flash_usb.py:    args = ["lib/hidflash/hid-flash", binfile.html)
/home/mks/klipper/scripts/flash_usb.py:        raise error("Error running hid-flash")
/home/mks/klipper/scripts/flash_usb.py:# Flash via call to hid-flash
/home/mks/findfiles:find / -xdev -type f -print0 | xargs -0 grep "\<hid-flash\>"
Binary file /root/hid-flash matches
/var/lib/dpkg/info/makerbase-client.md5sums:ef3573cd08e43b74bbd22ab2dfe68f3b  root/hid-flash
/var/lib/dpkg/info/makerbase-client.list:/root/hid-flash
(tons of references found -> left out)
/var/lib/dpkg/info/makerbase-client.list:/root/uart
  • udp_server
    • unknown binary, source code missing
    • webserver that changes /root/www/dev_info.txt, seems related to QIDI printers
      (thanks to nubecoder for investigation)
    • references:
/var/lib/dpkg/info/makerbase-client.md5sums:6f515dc45b55e81f496c64036318c75e  root/udp_server
/var/lib/dpkg/info/makerbase-client.list:/root/udp_server
Binary file /var/lib/selinux/default/active/policy.linked matches
Binary file /var/lib/selinux/default/active/policy.kern matches

Services

Sources of Makerbase services

  • The files below have been collected (and repackaged) from the original Sovol KlipperScreen images
  • The MS1987/SOVOLMKDEB repository seem to be the source of the original packages
    (thanks to nubecoder for investigation)

makerbase-auto-fresh.service

  • Installs system updates
  • Files: makerbase-auto-fresh-files
  • Unofficial package: makerbase-auto-fresh-service.deb
  • Details:
    • if existing: install /root/system_deb/*.deb and reboot
    • if existing: install /root/bootsplash.armbian and reboot
    • if USB drive found:
      • ensure running automounter (mounts to ./printer_data/gcodes/USB)
      • move armbian-update.deb from automount to /home/mks, then install and reboot
  • Depends on makerbase-automount@.service
  • Might become useful once there is an unbricking-package like Sovol's armbian-update.deb

makerbase-beep.service

  • Beeps if touchscreen is touched
  • Files: makerbase-beep-files
  • Unofficial package: makerbase-beep-service.deb
  • Details:
    • initializes GPIO#82 (beeper pin)
    • reads events from touchscreen (with vendor_product_id=*1a86*e5e3*)
    • beeps if touch-button got pressed
  • Useful

makerbase-byid.service

makerbase-net-mods.service

makerbase-soft-shutdown.service

  • looks disabled
  • does something with the "supper" capacitor
  • Files: makerbase-soft-shutdown-files
  • Unofficial package: makerbase-soft-shutdown-service.deb
  • Unsure, if it is useful:
    It writes "0" to gpio100 at boot time (whatever that does) and then syncs the filesystem every 2 seconds. The syncing might be of some use, if the device is not shut down before cutting the power.

makerbase-timezone-monitor.service

makerbase-wlan0.service


power loss recovery (plr)


Reverting

power loss recovery (plr)

  1. Make a backup of printer.cfg!
  2. Edit printer.cfg, find and remove the 3 paragraphs shown below.
  3. Test the new config: Do a normal print with normal end. And then cancel a print.
  4. If there are errors, revert to your backed-up printer.cfg
  5. If everything is fine, log in via ssh/putty and remove the unused files: "rm ~/plr.sh ~/clear_plr.sh ~/printer_data/config/plr.cfg"

#1: Somewhere at the beginning:

[include plr.cfg]

#2: At the start of "[gcode_macro CANCEL_PRINT]", after "gcode:":

    SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
    RUN_SHELL_COMMAND CMD=clear_plr
    clear_last_file
    G31

#3: Before the "SAVE_CONFIG" section:

[gcode_macro PRINT_START]
gcode:
    SAVE_VARIABLE VARIABLE=was_interrupted VALUE=True
[gcode_macro PRINT_END]
gcode:
    SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False
    RUN_SHELL_COMMAND CMD=clear_plr
    clear_last_file