Communication timeout while printing. Not a marlin bugfix firmware issue

What is the problem?

Suddenly started having this disconnect issue with every print after never having issues in the past. Octoprint loses connection to the printer during a print. This started happening recently after I updated octoprint to 1.5.3 (not saying its related). I saw the announcement that this is a firmware issue, so I changed firmware from the marlin bugfix version to the latest stable release, but the issue persists.
I then flashed the latest Octopi image without change.

What did you already try to solve it?

Changed firmware to stable release, flashed latest octopi image, tried different usb port, increased voltage to the pi to 5.15 (powered by printer power supply via buck converter).

Have you tried running in safe mode?

Yes

Did running in safe mode solve the problem?

No

Complete Logs

octoprint.log, serial.log or output on terminal tab at a minimum, browser error console if UI issue ... no logs, no support! Not log excerpts, complete logs.)

serial (1).log (135.2 KB) octoprint.log (3.8 MB)

Additional information about your setup

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

octoprint 1.5.3, Octopi 0.18.0, Ender 3 V2, Marlin 2.0.7.2 stable, RPI 4B.

I just started a print in safe mode. Will update.
I also want to add that my USB cable is only 6 inches long and the power pin is covered with tape.

update: no change with safe mode.

I also got a few 6 inch cables but they're not that good for data transfer.
They came with power banks or arduino clones.
I'm not saying that your cable is bad - just that length doesn't tell you anything about the quality of a thing :sunglasses:

cable length is only relevant because shorter cables are less susceptible to interference.

True - mine didn't work anyway. Tried flash an esp8266 with them and always had problems.

Which board is in your printer?

Creality 4.2.2

Try it with an sd card inserted into your printer.
Some of those 32 bit creality boards got an sd card related bug and behave weird when connecting via usb.

I keep an sd card in it to store the eeprom settings, but I don’t want to have to print from the sd card. I’ve been using octoprint since I first got the printer 4 months ago. This issue has just started out of the blue.

1 Like

The bug is just about having an sd card in your printer - not printing from it.
We saw all kinds of weird things happen.. For example some couldn't connect to the printer at all, others couldn't home when connected to usb etc..

We have have a list of things you can try and check - hopefully one of them will solve your problem.

ive ruled all of those things out. I did a full-upgrade on my pi and im trying a print now. If that doesnt work then ill go back to an earlier version of octoprint and try again. if that doesnt work... im out of ideas lol. This is really strange. There were no changes to any of my hardware or software except for the octoprint update prior to this issue, but i read other threads where people rolled back to older versions and still continued having similar issues (which all started around the same time period oddly enough), so I dont see what could possibly be causing this. Is it possible that the octoprint update could have broken something that reverting back to the older version is unable to fix? Do the plugin versions need to be rolled back along with the octoprint version perhaps? I feel like im in the twilight zone lol.

Have you tried Marlin 2.0.7.1 ?

No. I was using a bugfix version without issue for 4 months and then i changed to the latest stable release after this issue started. I really dont think that firmware has anything to do with it because the issue would've presented itself a long time ago, but ill change again to an earlier version if all else fails.

1 Like

There's a myriad of things that can cause issues like this. It all boils down to "OctoPrint doesn't get any sign of life from your firmware anymore" though.

As usual, when something started "with an update", it helps to know from what version you update from. What I can tell you is that between 1.4.x and 1.5.x, the only serial related change was the introduction of resend request counting. No updated pyserial dependency or anything like that. So IF that is somehow related to something surrounding an 1.4.x to 1.5.x update, I have absolutely no idea what it could be, and also have not seen any such issues myself.

The density of Ender 3 users with issues like these seems to be quite high, but that could also just be due to the popularity of this particular model, at least once the usual stock firmware shenanigans are ruled out.

I update octoprint every time theres a pop-up saying that an update is available, and I use octoprint almost every day. So I guess I updated from 1.5.2 to 1.5.3.
Anyway, I tried another print after I did the full-upgrade on my pi and it still failed (I saw that someone said that it fixed their problem), and now I am currently printing after having went back to octoprint version 1.5.0. If this print fails then I will flash my firmware to an earlier stable release of marlin.
If that fails then I guess I will have to start replacing hardware.
By the way, do i still need the "2x temperature reporting" plugin if im not using creality stock firmware? I build my own firmware from the marlin github.

That makes it even more unlikely that the update is involved, because the only changes there were two bugfixes in the pluginmanager specifically.

No. It's only relevant on Creality firmware with that bug.

Update: I’ve tried everything. I even switched the firmware to Klipper and had the same issue. I’m going to replace the usb cable and test again. If it still fails, I’m just going to replace the board. Don’t know what else to do. If octoprint isn’t causing this, and I don’t think it is, then there has to be something wrong with the hardware.

Stab in the dark: do the failures happen when someone turns on/off a light somewhere on the same circuit your pi/Ender are on? That was the issue in my case. I suspect the change in load causes a phase shift in the power and somehow that's enough to disrupt the serial connection. I have a new, actively filtered power supply now (Mean Well) but haven't installed it yet, so not yet sure if that will fix it...

Back when I was using the 8 bit board I also noticed that the board got more sensible for emi when the cables in the "mainboardbox" were aligned in a certain way.
Had no issues -> took out the board and put it back in -> big issues
I unfortunately can't tell you which cables caused it because I switched to a skr 1.4 turbo and the problems were gone...

1 Like

Like this one:

1 Like

I had similar problems with my ender 3 and bigtreetech E3 V2 board I found that merlin set the internal serial port as a priority port.
as shown below, configuration.h

#define SERIAL_PORT 0

/**

  • Select a secondary serial port on the board to use for communication with the host.
  • :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
    */
    //#define SERIAL_PORT_2 -1

I changed the the serial port allocation to give priority to the external (USB) port as below.

#define SERIAL_PORT 2

/**

  • Select a secondary serial port on the board to use for communication with the host.
  • :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
    */
    #define SERIAL_PORT_2 -1

I have not had any more problems with comms since.

Bill

1 Like