Sidewinder X4 Plus upgraded MCU, I think

Basic Information:

Printer Model: Artillery Sidewinder X4 Plus
MCU / Printerboard: STM32F401
Host / SBC: MKS SKIPR custom
klippy.log

I think to had success in update MCU’s firmware of an X4 Plus but I saw a strange behaviour. I got errors from dfu-util, but I think the MCU got flashed and updated to last Klipper firmware because Mainsail tells me this:

mcu (stm32f401xc)
Version: v0.12.0-405-g8a3d2afd7
Awake: 0.00, Freq: 84 MHz,

Host(aarch64, 64bit)
Version: v0.12.0-405-g8a3d2afd7-dirtyOS:
Armbian-unofficial 25.02.0-trunk noble
Distro: armbian

Remember that to flash the MCU is a bit tricky, you have to short the BOOT labeled contacts that are without a button, and keeping them shorted press the H-RST button release H-RST and after BOOT.

Re-connect via SSH because pressing H-RST closes connection and give the last command after make menuconfig && make.

Pressing the buttons the MCU goes in DFU mode and changes USB ID

from 1d50:614e OpenMoko, Inc. stm32f401xc

to 0483:df11 STMicroelectronics STM Device in DFU Mode

Here the bunch of messages with a succes but a final error.

mks@artillery:~/klipper$ sudo make flash FLASH_DEVICE=0483:df11

[sudo] password for mks:

Flashing out/klipper.bin to 0483:df11

sudo dfu-util -d ,0483:df11 -R -a 0 -s 0x8000000:leave -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

Opening DFU capable USB device...

Device ID 0483:df11

Device DFU version 011a

Claiming USB DFU Interface...

Setting Alternate Interface #0 ...

Determining device status...

DFU state(10) = dfuERROR, status(10) = Device's firmware is corrupt. It cannot return to run-time (non-DFU) operations

Clearing status

Determining device status...

DFU state(2) = dfuIDLE, status(0) = No error condition is present

DFU mode device DFU version 011a

Device returned transfer size 2048

DfuSe interface name: "Internal Flash "

Downloading element to address = 0x08000000, size = 37152

Erase [=========================] 100% 37152 bytes

Erase done.

Download [=========================] 100% 37152 bytes

Download done.

File downloaded successfully

Submitting leave request...

Transitioning to dfuMANIFEST state

dfu-util: can't detach

Resetting USB to switch back to Run-Time mode

Failed to flash to 0483:df11: Error running dfu-util

If the device is already in bootloader mode it can be flashed with the

following command:

make flash FLASH_DEVICE=0483:df11

OR

make flash FLASH_DEVICE=1209:beba

If attempting to flash via 3.3V serial, then use:

make serialflash FLASH_DEVICE=0483:df11

make: *** [src/stm32/Makefile:111: flash] Error 255

Hello @Mechano !

Please attach the requested klippy.log to your next post.

klippy.log (2.7 MB)

Here it is.