Canboard 2 firmwares?

Basic Information:

Printer Model: Vcore 3.1
MCU / Printerboard:octopus peo + ebb42
klippy.log

Fill out above information and in all cases attach your klippy.log file. Pasting your printer.cfg is not needed
Be sure to check our Knowledge Base and in particular this and this post

Describe your issue:

Hi,

Yesterday @Napcal opened my eyes… He explained that the Canboard (Ebb42) has 2 firmwares, the Canbus and the Klipper. I suppose, correct me if I’m wrong, that the Canbus Firmware, controls the way in which the Ebb42 connects with its hist and it is the Klipper firmware that controls how it connects to the components of the printer … They are assumptions… Are they true?

Now it makes sense what I have seen in some guides to install an alternative firmware, such as Candelight, which allows updating by Can… Even if that firmware is installed, you will still have to install the Klipper firmware. Correct

I am trying to assimilate the shock of this revelation

CanBoot is a bootloader that helps to install firmware like Klipper without the need of having to plug in a USB cable and trigger DFU mode on a board.

You can install Klipper firmware without CanBoot, but to update Klipper will require connecting a USB cable and enabling DFU mode, requiring accessing the board.

Candlelight is not Klipper firmware but the firmware for version 1 U2C (USB to CAN bus adapter); note BTT has a custom version of candlelight for their version 2 U2C.

Problems…

when flash by USB CANBOT, all ok

but when try to flash KLIPPER, start to flash but at 25% aprox stops and gives me an error that understand… what is saying me?

What can cause this error?

python3 ~/CanBoot/scripts/flash_can.py -u fdfd11621c6d

Sending bootloader jump command...
Resetting all bootloader node IDs...
Checking for canboot nodes...
Detected UUID: fdfd11621c6d, Application: CanBoot
Attempting to connect to bootloader
CanBoot Connected
Protocol Version: 1.0.0
Block Size: 64 bytes
Application Start: 0x8002000
MCU type: stm32g0b1xx
Verifying canbus connection
Flashing '/home/pi/klipper/out/klipper.bin'...

[#####ERROR:root:Can Flash Error
Traceback (most recent call last):
  File "/home/pi/CanBoot/scripts/flash_can.py", line 483, in run
    await flasher.send_file()
  File "/home/pi/CanBoot/scripts/flash_can.py", line 214, in send_file
    resp = await self.send_command('SEND_BLOCK', prefix + buf)
  File "/home/pi/CanBoot/scripts/flash_can.py", line 193, in send_command
    raise FlashCanError("Error sending command [%s] to Can Device"
FlashCanError: Error sending command [SEND_BLOCK] to Can Device

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/CanBoot/scripts/flash_can.py", line 628, in main
    loop.run_until_complete(sock.run(intf, uuid, fpath, req_only))
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/home/pi/CanBoot/scripts/flash_can.py", line 489, in run
    await flasher.finish()
  File "/home/pi/CanBoot/scripts/flash_can.py", line 272, in finish
    await self.send_command("COMPLETE")
  File "/home/pi/CanBoot/scripts/flash_can.py", line 193, in send_command
    raise FlashCanError("Error sending command [%s] to Can Device"
FlashCanError: Error sending command [COMPLETE] to Can Device

If you are using a U2C V2 (G0B1) then it needs the latest firmware.

Let me know if you need it.

Mmm

I cant remember… Later see.

But

But you could avoid this terror, if you flashed klipper from the pc, with stm32. No?

That new firmware, does not affect the operation once klipper installed on the Canboard (Ebb42) because I currently have one working fine

EDIT, its U2C v2… I have see in Aliexpress

After reading the links a bit…

I deduce that a system can be flashing klipper on the Ebb42 using Stm32…

And forget about flashing klipper by Canbus with the U2C

Ok?

If you looked through, there is an updated firmware for the U2C V2 (G0B1) that fixes that issue only caused by the stock firmware for the U2C V2.

This is only caused by the U2C V2 (G0B1) with stock firmware, no other devices.

You don’t need a U2C to use CanBoot.

If you have one of the BTT mainboards with on-board CAN bus like the Octopus, Manta M8P v1.1, Manta M5P, Manta M4P, SKR3, SKR3 EZ, etc… then you can use the Klipper CAN bus bridge instead of a U2C or CAN hat.

i cant see the updated firmware… can you pass me the link?

thx

1 Like

Thx @NAPCAL, flash new firmware in U2C v2, solved the issues.

When I flashed the new firmware, I was able to follow all the steps of the document you passed to me…

1 Like