Modifications by Sovol / Makerbase

Contents:


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 for his 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”)
  • fluidd: git information removed?
  • mainsail: git information removed?

  • added power loss recovery (plr)
    • see https://github.com/The–Captain/plr-klipper
    • ~/plr.sh modified? old version?: G31 (called from CANCEL_PRINT) calls ~/clear_plr.sh
  • Kernel:
    • (unsure, if changed - but not working for all later kernels -> spi-dev missing)
      • “/boot/dtb/rockchip/overlay/rockchip-fixup.scr”
      • “/boot/dtb/rockchip/rk3328-roc-cc.dtb”
      • see https://irq5.io/2018/07/24/boot-time-device-tree-overlays-with-u-boot/
      • see https://github.com/redrathnure/armbian-mkspi
    • Serial console (u-boot messages): 1500000,8,n,1
  • 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
    • unknown binary, source code missing
    • probably precompiled klipper/lib/hidflash
    • references:
      /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
      
  • uart
    • unknown binary, source code missing
    • references:
      (tons of references found -> left out)
      /var/lib/dpkg/info/makerbase-client.list:/root/uart
      
  • udp_server
    • unknown binary, source code missing
    • 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

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-automount@.service

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
 

Back to start