Problem flashing multiple printers from one SBC; can't recognize mcu (unable to connect)

Basic Information:

Printer Model: 2022 Ender S1
MCU / Printerboard: Creality v2.4.S1 (similar to v4.2.2 board)
Host / SBC: Raspberry Pi 3b
klippy.log:
supermax-enders1-klippy.log (190.5 KB)

Describe your issue:


[context; I’ve have Klipper running on one single Ender S1 (SBC: raspberry pi 4) via Kiauh & connected via USB. This machine has worked great for the past year+ & continues to do so].

I am trying to set up & connect multiple printers to one SBC & am having trouble.
I have setup Klipper on a Pi 3b using Kiauh, running three (3) identical machines (Ender 3 S1 [regular size]) from one single raspberry pi connected via USB. I followed all the steps to do so (running three instances of Klipper, moonraker, etc. for each machine). I can confirm I have each separate folders for each machine on the pi (EnderS1.1-data, Ender S1.2-data, & EnderS1.3-data), all containing the (I believe) necessary data to run all these machines.

I did the “make menuconfig” to build the firmware, and found the “klipper.bin” firmware to use & therefore flashed this onto the device(s). I have already done this over 1 year ago on a single S1 & Pi4 combo and confirm this works great. Just trying to get this to work on another pi I have with my other machines.

I’ve followed along with various YouTube videos, & especially this thread here (1: Problem with simultaneous connection of two printers - #3 by alfredcollie), which I found from the Kiauh github issues (link shared in comment below [I can only add two links per post as a new user]).

I believe I’m doing something wrong, or am missing a setup. Please view the Klipper.logs above.

I have tested by removing the line @Sineos shared here (link #1, comment #11) and nothing worked.
I also changed the “/dev/by-id” over to “/dev/by-path”, shown here link #1 above, comment #13). this also did not work.

What am I doing wrong? Any help is greatly appreciated. Thank you.
Please let me know if I can share any more valuable information to resolve this issue.

Kiauh issues link

So, so far I have fixed my issues above (kind of). Mcu is being recognized on both machines (only have two out of the three connected a the moment). Printers are printing.
I would still like to know what the above klipper.logs show and how to read them properly and fix issues. Meaning; idk what I did exactly to fix this (I do, but I’d like to know ‘why’ it worked).

Thanks everyone for your future responses.

A lot of boards are designed in a way that they do not give a unique serial. When multiple such boards are connected to the same SBC then the /dev/serial/by-id/... is no longer unique and the different Klipper instances will start fighting, who has the right to use it. Also you can no longer differentiate if this path now belongs to printer 1 or to printer 2.

This typically results in errors like shown in your log:

mcu 'mcu': Unable to open serial port: [Errno 11] Could not exclusively lock port /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0: [Errno 11] Resource temporarily unavailable

Key here is Could not exclusively lock.... In such cases you need to switch to the /dev/serial/by-path/ adressing as this does only care about the used USB port and not about the serial.
Note that it has the downside, that switching your physical USB connections will also switch this adressing and your printer.cfg will be wrong for both printers.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.