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