Help with communication timeouts

I'm fairly new to OctoPrint and I'm in the process of customizing the Marlin firmware for my printer. It had been working pretty well up prior to my more recent firmware changes. Now it's getting a communications timeout error after a running for a few moments, pretty much regardless of whether it's doing anything or not. I really doubt this is so much an OctoPrint issue as a firmware configuration issue, leading to a mismatch between what the firmware is doing and what OctoPrint is expecting.

Are there some specific Marlin configuration options I need to make sure I've set so OctoPrint can communicate successfully and avoid the timeouts? In particular, I've got these Marlin settings defined that seem possibly pertinent:

AUTOTEMP
HOST_ACTION_COMMANDS
HOST_PROMPT_SUPPORT
HOST_KEEPALIVE_FEATURE
DEFAULT_KEEPALIVE_INTERVAL 2
BUSY_WHILE_HEATING
NO_LCD_MENUS

Are there some others that are needed? Thanks!

What is the problem?

Getting the message: No response from printer after 3 consecutive communication timeouts

Then the printer is disconnected.

Complete Logs

serial.log

2021-02-02 14:50:34,779 - Enabling serial logging
2021-02-02 14:52:56,776 - Changing monitoring state from "Offline" to "Opening serial connection"
2021-02-02 14:52:56,794 - Connecting to port /dev/ttyACM0, baudrate 115200
2021-02-02 14:52:56,822 - Changing monitoring state from "Opening serial connection" to "Connecting"
2021-02-02 14:52:56,826 - Connected to: Serial<id=0x6ed40330, open=True>(port='/dev/ttyACM0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
2021-02-02 14:52:56,845 - Send: N0 M110 N0*125
2021-02-02 14:52:56,853 - Recv: ok
2021-02-02 14:52:56,859 - Send: N0 M110 N0*125
2021-02-02 14:52:56,870 - Changing monitoring state from "Connecting" to "Operational"
2021-02-02 14:52:56,963 - Recv: ok
2021-02-02 14:52:56,968 - Send: N0 M110 N0*125
2021-02-02 14:52:56,975 - Recv: ok
2021-02-02 14:52:56,979 - Send: N1 M115*39
2021-02-02 14:52:56,987 - Recv: FIRMWARE_NAME:Marlin bugfix-2.0.x (Feb  2 2021 01:55:25) SOURCE_CODE_URL:github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:Customized PrintrBot Simple Metal EXTRUDER_COUNT:1 UUID:8210ab3a-fe65-4368-82b8-84759f9cedf5
2021-02-02 14:52:56,999 - Recv: Cap:SERIAL_XON_XOFF:0
2021-02-02 14:52:57,007 - Recv: Cap:BINARY_FILE_TRANSFER:0
2021-02-02 14:52:57,009 - Recv: Cap:EEPROM:1
2021-02-02 14:52:57,012 - Recv: Cap:VOLUMETRIC:0
2021-02-02 14:52:57,031 - Recv: Cap:AUTOREPORT_TEMP:1
2021-02-02 14:52:57,044 - Recv: Cap:PROGRESS:0
2021-02-02 14:52:57,048 - Recv: Cap:PRINT_JOB:1
2021-02-02 14:52:57,050 - Recv: Cap:AUTOLEVEL:1
2021-02-02 14:52:57,053 - Recv: Cap:RUNOUT:0
2021-02-02 14:52:57,055 - Recv: Cap:Z_PROBE:1
2021-02-02 14:52:57,058 - Recv: Cap:LEVELING_DATA:1
2021-02-02 14:52:57,060 - Recv: Cap:BUILD_PERCENT:0
2021-02-02 14:52:57,062 - Recv: Cap:SOFTWARE_POWER:0
2021-02-02 14:52:57,066 - Recv: Cap:TOGGLE_LIGHTS:0
2021-02-02 14:52:57,070 - Recv: Cap:CASE_LIGHT_BRIGHTNESS:0
2021-02-02 14:52:57,074 - Recv: Cap:EMERGENCY_PARSER:0
2021-02-02 14:52:57,077 - Recv: Cap:PROMPT_SUPPORT:1
2021-02-02 14:52:57,082 - Recv: Cap:SDCARD:0
2021-02-02 14:52:57,086 - Recv: Cap:REPEAT:0
2021-02-02 14:52:57,090 - Recv: Cap:AUTOREPORT_SD_STATUS:0
2021-02-02 14:52:57,093 - Recv: Cap:LONG_FILENAME:0
2021-02-02 14:52:57,097 - Recv: Cap:THERMAL_PROTECTION:1
2021-02-02 14:52:57,105 - Recv: Cap:MOTION_MODES:0
2021-02-02 14:52:57,111 - Recv: Cap:ARCS:0
2021-02-02 14:52:57,114 - Recv: Cap:BABYSTEPPING:1
2021-02-02 14:52:57,118 - Recv: Cap:CHAMBER_TEMPERATURE:0
2021-02-02 14:52:57,121 - Recv: Cap:MEATPACK:0
2021-02-02 14:52:57,125 - Recv: ok
2021-02-02 14:52:57,129 - Send: M21
2021-02-02 14:52:57,136 - Recv: echo:Unknown command: "M21"
2021-02-02 14:52:57,139 - Recv: ok
2021-02-02 14:52:57,142 - Send: M155 S2
2021-02-02 14:52:57,149 - Recv: ok
2021-02-02 14:52:57,152 - Send: M876 P1
2021-02-02 14:52:57,201 - Recv: echo:M113 S2
2021-02-02 14:52:57,203 - Recv: ok
2021-02-02 14:53:44,586 - Send: G91
2021-02-02 14:53:44,617 - Recv: ok
2021-02-02 14:53:44,621 - Send: G28 X0 Y0
2021-02-02 14:53:46,628 - Recv: echo:busy: processing
2021-02-02 14:53:46,629 - Printer seems to support the busy protocol, will adjust timeouts and set busy interval accordingly
2021-02-02 14:53:48,628 - Recv: echo:busy: processing
2021-02-02 14:53:50,628 - Recv: echo:busy: processing
2021-02-02 14:53:51,027 - Recv: X:0.00 Y:187.00 Z:11.49 E:0.00 Count X:0 Y:14960 Z:4597
2021-02-02 14:53:51,031 - Recv: ok
2021-02-02 14:53:51,044 - Send: G90
2021-02-02 14:53:51,050 - Recv: ok
2021-02-02 14:53:51,054 - Send: M113 S2
2021-02-02 14:53:51,065 - Recv: ok
2021-02-02 14:54:00,082 - No response from printer after 3 consecutive communication timeouts, considering it dead. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
2021-02-02 14:54:00,138 - Changing monitoring state from "Operational" to "Offline (Error: Too many consecutive timeouts, printer still connected and alive?)"
2021-02-02 14:54:00,153 - Connection closed, closing down monitor

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 on Raspberry Pi 2 Model B Rev 1.1, PrintrBot Simple Metal (heavily customized), Marlin bugfix-2.0.x as of a day or so ago

Whoops, I have AUTO_REPORT_TEMPERATURES defined, not AUTOTEMP. I'm not convinced it's working though since I don't see any temperature reports showing up in the terminal when I run M155 S2 manually. Nor does M113 S2 seem to generate any output. Should they?

Hi @sbussinger, welcome to the forums :smiley:
I don't know if your specific version of Marlin is a part of this issue, but lately a lot of the new Marlin firmwares have connection issues. I'd try an older firmware version.

I don't know much about the specific settings that you mention, but definitely try an older more stable version of Marlin.

2 Likes

I see you are using the bugfix branch, which has recently been reported as problematic. The current stable releases available from Marlin shouldn't have this issue.

2 Likes

The banner at the top of the forums was not enough then:

Thank you (and Albert) for the notes on Marlin issues. I pulled the most recent changes in Marlin (I was a few days) and the problem was fixed again. Unfortunately, the PrintrBot versions of Marlin are rather finicky and frequently won't compile. Going back to a stable release doesn't compile for some esoteric reason. Once I find one that compiles I tend to stick with it as long as I can.

I really need to replace the controller board in this beast and be done with it. :slight_smile:

Thanks Charlie, I did a search before I asked and that message didn't show up. It's also in Announcements so it didn't show up at the top of the Get Help section. I was making changes to how I was configuring Marlin so I figured it was something I'd done, turns out it was an unstable moment in time in Marlin. Unfortunately the last stable releases don't compile for the PrintrBot.