Can't connect to printer from Raspberry Pi

What is the problem?

Unable to complete handshake to printer. Just flashed SD card today. Printer LCD is blank.

What did you already try to solve it?

Googled solutions, rebooted, tried multiple USB cables

Have you tried running in safe mode?

Yes

Did running in safe mode solve the problem?

No

Systeminfo Bundle

You can download this in OctoPrint's System Information dialog ... no bundle, no support!)

Additional information about your setup

Printer:
Ender 3
octoprint-systeminfo-20230313182528.zip (63.7 KB)

Hello @The_Yellow_Dart_Bubz !

Have you powered the printer on?

And please share the systeminfo bundle

Yes I powered the 3D printer on next to the power cord and ensured all the cooling fans are running.

I included a bunch of the info from the zip file in my post. I didnt see anywhere in my post to attach the file.

I figured out where the upload file option is on the post generator and attached the files. they certainly don't make it obvious where it is.

Did you mention what printer you use?

Well I feel like an idiot. Ender 3.

Then try with/without SD card in the printer's SD card slot.

And try this:

Unfortunately that didn't work. I verified that the LCD is no longer lighting up with the raspberry pi connected to the printer unless I turn the printer on. Before covering the pin with tape, the LCD backlight would turn on even if the printer was powered off and unplugged.

Trying port /dev/ttyACM0, baudrate 250000
Handshake attempt #1 with timeout 10.0s
Send: N0 M110 N0125
Handshake attempt #2 with timeout 10.0s
Send: N0 M110 N0
125
Handshake attempt #3 with timeout 10.0s
Send: N0 M110 N0*125

That is the intension with the tape to prevent backpowering:


How many USB cables did you try and what quality?

I've tried three and they all work just fine transferring data to and from my PC microphone. This printer uses a MINI USB port and not USB B.

I initially had an under power error but that was quickly resolved by switching power bricks used for the Pi. I'm pretty confident my USB cables are all good.

Creality's "this is a good cable" is VERY different than most devices (and humans) "this is a good cable". Cables which have the highest probability of working with Creality's printers are short, shielded, and have ferrite beads.

I see. That's a pain in the ass. If they had used USB B then i have about 20 cables that can handle the task. But Mini USB? I havent owned a good one since the PS2 days.

Well i just got back from Goodwill with a new cable marked USB 2.0 shielded with a ferrite tumbler and im having the same issue. I covered the power pin again.

Creality Printers are very susceptible to EMI interference plus they are EMI generators, a potentially wicked combination. For example, see My Creality Ender3 runs into a lot of communication issues. You can search this forum for "Creality EMI" and find other topics that contain potential fixes.

Also, please enable the serial.log in OctoPrint Settings (bottom of the Serial Connection page). This will capture the communications between OctoPrint and the printer which may help us troubleshoot. This log is included in the systeminfo bundle.

I've enabled the logging and attached a new copy to my original post. Here it is again:
octoprint-systeminfo-20230313182528.zip (63.7 KB)

After looking at your bundle it seems like the printer isn't responding at all. I'm wondering if the printer is even seen by the operating system. Please try the following and let us know.

  1. Unplug the USB cable to the printer.
  2. Login to the RPi via SSH (or a keyboard / monitor).
  3. Type sudo dmesg --clear (enter the pi password when prompted).
  4. Plug in the USB cable to the printer.
  5. Type dmesg >dmesg.log.
  6. Show us the (hopefully non-empty) contents of dmesg.log (use cat dmesg.log to look at it).

If the contents of dmesg.log is empty, then try another USB cable and keep trying cables until you see the printer being recognized by the operating system. OctoPrint can't connect to the printer if the operating system (OctoPi) can't see it.

[ 7841.884043] usb 1-1.3: new full-speed USB device number 7 using dwc_otg
[ 7842.018577] usb 1-1.3: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
[ 7842.018617] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 7842.018637] usb 1-1.3: Product: stm32f103xe
[ 7842.018654] usb 1-1.3: Manufacturer: Klipper
[ 7842.018671] usb 1-1.3: SerialNumber: 35FFD10542543939-----------
[ 7842.020700] cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device

Honestly?

No wonder you do not get a connection.

Your printer once was utilized for the Klipper firmware solution.

Your OctoPrint setup misses the OctoKlipper plugin that is necessary to work with that.

The OctoKlipper plugin is not needed for a connection to OctoPrint at all, but you're on the right lines. OctoPrint can't communicate directly with the printer, it needs to communicate with the Klipper host that is installed on the Pi as well. Usually, Klipper then makes a serial port like /tmp/printer that OctoPrint connects to. See Installation - Klipper documentation for instructions.

The OctoKlipper plugin is an added bonus, but it is not the solution as you still need a working Klipper install & connection to OctoPrint first.

This is getting crazy. I feel like I'm setting up a gaming computer with linux in 1999.