#MCU Protocol error
280 messages · Page 1 of 1 (latest)
the message pretty much covers it
"this is frequently caused by running an older version of the firmware on the mcu(s)"
and that's consistent with the version numbers seen in the second paragraph.
I'm trying to flash the mcu on the printer. it's been a while since i'm using machine. forgot all the thing
alright, what mcu?
Sorry, not enough info. I'm using:
BIGTREETECH Octopus Pro V1.1
BIGTREETECH Pi V1.2
EBB SB2240 2209 CAN v1.0
please help
is the octopus pro your can interface? or is there a separate utoc or something?
@pine berry
yes
which
the CANBUS
what
I'm asking what provides the canbus interface
it might be the octopus
it might be some other device
the octopus
llol sorry didn't get your question,
go here
it takes you through updating both boards
for the main board, you'll want to choose the "can-bridge mainboard" path
ping me if you get stuck
ok. my option is Can-bridge
thanks. i'll try now
@earnest geode sorry question: yourmainboarduuid which is:
[mcu]
canbus_uuid: 4bf36eac87e5
[mcu EBBCan]
canbus_uuid: e8c320837692
it's in my printer.cfg
ok. thanks
it's been a year since i touch the printer. I may forgot most of the stuffs
ERROR:root:Flash Error
Traceback (most recent call last):
File "/home/biqu/katapult/scripts/flashtool.py", line 629, in main
loop.run_until_complete(sock.run(args.device, args.baud, fpath))
File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
return future.result()
File "/home/biqu/katapult/scripts/flashtool.py", line 530, in run
raise FlashCanError("Invalid firmware path '%s'" % (fw_path))
FlashCanError: Invalid firmware
obviously its too late now, but I'd second guess yourself a bit on your first move being updates: if you look over the klipper changes in the last year or so, you really won't find much that's actually beneficial to your existing (presumably functional) printer....
I ran python3 ~/katapult/scripts/flashtool.py -f ~/klipper/out/klipper.bin -d /dev/serial/by-id/usb-katapult_stm32f446xx_1A001F000D50535556323420-if00
and it gives Flash Erro
go back a step
can you show me what happened when you built the firmware?
(the make step in the klipper folder)
here is what i did:
Last login: Sun May 4 21:39:21 2025 from 192.168.1.100
biqu@BTT-CB1:~$ cd ~/klipper
biqu@BTT-CB1:~/klipper$ make menuconfig
Loaded configuration '/home/biqu/klipper/.config'
Configuration saved to '/home/biqu/klipper/.config'
biqu@BTT-CB1:~/klipper$ sudo service klipper stop
biqu@BTT-CB1:~/klipper$ python3 ~/katapult/scripts/flashtool.py -i can0 -r -u 4bf36eac87e5
Sending bootloader jump command...
Bootloader request command sent
Flash Success
biqu@BTT-CB1:~/klipper$ ls /dev/serial/by-id/*
/dev/serial/by-id/usb-katapult_stm32f446xx_1A001F000D50535556323420-if00
you skipped a step
oh?
should be able to just do cd ~/klipper, then make
and assuming it builds okay, resume from there
thank you
oh, I guess the octopus ended up in katapult mode, so you might have to either reset it, or use a different flashing command
make flash FLASH_DEVICE=/dev/serial/by-id/usb-katapult_stm32f446xx_1A001F000D50535556323420-if00 would probably work
i'll try
Attempting to connect to bootloader
CanBoot Connected
Protocol Version: 1.0.0
Block Size: 64 bytes
Application Start: 0x8008000
MCU type: stm32f446xx
Flashing '/home/biqu/klipper/out/klipper.bin'...
[##################################################]
Write complete: 3 pages
Verifying (block count = 544)...
[##################################################]
Verification Complete: SHA = 4B149696AA788F428DAB610C5A9AC32218A7C979
CAN Flash Success
is it done?
last command is sudo service klipper start
Firmware restart didn't work.
can you show me what settings you used for menuconfig?
it's BigTreeTech Octopus Pro v1.1 and I can't remember what model
here is my setting menuconfig
well you need to identify what it actually is, not just guess
since when it was in katapult mode, it showed up as "/dev/serial/by-id/usb-katapult_stm32f446xx_1A001F000D50535556323420-if00", I think it's a stm32f446
@pine berry wait, before you go do that 😛
(though you're probably going to have to open the printer now anyway: you're gonna need to get at the reset button now)
should I try with STM32f446 now?
yes
but you're going to get stuck when you go to actually flash it
a double tap of the reset button should put it back into katapult
what reset button?
by the usb port on the octopus
on
ok. now double tap done. gonna re-do the whole thing again. BRB
you're right the model is STM32F446ZET6
@earnest geodeI tried and didn't work. the error is gone. but the blue screen still there. What did I do wrong?
I mean, did you confirm that it was returning a UUID before trying to start klipper?
did it even flash successfully?
I need to see more of what you did before I can really comment much
all I see right now is klipper not communicating with something for some reason ...
python3 ~/katapult/scripts/flashtool.py -i can0 -r -u yourmainboarduuid
Didn't work flash
when i do that
of course not
python3 ~/katapult/scripts/flashtool.py -i can0 -r -u 4bf36eac87e5
this is my uuid
right, but you need a working board, in klipper before it has a uuid
since you went and flashed it with an incorrect firmware, that's no longer a thing you have
oh wow. i need a new uuid?
ok please help me
its in katapult right now (hopefully)
from us hitting the reset earlier
which means it should have an id in /dev/serial/by-id
which means you SHOULD be able to flash it with the make flash command, same as last time
but you should check that it's actually there
ii'm gonna try again
well start by just doing ls /dev/serial/by-id and make sure it's actually there
well you gotta get it showing up before you can do anything
double tap reset again?
and? is it there now?
okay, good
so now you should be able to flash it with the make flash FLASH_DEVICE... from before
no need to make menuconfig again?
once you build the firmware with one set of settings, it should stay there until you overrwrite it with something else
so do this: make flash FLASH_DEVICE=/dev/serial/by-id/usb-katapult_stm32f446xx_1A001F000D50535556323420-if00
?
yes
are you still in the klipper directory?
no
all of this should be done from there
alright, that's promising
could probably try restarting klipper now, see what it has to say
i see that blue screen again.
Klipper reports: STARTUP
Printer is not ready
The klippy host software is attempting to connect. Please
retry in a few moments.
alright, what is lsusb showing right now?
08 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
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 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 046d:082d Logitech, Inc. HD Pro Webcam C920
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
not seeing my CANBUS
better take me back through this then
you did actually build the firmware for the 446 version, right? (at some point in the proceedings?)
can you show me?
make menuconfig, etc
hmmm
are you sure those are all the settings you were given in esoterical's guide?
take your time. go through it all, line by line
yes. i'm pretty sure i did the same on the guide
really?
here are the settings for a 446 board, from esotericals guide
I see at least 2 that are completely different in your screenshot, vs this image from the guide
i can't see that where on the guide
thanks. i didn't see that
oh i choose the PRO. thats why
ok thanks
let me try again. thanks
hi,
sudo service klipper stop
then I can't do
ls /dev/serial/by-id/*
so you need to double tap reset again
every time you flash a garbage firmware, its going to try to return to normal operation. but of course, it'll fail, because garbage firmware
so each time, you need to force it back into katapult, via the double tap reset method
ok. i gotta go eat. i'll try this other time. thanks again.
@earnest geode
I finally success updated the mcu firmware, but still I still need update my EBBCan. Here is the error.
Which guide should I follow. TIA
Following this guide? https://canbus.esoterical.online/toolhead_flashing.html
That looks like the first time flashing page
start back at https://canbus.esoterical.online/Updating.html, and look for information on updating toolhead boards
ok. i'm working on it.
I have BigTreeTech SB2209 and SB2240. how do I reset the board? double tap the reset button?
i have to put in DFU mode
...why do you need to do that?
@pine berry That sounds like first time flashing stuff
not updating
what are you looking at exactly?
https://canbus.esoterical.online/toolhead_klipper_updating.html i'm looking at this
right?
that's the right page
but I don't think anything on that page makes any mention of putting the board into dfu mode
i meant the reset button
"i have to put in DFU mode"
you said that
word for word
I need to understand why you think you need to put the board into dfu mode
because either you're badly off course, or something has gone very wrong
and I need to understand which
don't get me wrong, I intend to help you either way, but I need to understand wtf is going on
broadly speaking, with a canbus toolhead board, the only time you need it to be in dfu mode (which is a USB flashing channel, not canbus), is when you use it to get katapult on there in the first place
once you've done that (which you presumably did way back whenever you first built this) dfu should never enter the equation again
i thought reset is dfu mode. thats all
okay, but I also don't understand why you think you need to reset the board
it was a working board, right? its firmware is just out of date
ya
so you should be able to follow the instructions under
If you already have a functioning CAN setup, and your [mcu toolhead] canbus_uuid is in your printer.cfg, then you can force Katapult to reboot into Katapult mode by running:
which is all software. no messing around with hardware buttons involved
we only went down rabbit holes of reset buttons with the mainboard because of flashing it with the wrong firmware the first time
ok. thanks for clear things out
Is the silence a sign of success?
@earnest geodeStill having issuse updating the toolhead CANBUS.
i'm not sure my BigTreeTech SB2209 and SB2240 menucofig is correct or not. Here is screenshot:
Check your communication interface
A guide for setting up CANBus hardware on 3D printers
thanks. I think i have to check where the cable connected. I forgot. Let me open the printer.
and sorry I got tired last night, passed out.
Oh, no need to crack the printer
I just mean, check what you have that set to
We know it's running canbus
And from esoterical's, we know what port that means it's using
But you have it set to some usb port 😛
that's what i don't remember which port is one.
( ) CAN bus (on PA11/PA12)
( ) CAN bus (on PA11/PB9)
( ) CAN bus (on PB8/PB9)
( ) CAN bus (on PB12/PB13)
(X) CAN bus (on PD0/PD1)
( ) CAN bus (on PB0/PB1)
( ) CAN bus (on PD12/PD13)
( ) CAN bus (on PC2/PC3)
i tried CAN bus (on PB0/PB1) but didn't work either
Doesn't make it wrong
What happened when you tried to flash, with the canbus setting?
Can you show me the building and flashing steps?
Yes
i did make menucofig
Sure, and then?
using same setting as the image on https://canbus.esoterical.online/toolhead_flashing/common_hardware/BigTreeTech SB2209 and SB2240/README.html klipper config
A guide for setting up CANBus hardware on 3D printers
then I do: python3 ~/katapult/scripts/flashtool.py -i can0 -r -u e8c320837692
Okay, but you're skipping steps!
it didn't said Flash success
Important ones!
oh ya sorry
make clean
make
ok I did "make" now do? python3 ~/katapult/scripts/flashtool.py -i can0 -r -u e8c320837692
here is what i got:
b'V24 '
Connecting to CAN UUID e8c320837692 on interface can0
Sending bootloader jump command...
Bootloader Request C
Complete
Okay, that's probably fine. Flash complete on the reset command was always basically a bug
I'm guessing it just got fixed at some point
So then what?
python3 ~/katapult/scripts/flashtool.py -q
I got:
Resetting all bootloader node IDs...
Checking for Katapult nodes...
CANBus UUID Query Complete
didn't see the uuid
Hmm. So it didn't show up in katapult at all...
Is the status led on the toolhead board flashing?
Well, might be time to try a double tap on the reset button after all
ok i did : python3 ~/katapult/scripts/flashtool.py -q
got respond:
Resetting all bootloader node IDs...
Checking for Katapult nodes...
Detected UUID: e8c320837692, Application: Katapult
CANBus UUID Query Complete
python3 ~/katapult/scripts/flashtool.py -i can0 -f ~/klipper/out/klipper.bin -u e8c320837692
I got respond:
b'V24 '
Connecting to CAN UUID e8c320837692 on interface can0
Sending bootloader jump command...
Resetting all bootloader node IDs...
Detected Klipper binary version v0.13.0-78-g1cc639807, MCU: stm32g0b1xx
Attempting to connect to bootloader
Katapult Connected
Software Version: ?
Protocol Version: 1.0.0
Block Size: 64 bytes
Application Start: 0x8002000
MCU type: stm32g0b1xx
Verifying canbus connection
Flashing '/home/biqu/klipper/out/klipper.bin'...
[##################################################]
Write complete: 16 pages
Verifying (block count = 496)...
[##################################################]
Verification Complete: SHA = 0D7E7D4621EFEA3FE9CFFD1986E6E5A5AD186BAE
Programming Complete
and I ran:
python3 ~/katapult/scripts/flashtool.py -i can0 -q
Resetting all bootloader node IDs...
Checking for Katapult nodes...
CANBus UUID Query Complete
still dont detect the uuid:
Silly question, is klipper still running?
That all looks sane...
right.
You did do a fresh make clean & make after changing it back to canbus, right?
It's not a bad idea to step through again, and see if anything different happens.
But no, I wasn't hinting at that
I just wanted to confirm nothing had gotten missed while we were jumping around
ok let me redo the whole thing again from step 1
ya. still error. Didn't detect the uuid when I do: python3 ~/katapult/scripts/flashtool.py -i can0 -q
in step 4
do i need to do DFU mode?
Double clicking the reset button is to put it into katapult, not dfu
But yes, you'll need to do that
Follow the process. Flash the board
See if it somehow behaves better this time