Bricked Mainboard After Flashing Firmware?

Tried to mainline my Max. Got everything done ok until came time to flash the mainboard MCU. I believe I did NOT use the correct board parameters when creating the bin file. The flash succeeded but upon reboot got MCU error. LSUSB shows no STM32H750 and I have lost can0. And obviously klipper will not launch.

Is there a way to perform an out-of-band mainboard firmware upgrade?

Thanks in advance.

If your MCU flash didn’t break the bootloader then you should be able to edit the Sovol script at:
home/sovol/printer_data/build/mcu_update_fw.sh

It can be found here:

If that won’t work you’ll need a STlink and flash GitHub - Arksine/katapult: Configurable bootloader for Klipper · GitHub

Thanks for this. There is no mcu_klipper.bin in that folder, assume that is the lynchpin for this? Just a renamed klipper.bin file?

I flashed an EMMC card back to the latest published image. Do you know where I can get the mcu_klipper.bin firmware file for this?

You are my hero if this works!

Thanks!

OK so you’re still my hero but that didn’t work:

Get into bootloader …
Flashing CAN UUID 0d1445047cdd on interface can0
ERROR:root:Flash Error
Traceback (most recent call last):
File “/home/sovol/printer_data/build/flash_can.py”, line 481, in run
self.cansock.bind((intf,))
OSError: [Errno 19] No such device

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/sovol/printer_data/build/flash_can.py”, line 661, in main
await sock.run(intf, uuid, fpath, req_only)
File “/home/sovol/printer_data/build/flash_can.py”, line 483, in run
raise FlashError(“Unable to bind socket to can0”)
FlashError: Unable to bind socket to can0
./printer_data/build/mcu_update_fw.sh: line 28: kill: (31338) - No such process
ls: cannot access ‘/dev/serial/by-id/*’: No such file or directory
Failed to detect bootloader id! Exiting…

Think it’s the dreaded Error 19 (or Errno 19?) that is my issue here.

I don’t have a Max so I cant verify. But if you drill into the restore image on the wiki you’ll find a side branch in the FS:

\home\sovol\zhongchuang\MKSDEB\root\

It contains klipper.bin and a different script to flash it. Here are the files

Max Bin.zip (22.5 KB)

Hello,
In the worst-case scenario, if your product is still under warranty, you can send an email to info@sovol3d.com, including your order number, to request a new motherboard.
BR

OK so you’re still my hero but that didn’t work:

Get into bootloader …
Flashing CAN UUID 0d1445047cdd on interface can0
ERROR:root:Flash Error
Traceback (most recent call last):
File “/home/sovol/printer_data/build/flash_can.py”, line 481, in run
self.cansock.bind((intf,))
OSError: [Errno 19] No such device

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/sovol/printer_data/build/flash_can.py”, line 661, in main
await sock.run(intf, uuid, fpath, req_only)
File “/home/sovol/printer_data/build/flash_can.py”, line 483, in run
raise FlashError(“Unable to bind socket to can0”)
FlashError: Unable to bind socket to can0
./printer_data/build/mcu_update_fw.sh: line 28: kill: (31338) - No such process
ls: cannot access ‘/dev/serial/by-id/*’: No such file or directory
Failed to detect bootloader id! Exiting…

Think it’s the dreaded Error 19 (or Errno 19?) that is my issue here.

Thanks. I did come across that file but wasn’t sure what it was for.

Will give this a shot!

Cardoc- do you have any idea how that script is supposed to be run? If I try and launch it from that location I just get a “no firmware”.

Not a “scripter”, but looks like maybe meant to run through external drive or something?

Thanks

The script needs to be launched from:

\home\sovol\zhongchuang\MKSDEB\

with ./root/mcu_update.sh

The script checks for klipper.bin using a relative path and won’t find it if launched anywhere else.

still says no firmare:

sovol@SPI-XI:~/zhongchuang/MKSDEB$ ./root/mcu_update.sh
no firmware
sovol@SPI-XI:~/zhongchuang/MKSDEB$

The Sovol script is a one shot deal as it MOVES klipper.bin not copies it. After the first run there is no longer a klipper/bin in the /root folder.

Here is a revised script that should work. Use WinSCP to insert it into \home\sovol\zhongchuang\MKSDEB\
mcu_update2.sh (1.1 KB)

You SHOULD be able to update the bootloader to Katapult. That would allow you to easily update klipper firmware using KIAUH. I’ve never done this so proceed at your own risk.

Refer to:

for more information.

My good friends from Sovol Support sent me over something to try. Will give it a shot when I get home.

Let you know.

Thanks to my good friends at Sovol I am back up and running. Since there was no can0 (Errno 19) they sent me the hex files to install with the STLink. The process was not as hard as I thought.

Thanks Sovol!