Just set up Octoprint on Linux laptop, unable to connect to printer

What is the problem?

I am setting up octoprint for the first time on an old Linux laptop. I completed the setup process and got my webcam working but octoprint is unable to connect to my Ender 3. When I attempt to connect I get the error: "No more candidates to test, and no working port/baudrate combination detected."

In the serial port dropdown I have AUTO as well as /dev/ttyS0 through /dev/ttyS31. I have tried each port individually with no success.

I see the following from dmesg right after plugging in my printer via USB:

[21248.495354] usb 3-3: new full-speed USB device number 12 using xhci_hcd
[21248.648174] usb 3-3: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
[21248.648178] usb 3-3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[21248.648180] usb 3-3: Product: USB Serial
[21248.650331] ch341 3-3:1.0: ch341-uart converter detected
[21248.650684] usb 3-3: ch341-uart converter now attached to ttyUSB0
[21249.183405] input: BRLTTY 6.4 Linux Screen Driver Keyboard as /devices/virtual/input/input41
[21249.487936] usb 3-3: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1
[21249.488402] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[21249.488424] ch341 3-3:1.0: device disconnected

I never see /dev/ttyUSB0 as a port option in octoprint and I'm not sure why the device seems to instantly disconnect.

What did you already try to solve it?

  • Swapping USB cables
  • Restarting octoprint, printer, and laptop serving octoprint
  • So much Googling
  • Walking away for a few minutes.

Have you tried running in safe mode?

Yes

Did running in safe mode solve the problem?

Negative

Systeminfo Bundle

octoprint-systeminfo-20220714234351.zip (35.3 KB)

Additional information about your setup

OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible

OctoPrint version: 1.8.1
Printer: Ender 3 (software: 2.0.8.2, hardware: 4.2.2)
OS (running octoprint): pop!_OS
My printer also has the backpowering flaw outlined here but I don't think that would be causing me issues on a laptop with a 120W power brick.

Hello @Eldarius !

How many cables did you try? There are too many power only cables in the world.

This issue is not about drawing too much power from the host, it's about the printer going into some weird state when not properly powered on.

I tested with two cables. Both are data capable, I just checked them with an old phone to confirm. I probably have some more laying around that I can try out, but if my cables are working for other devices they should be good, right?

Looks like the printer is connected to ttyUSB0. But the main problem seems to be BRLTTY - it claims the interface before you have a chance to connect to it.

So you should either uninstall BRLTTY (if possible) or stop it from claiming the connection.

This should help you

I would start with the answer of the user Fehlrersturm because it's a non-invasive solution and is easily to reverse. If that doesn't help try the solution from user60561.

1 Like

Thank you for the reply; this was indeed the issue. I actually found this exact thread and implemented the solution you suggested right before I saw your reply! Octoprint has been connecting to my printer flawlessly since.

Just to add some info here for anyone else who runs into this issue:
The solution was to disable BRLTTY's rule that caused it to assume control over my Ender-3 when I connected it via USB. In my case, the rule file was located at /usr/lib/udev/rules.d/85-brltty-device.rules. It seems the number preceding the file name may differ so you can use the following to locate your rule file for BRLTTY:

ls /usr/lib/udev/rules.d/ | grep brltty

Then simply find the rule for your device in that file and comment out the line that starts with ENV{PRODUCT} with a number sign (#). The rules are sorted in ascending order by vendor ID (in hexadecimal).

Again, all this info comes from this answer on StackExchange

1 Like