# What triggers Marlin's “Click to resume…”?

I have a long print that keeps aborting. At some random point mid-print the printer says "Click to resume...". There is nothing in the G-code that asks for user confirmation. What could it be that triggers this? I noticed that sometimes (not every time) there is a blob of plastic in the way that should not be there.

On one occasion, after the "Click to resume...", the LCD showed the message FY178.N16466 and again waited for a click.

The printer is an Anet A8 with Marlin 1.1.9. Slicer is Cura. I am printing via USB from Cura directly.

This is the error message:

• Do you have an M600 color change operation in your g-code? An M600 will cause the extruder to eject the current filament by reversing the extruder motor for a distance, like 100mm, then it displays a message like yours waiting for you to load the new filament; after you click it advances the filament and resumes printing. – John Deters Oct 23 at 3:16
• @JohnDeters No, that is not in the g-code – Till B Oct 23 at 10:18
• What is the exact text? click to resume print is not found in the 1.1.9 Marlin sources, which version do you use? – 0scar Oct 23 at 23:05
• I observed this too in 1.1.9 when a PC is connected via USB. I think this must be a bug. – dgrat Nov 5 at 12:03
• It appears to be a problem between Ultimaker Cura 3.4+ and Marlin Firmware 1.1.8+, where Cura sends too many M105 commands (without waiting for an OK) causing the buffer of the printer to overflow, see my updated answer. – 0scar Nov 6 at 7:19

To answer your question directly, this action (Click to resume...) is triggered by a buffer overflow of the Marlin firmware that is caused by the repetitive sending of M105 command by Ultimaker Cura (without checking the result).

This problem is a reported problem and fixed in the next release of Ultimaker Cura (please do note that as of posting this answer, the 3.6 Beta release is available for download). It appears to be a communication problem between Ultimaker Cura 3.4+ and 1.1.8+ versions of the Marlin firmware and has to to with polling of the temperature (M105). The link above also states it is fixed in the 3.6 release (which is the next release) as the fix has been integrated in the main code base.

This describes the problem:

To update the temperatures in the monitor, Cura sends M105 pings every 2 seconds. It seems that if this is done during a print without waiting for an OK from the printer, the serial buffer on the printer may still overflow eventually (causing Marlin to complain/pause).

and this describes the solution:

During some operations, such as preheating, the printer responds to new commands with echo:busy. While it is busy, it does send temperature messages, but these are not prepended with an ok, because the ok is supposed to show that a command was received and executed. So the two patches I wrote do the following:

• the pattern matching no longer looks for ok messages, but looks for temperature updates (this fixes the temperature updating while the printer is preheating)
• once the printer has said that it is busy, stop asking for temperature updates until the next ok is received (this prevents the serial buffer overflowing while preheating)

Old answer centered around the firmware (based on the text of the OP, no photo with the actual error message was added yet):

The text click to resume print cannot be found (with case insensitive search) in the latest sources of Marlin 1.1.9 down to Marlin 1.1.6. This means that you are using a different fork, an older version of Marlin or the message is not displayed as such.

The text message Resume print can be found, and is part of the message constant MSG_RESUME_PRINT

#define MSG_RESUME_PRINT                    _UxGT("Resume print")


But, this cannot be found in some sort of a concatenation using MSG_RESUME_PRINT!

It might be worth enabling logging M928 to the SD card (ensure that the R/W tab on the SD card is set appropriately), so that (after this has happened a few times) then you can look through the log to see what the command preceding the abort was, and if it is consistently the same (sequence of) commands that cause this to happen.

M928 filename


If that doesn't throw up anything obvious, then, in conjunction with logging, you could enable debugging, see M111 Debug level. For example:

M111 S7 ; ECHO, ERRORS, INFO


Then run through the long print again. As before, after a few of the click to resume print messages, then go back and check the log for anything that might indicate why this is happening.

To subsequently disable the debugging:

M111 S0

• I'm curious to know whether this error is reported, nice addition! – 0scar Oct 23 at 23:06
• unfortunately, logging does not work. When executing the M928 command, it shows the filename in the display, nothing else happens. When resuming the print, manually, the printer hangs. The resulting file on the sd card is empty. – Till B Nov 4 at 9:36
• @TillB - Hmmm, that doesn't sound right... – Greenonline Nov 4 at 11:25
• I put the M928 into the gcode right at the beginning. Is that correct? Or should I rather put it somewhere later or send it via USB? currently it is executed right after preheating – Till B Nov 4 at 11:41

tonight I faced the same problem. I've read somewhere (can't find the source now) that this is a cura bug - fixed in cura 3.6 beta

• If you can find the link, that would make your answer very useful. Maybe search your browser history? – Greenonline Nov 6 at 2:54
• According to this page for 3.4beta, For a full rundown of bug fixes, open Ultimaker Cura 3.4 beta and navigate to Extensions > Changelog > Show changelog. The page for 3.6 beta doesn't mention much, and I can't find the full list of fixes. – Greenonline Nov 6 at 3:04
• @Greenonline It is an interfacing bug between Ultimaker Cura 3.4+ and 1.1.8+ Marlin, see my answer – 0scar Nov 6 at 7:24
• @0scar - Ah ok, nice catch, well done :-) – Greenonline Nov 7 at 17:02