What is the problem?
During the upload of a gcode file to the printer's SD card, the upload will hang with timeout messages. Looking at serial.log it seems that the command to get a fresh response from the print (M105) is not being sent. I have also (once) seen a hang during printing and believe that this was a similar problem, but the upload to SD card is easier to reproduce.
What did you already try to solve it?
I've repeated the test several times, the time taken to hit the problem varies but it always seems to eventually lock up. I've tried both "standard" ok mode and ADVANCED_OK (see the output below). I have also run the test using Octoprint safe mode. I have serial.log enabled and the end of the file shows the following output....
2018-12-23 20:38:39,832 - Send: N89742 G1 X116.020 Y113.817 E0.01363*108
2018-12-23 20:38:39,840 - Recv: ok N89742 P15 B3
2018-12-23 20:38:39,861 - Send: N89743 G1 X116.538 Y113.505 E0.01171*110
2018-12-23 20:38:39,869 - Recv: ok N89743 P15 B3
2018-12-23 20:38:39,885 - Recv: T:19.29 /0.00 B:19.30 /0.00 @:0 B@:0
2018-12-23 20:38:39,894 - Send: N89744 G1 X117.118 Y113.227 E0.01245*109
2018-12-23 20:38:39,905 - Recv: ok N89744 P15 B3
2018-12-23 20:38:39,911 - Send: N89745 G1 X117.739 Y113.001 E0.01279*96
2018-12-23 20:38:39,915 - Recv: ok N89745 P15 B3
2018-12-23 20:38:39,922 - Send: N89746 G1 X118.385 Y112.835 E0.01290*102
2018-12-23 20:38:39,927 - Recv: ok N89746 P15 B3
2018-12-23 20:38:39,933 - Send: N89747 G1 X119.032 Y112.735 E0.01268*97
2018-12-23 20:38:39,937 - Recv: ok N89747 P15 B3
2018-12-23 20:38:41,883 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:38:43,896 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:38:45,883 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:38:47,882 - Recv: T:19.29 /0.00 B:19.22 /0.00 @:0 B@:0
2018-12-23 20:38:49,882 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:38:51,882 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:38:53,882 - Recv: T:19.29 /0.00 B:19.14 /0.00 @:0 B@:0
2018-12-23 20:38:55,882 - Recv: T:19.29 /0.00 B:18.83 /0.00 @:0 B@:0
2018-12-23 20:38:57,883 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:38:59,881 - Recv: T:19.29 /0.00 B:19.34 /0.00 @:0 B@:0
2018-12-23 20:39:01,882 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:39:03,882 - Recv: T:19.29 /0.00 B:18.79 /0.00 @:0 B@:0
2018-12-23 20:39:05,880 - Recv: T:19.29 /0.00 B:19.18 /0.00 @:0 B@:0
2018-12-23 20:39:07,880 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:39:09,880 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:39:11,880 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:39:11,887 - 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.
2018-12-23 20:39:13,881 - Recv: T:19.29 /0.00 B:19.34 /0.00 @:0 B@:0
2018-12-23 20:39:15,880 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:39:17,880 - Recv: T:19.29 /0.00 B:18.79 /0.00 @:0 B@:0
2018-12-23 20:39:19,880 - Recv: T:19.29 /0.00 B:19.02 /0.00 @:0 B@:0
2018-12-23 20:39:21,880 - Recv: T:19.29 /0.00 B:18.91 /0.00 @:0 B@:0
2018-12-23 20:39:23,880 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:39:25,883 - Recv: T:19.29 /0.00 B:18.95 /0.00 @:0 B@:0
2018-12-23 20:39:27,880 - Recv: T:19.29 /0.00 B:19.02 /0.00 @:0 B@:0
2018-12-23 20:39:29,878 - Recv: T:19.29 /0.00 B:19.14 /0.00 @:0 B@:0
2018-12-23 20:39:31,878 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:39:33,879 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:39:35,878 - Recv: T:19.29 /0.00 B:19.18 /0.00 @:0 B@:0
2018-12-23 20:39:37,878 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:39:39,878 - Recv: T:19.29 /0.00 B:19.14 /0.00 @:0 B@:0
2018-12-23 20:39:41,878 - Recv: T:19.29 /0.00 B:18.98 /0.00 @:0 B@:0
2018-12-23 20:39:43,878 - Recv: T:19.29 /0.00 B:19.37 /0.00 @:0 B@:0
2018-12-23 20:39:43,891 - 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.
2018-12-23 20:39:45,878 - Recv: T:19.29 /0.00 B:19.37 /0.00 @:0 B@:0
2018-12-23 20:39:47,878 - Recv: T:19.29 /0.00 B:18.75 /0.00 @:0 B@:0
2018-12-23 20:39:49,878 - Recv: T:19.29 /0.00 B:19.18 /0.00 @:0 B@:0
2018-12-23 20:39:51,878 - Recv: T:19.29 /0.00 B:19.22 /0.00 @:0 B@:0
2018-12-23 20:39:53,878 - Recv: T:19.29 /0.00 B:19.37 /0.00 @:0 B@:0
2018-12-23 20:39:55,878 - Recv: T:19.29 /0.00 B:19.37 /0.00 @:0 B@:0
2018-12-23 20:39:57,881 - Recv: T:19.29 /0.00 B:19.37 /0.00 @:0 B@:0
Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, octoprint.log
, serial.log
or output on terminal tab, ...)
Octoprint is running on Octopi and is version 1.3.10 I am using Marlin Bugfix 2.0.x firmware.
I am a contributor to Marlin and have worked on the LPC176X USB stack (including on the USB CDC communications). I have been looking into a report of issues with Octoprint communications getting timeouts when using Marlin on a LPC176X based board and in the process of testing ran into the problem described here. From the log files it seems that Marlin has correctly responded to Octoprint and that for some reason Octoprint is no longer sending gcode (in particular it does not seem to send the M105 command that is used to provoke Marlin to respond). I've had a quick look at the Octoprint code but I'm not familiar with it and would appreciate any thoughts on what may be going on here. Thanks.