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.

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