Klipper on a sovol SV04: MCU unable to connect

Basic Information:

Printer Model: Sovol SV04
MCU / Printerboard:
`klippy.log
klippy (3).log (293.1 KB)

Fill out above information and in all cases attach your klippy.log file (use zip to compress it, if too big). Pasting your printer.cfg is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there

Describe your issue:

Hi,

I’ve been trying to get klipper to work with my sovol SV04 printer for a few days now, but I keep running into the ‘MCU can’t connect’ issue. When I reload mainsail, it says moonraker can’t connect to klipper, and suggests to check to see if klipper and moonraker are running, and if the klippy_uds_address in the moonraker.conf file is correct. After doing all the suggested checks, everything seems fine, and I’m not sure where to go from here.

I am using the kiauh installation process, and the sovol sv04 specific source files from the following repo: (GitHub - Bully85/Sovol-SV04-Klipper: All Config for the SV04 to work with Klipper Mirror and Copy (include images and description)).

Your log say that serial device don’t exist.

try to follow usual klipper guides about setting up serial device.
here is peace of it from here : Installation - Klipper documentation

First, it is necessary to determine the serial port connected to the micro-controller. Run the following:

ls /dev/serial/by-id/*

It should report something similar to the following:

/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0

It’s common for each printer to have its own unique serial port name. This unique name will be used when flashing the micro-controller. It’s possible there may be multiple lines in the above output - if so, choose the line corresponding to the micro-controller (see the FAQ for more information).

this is the serial address I get from the command: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

I set the mcu architecture in ‘make menuconfig’ to stm, as that’s what it suggests in the setup I’m using (github.com/bully-85).

when I run the ‘make flash’ command, I get the following:

Building hid-flash
gcc -c -Wall -std=gnu99 -I . pkg-config libusb-1.0 --cflags main.c -o main.o
gcc -c -Wall -std=gnu99 -I . pkg-config libusb-1.0 --cflags hid-libusb.c -o hid-libusb.o
gcc -c -Wall -std=gnu99 -I . pkg-config libusb-1.0 --cflags rs232.c -o rs232.o
gcc -no-pie main.o hid-libusb.o rs232.o pkg-config libusb-1.0 --libs -lrt -lpthread -o hid-flash
Flashing out/klipper.bin to /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
Entering bootloader on /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
Device reconnect on /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2/1-1.2:1.0/ttyUSB0
sudo dfu-util -p 1-1.2 -R -a 2 -D out/klipper.bin

dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Warning: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release
dfu-util: No DFU capable USB device available

Failed to flash to /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0: Error running dfu-util

If the device is already in bootloader mode it can be flashed with the
following command:
make flash FLASH_DEVICE=1eaf:0003
OR
make flash FLASH_DEVICE=1209:beba

If attempting to flash via 3.3V serial, then use:
make serialflash FLASH_DEVICE=/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

make: *** [src/stm32/Makefile:111: flash] Error 255
wrmth@sovol3d:~/klipper $ ls /dev/serial/by-id/*
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
wrmth@sovol3d:~/klipper $

Ok, so your flashing process was not over …

Did you try what did initial make flash suggest ?
By definition it should try to use USB connection directly without Serial layer.

  1. From a quick google this printer seems to use a Creality Clone board → These cannot be flashed via make flash ... but via copying firmware.bin to the SD card
  2. There seem to be different variants with STM or GD chips → May be important during make menuconfig
  3. The Klipper sources in the above project seem modified. If you are having issues, it is recommended to revert to the authors of the modifications

It works now! The issue was indeed the flashing method. After manually booting up the firmware onto the printer, it runs smoothly. Thanks for your help gaolst and Sineos!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.