What's new
VORON Design

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members!

How to configure Klipper on Octopus using CAN_bridge_mode

DanPin

Active member
My Configuration: BTT Pi, Octopus v1.1, EBB2240

I got Klipper loaded and working with the MCU path using serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_050038001350535556323420-if00.
Then I wanted to reconfigure Klipper on Octopus to enable the CAN port so I could talk to the EBB2240.
When I did menuconfig I set communication for CAN_BRIDGE. Which seems to work because I can see the CAN bus when lsusb.

HOWEVER, the /dev/serial directory is gone and I can't talk to the octopus board any more over USB (Fluidd won't connect)
Seems like I need: serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_050038001350535556323420-if00
in addition to parameters for CAN.

I am not understanding how to enable the CAN adapter on Octopus.

Any explanation would be very helpful
 
I believe you need to address it as if it's a CAN device, not a serial one. CAN_BRIDGE makes it put up a CAN interface with the MCU being a node on the bus, though only virtually as CAN frames for it do not show up on the actual CAN network.

 
I need to read that doc a couple of time....
Still confused because:
printer.cfg=
[mcu]
## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify
##--------------------------------------------------------------------
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_050038001350535556323420-if00
#canbus_uuid=43f06262c86
restart_method: command

IF I swap to canbus_uuid, how do I use Katapult ( for the -d option)
python3 ~/katapult/scripts/flashtool.py -f ~/klipper/out/klipper.bin -d WHAT_DEVICE

Dan
 
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_050038001350535556323420-if00
#canbus_uuid=43f06262c86
Seems very wrong that you have the serial line enabled, and the canbus_uuid line commented out, if the board is really configured in can-bridge mode.

As for "WHAT_DEVICE" well...each device has a uuid. Give flashtool the uuid of the device you are actively trying to flash! (I assume the toolhead board)
 
With what several very kind forum members (including shiftingtech) have explained, I believe I need to do the following.:
For flashing Klipper to each MCU, I need to specify the comm's method for "that particular MCU" in menuconfig
So Octopus is serial and EBB tool head is CAN-bus.
Then in the config file there is a section for each MCU.

Bottom line, if I flash Klipper to the Octopus with CAN comms, the Pi can't talk to it
 
As said before, CAN bridge means it's no longer a serial device, but a CAN one. Once flashed to a firmware running as CANBus bridge, you need to configure it as if it's a CAN Bus device as it no longer emulating a USB serial port but a CAN interface now. You can still see the USB connection with lsusb, assuming you have it connected with USB. ls -l /dev/serial/by-id/ only shows serial ports, not USB devices.
 
There's a distinction here between flashing the octopus as a CAN device, and as a CAN-BRIDGE device. In the latter case, klipper can talk to it, however it will be using a canbus uuid to do so, not a serial id. (Despite the physical link still being usb. Can-bridge is just the weird exception to every rule you come up with, basically)
 
OK, I understand what you are saying,,,,but it really seems strange.
Based on your post, if the Octopus is in "CAN-Bridge" mode, and my EBB is connected to Octopus as a CAN device, everything coming over the USB-C from the Pi will be using a CAN_UUID for BOTH the Octopus and the EBB.

I will be working on this today and will try it.

Thanks,
Dan
 
Last edited:
Got the basics working....went with a BTT U2C adapter for overall simplicity...thanks for all the help...it was a good education.
 
OK, I understand what you are saying,,,,but it really seems strange.
Based on your post, if the Octopus is in "CAN-Bridge" mode, and my EBB is connected to Octopus as a CAN device, everything coming over the USB-C from the Pi will be using a CAN_UUID for BOTH the Octopus and the EBB.

I will be working on this today and will try it.

Thanks,
Dan
well, there would be one CAN UUID for the octopus, and a different one for the EBB. but yes, basically.
 
Top