Klipper and 2x same mcu/serial ID

Basic Information:

Printer Model: DIY
MCU / Printerboard:BTT SKR MIni E3 V3 and BTT EBB36 V1.2
Host / SBC Raspberry Pi3 with Debian Bullseye
klippy.log

Fill out above information and in all cases attach your klippy.log file (use zip to compress it, if too big). Pasting your printer.cfg is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there

Describe your issue:

Hi!!

I really couldn’t think of a better title, but I’ll describe what I discovered was my problem after a long time of trying…

Maybe someone knows better and/or has had similar problems before.

I’m currently trying to put a BTT SKR Mini E3 V3 board with STM32G0B1 MCU as the “main board” and also a BTT EBB36 as a tool headboard WITH EXACTLY THE SAME MCU and a Raspberry Pi3 with Raspbery Pi Os (Debian Bullseye lite) into operation. Both boards have been successfully flashed and each is recognized individually on the Pi

But no matter what I do in combination with both on the Pi, ls /dev/serial/by-id/* only shows me one connection.

If I only connect one board at a time and look at the USB ID (ls /dev/serial/by-id/*), they are exactly the same.

The problem seems to be that Klipper or the Pi cannot tell the two MCUs apart when both are connected at the same time because the ID is exactly the same.

A test of the EBB36 board on a printer with a different MCU (STM3210X) confirmed my assumption because the EBB36 is recognized immediately and two different USB IDs are shown to me. The connection with Klipper worked straight away after I entered the serial path in the printer.cfg. I also now know that everything is okay with the EBB36 itself and that my problems lie somewhere else.

What do I do now in that case? Can Klipper basically not do this combination or is there a workaround for it?

Somehow I can’t imagine that I’m the first with this problem, but I only found this Reddit post via Google, which somehow doesn’t help me. This goes far beyond my Linux knowledge and is based on information that I simply don’t have.

https://www.reddit.com/r/klippers/comments/qunpms/using_two_mcu_boards_that_are_the_same/
klippy.log (117.9 KB)

Try

ls /dev/serial/by-path/*

Tried.
Still only one connection shown

I’d reflash the EBB36 and under the USB ids —>

Uncheck USB Serial Number from CHIPID and then give it a different device ID.
You can leave the Vendor ID alone.

This should differentiate the two.

That looks promissing!
What USB device ID should i choose? is 0x614f okay for example?
What about USB Serial Number? 12345 is set there

I don’t honestly believe it matters, I’d keep it simple.

0x614f should work.

Allright, thanks!
And i don’t have to Care about the serial number right?

Oh I made a mistake in my comment, I was reading “device serial number” as device id. You can leave that checked. You just need a different device ID.

If ls /dev/serial/by-path/* only shows one device something else is wrong.
check your kernel log by sudo dmesg -W and then plug the E3mini in, watch log and then the ebb36 + watch log

Changing the USB ID to ld50:614f in make manuconfig and reflashing the ebb36 did it for me :slight_smile :slight_smile:

ls /dev/serial/by-id after reflashing the ebb
byid

Now i`m able to connect to both MCU

Thank you leading me in that direction :slight_smile:

1 Like