First boot Klipper error

Got the machine and enclosure all assembled, and on the first boot of the SV08 Max I get the following error:
mcu ‘mcu’: Unable to connect
Once the underlying issue is corrected, use the
“FIRMWARE_RESTART” command to reset the firmware, reload the
config, and restart the host software.
Error configuring printer

I AM able to view the machine via mainsail connected via wifi.

I did send a support ticket with my order number, but have yet to hear back.
Any Ideas on where to start?

Is that the exact error? There are 3 MCU on the Max

Last DOA on here was a bad crimp on a CAN wire at the buffer_mcu (Buffer = filament pusher near the spool holder.

[mcu] 
canbus_uuid: 0d1445047cdd

[mcu extra_mcu]
canbus_uuid: 61755fe321ac 
  
[mcu buffer_mcu]
canbus_uuid: 704fe1305bd6

Exact error…straight from the printer screen and mainsail.
So far, without success I have reset mainsail and rebooted from the mainsail screen, but am still getting this error

The main mcu shares the same circuit board as the SBC running klipper so not much chance of a loose wire. Are you comfortable with the Linux terminal VIA SSH?

Skip ahead to the section starting with the command /lsusb

Don’t flash katapult and/or firmware onto the MCUs without consulting Sovol. That guide is for generic DIY components.

You might try unplugging the buffer and the toolhead (one at a time). If CANhi and CANlow are shorted it could take down the whole bus. With the printer powered off measure the resistance from CANhi to CANlow, with the wires connected. It should be 60 Ohms

Thanks for your help…can I check anything through mainsail first…instead of linux terminal?

Go to the [Machine] tab and click on the “Devices” button (top right). I’m not sure how CAN devices show up. None of my printers use CAN

lsusb command returns this:

sovol@SPI-XI:~$ lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 32e6:9221 USB 2.0 Camera USB 2.0 Camera
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 1d50:606f OpenMoko, Inc. Geschwister Schneider CAN adapter
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I also get this on putty startup…even after rebooting the machine (if it matters:

Any other Max owners in here?

Do you get the filesystem warning if you SSH in?

@DevildogMP what does ip -s -d link show can0 show?

Yes…that’s the actual screenshot from Putty.

It appears the host system is healthy and happy as far as CAN goes. Have you gotten anything from Sovol? I’m troubled by your filesystem warning.

Did you try restarting the machine with the buffer unplugged then the toolhead?

Does unplugging one or the other change the Klipper error?

Buffer Unplugged:

Toolhead Unplugged

Same file system warning in both instances in Putty

Okay then the CAN is connecting to the buffer_mcu.

As best as I can tell the next step would be to reflash the (main)mcu firmware.

There are no instructions from Sovol on how that is done for the Max (or the Zero which also runs CAN). There is a Python module in the OS image from Sovol. I can walk you through executing it in the SSH terminal window but I have NO IDEA if it would work and warn there is a 10% chance it makes the situation worse.

home/sovol/printer_data/build/mcu_update_fw.sh

#!/bin/bash

echo "Start mcu_update_fw.sh now!!!"

   # Check if python3-serial is installed
if dpkg -l | grep -q "python3-serial"; then
   echo "python3-serial installed."
else
   sudo apt-get install python3-serial -y
fi

   # Check if klipper.bin exists
if [ -f /home/sovol/printer_data/build/mcu_klipper.bin ]; then

     # Check if  flash_can.py exist
   if [ -f /home/sovol/printer_data/build/flash_can.py ]; then
      echo "Found flash_can.py"
   else
      echo "No flash_can.py found in /home/sovol/printer_data/build.Exiting..."
      exit 1
   fi

   # get into mcu bootloader
   echo "Get into bootloader ..."
   python3 ~/printer_data/build/flash_can.py -f ~/printer_data/build/mcu_klipper.bin -u 0d1445047cdd &
   check_pid=$!
   sleep 5
   kill $check_pid

   #get bootloader id
   bootloder_id=$(ls /dev/serial/by-id/* | grep "usb-katapult_stm32h750xx")

   # Check if bootloader id is detected
   if [ -z "$bootloder_id" ]; then
      echo "Failed to detect bootloader id! Exiting..."
      exit 1
   fi

   # Flash MCU firmware
   python3 ~/printer_data/build/flash_can.py -f ~/printer_data/build/mcu_klipper.bin -d "$bootloder_id"

else
    echo "No mcu_klipper.bin found in /home/sovol/build. Exiting..."
fi

It looks pretty straightforward. But I know just enough Python to be dangerous.

Well, I could try it…what do I need to do?

If you are sure…

You’ve been warned that I don’t even know anyone that has tried this.

SSH in and simply enter

./printer_data/build/mcu_update_fw.sh

Tried it…nothing caught fire or blew up….but still get the same errors

Putty

Mainsail

I have all the tools to do this…even an extra EMMC card. Bought it to upgrade my SV08 to mainline klipper, which I haven’t done yet. Would this be something to consider?

There are 2 different “systems” on your mainboard. Despite the filesystem warning the Linux install seems to be working “okay”. Flashing the EMMC will reset the Linux install but will do nothing for the MCU side. The MCU runs Klipper from internal memory (that you just tried to update).

I’m curious to see if flashing the EMMC clears the filesystem warning BUT I’m extremely doubtful it’ll solve your CAN issue.

So replacing the image file won’t help?