FLSUN SR OctoPrint for Android Connection Timeouts

What is the problem?

FLSUN SR sometimes send ack "ok" too close tied with temperature data, that octoprint cannot recognize ack.

Recv:  T:207.09 /210.00 B:59.96 /60.00ok <--- THIS IS THE PROBLEM
Recv:  T:206.94 /210.00 B:60.18 /60.00 @:40 B@:5
Recv:  T:206.61 /210.00 B:60.20 /60.00 @:42 B@:3
Recv:  T:206.31 /210.00 B:60.08 /60.00 @:46 B@:25
Communication timeout while printing, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Send: N140 M105*34
Recv: ok T:206.31 /210.00 B:60.08 /60.00 @:46 B@:25 <--- THIS IS OK

What did you already try to solve it?

I've tested several settings. Set different timeouts, try only polling. Noting works

Have you tried running in safe mode?

No

Did running in safe mode solve the problem?

IDK

Systeminfo Bundle

[octoprint-systeminfo-20240315213654.zip|attachment](upload://ioUx41EdM9RGMzU781YA8jEzYaD.zip) (362.1 KB)

WRITE HERE

Additional information about your setup

Version 1.9.3
Smasung Galaxy S10e
FLSUN SR, firmware V1.4
WRITE HERE

Is there anythink I can do via configuration to prevent this to happen?
I tried to use prime number as timeouts to minimize hit chance, but it didnt help :smiley:

Last update:
I'm pretty sure, that reading temperature data do this. The more timeout I set to temperature readings, the less this problem occurs.

I doubt there is anything we can do on the octoprint side.
As you said reducing the polling times can reduce the amount of timeouts.. But yeah that's IMO all you can do here.

A plugin could "repair" the output probably.

I would try a different cable just in case it's some kind of transmission/connection issue.

But I think it's a bug in the printers firmware.

1 Like

For anyone who will struggle in the future with similar problem, here I summarize my observation and solution.

The whole problem is, there is a bug in communication via USB in FLSUN SR. The bug messes up reponse from printer. Sometimes ack "ok" mixes with temperature data which are provided by autoreporting from firmware, as seen in my console feed above. This problem causes that ack "ok" appears in temperature data and make octoprint stop printing, because he waits for ack. Finally this outcomes as Timeout. Octoprint try to resend printing command which may cause layer shift and ruin printing. Practicaly this destroy your model.

Solution which works so far:

  1. Disable autoreport of temperature data in firmware, use command: M155 S0
  2. Set Temperature interval (autoreport) option in settings > intervals & timeouts to 0
  3. Set higher timeouts for polling temperature, e.g. 180s for printing and 6s for idle and preheating
  4. That's it! This should mostly prevent timouts

May this help you.

If anything change I'm gonna try update this post, to save you from dead-end trying.

1 Like