After Pause/Resume there is no more extrusion

It used to work and now it doesn't and I'm not aware when exactly the change happened. Many things have changed, including flashing new firmware versions to the printer and reflashing/setting up octopi and octoprint new.

What is the problem?

When I pause a print and the resume evrything goes as expected, only: no extrusion. The extruder works and is busy retracting/deretracting, but when it should be busy to supply filament for the print, the little wheel stays motionless.

There doesn't seem to be a physical problem, when I abort the print and immediately start a new everything is fine and peachy.

What did you already try to solve it?

Searching didn't find me much, mostly variants of after puase / before resume #GCODE scripts with copies or variants of the scripts I copied from the wiki myself.
I still compared those scripts and added an if clause on the theory that somehow the feedrate might get set to 0 on resume.
But M117 pause_position.f {{ pause_position.f }} returns 900.0 on pausing and that doesn't change when I pause/resume more than once.

Have you tried running in safe mode?

Yes, no change.

Did running in safe mode solve the problem?


What else?

What I did do is running the test with serial logging and trying to figure out what is said & done. The relevant snippet framed by octoprints status messages

Send: N228 G1 X118.993 Y122.740 E0.02798*103
Recv: ok
Send: N229 G1 X118.667 Y123.065 E0.02208*111
Recv: ok
Send: N230 M117 6% L=2/96*85
Recv: ok
Send: N231 G1 X118.667 Y123.648 E0.02798*99
Recv: ok
Send: N232 G1 X118.993 Y123.323 E0.02208*96
Changing monitoring state from "Printing" to "Pausing"
Recv: ok
Send: N233 M400*37                                                    ; finish moves
Recv: ok
Send: N234 M114*34                                                    ; get current position
Recv: X:118.99 Y:123.32 Z:0.48 E:4.81 Count X:9519 Y:9866 Z:165
Recv: ok
Send: N235 G91*21                                                     ; relative positioning
Recv: ok
Send: N236 M83*31                                                     ; e relative
Recv: ok
Send: N237 G1 Z+5 E-5 F4500*80                                         ; linear move z up, extruder retr F
Recv: ok
Send: N238 M82*16                                                     ;e absolute
Recv: ok
Send: N239 G90*24                                                       ; Absolute Positioning
Recv: ok
Send: N240 G1 X0 Y180*38                                               ; lin move  to pausing position
Recv: ok
Send: N241 M117   pause_position.f  900.0*88                           ; my debug msg
Recv: ok
Changing monitoring state from "Pausing" to "Paused"
Recv:  T:205.62 /205.00 B:60.00 /60.00 @:61 B@:127
Recv:  T:204.51 /205.00 B:60.14 /60.00 @:75 B@:127
Recv:  T:203.75 /205.00 B:60.73 /60.00 @:82 B@:0
Recv:  T:203.09 /205.00 B:60.73 /60.00 @:90 B@:0
Recv:  T:202.60 /205.00 B:60.52 /60.00 @:96 B@:0
Recv:  T:202.50 /205.00 B:60.30 /60.00 @:96 B@:0
Recv:  T:202.74 /205.00 B:60.15 /60.00 @:91 B@:0
Recv:  T:202.78 /205.00 B:59.84 /60.00 @:93 B@:0
Recv:  T:203.44 /205.00 B:59.95 /60.00 @:83 B@:127
Recv:  T:204.06 /205.00 B:60.43 /60.00 @:75 B@:127
Recv:  T:204.55 /205.00 B:60.87 /60.00 @:71 B@:0
Recv:  T:204.93 /205.00 B:60.89 /60.00 @:68 B@:0
Recv:  T:205.08 /205.00 B:60.52 /60.00 @:69 B@:0
Recv:  T:205.27 /205.00 B:60.51 /60.00 @:67 B@:0
Changing monitoring state from "Paused" to "Resuming"
Send: N242 M83*28                                                        ; e relative
Recv: ok
Send: N243 G1 E-5 F4500*55                                               ; lin move e -
Recv: ok
Send: N244 G1 E5 F4500*29                                                ; lin move e +
Recv: ok
Send: N245 G1 E5 F4500*28                                                 ; lin move e +
Recv: ok
Send: N246 M82*25                                                        ;          E Absolute
Recv: ok
Send: N247 G90*17                                                        ;      Absolute Positioning
Recv: ok
Send: N248 G92 E4.81*106                                                 ; set New extruder position
Recv: X:0.00 Y:180.00 Z:5.48 E:4.81 Count X:0 Y:14400 Z:2192
Recv: ok
Send: N249 G1 X118.99 Y123.32 Z0.48 F4500*32                             ; lin move to original position    X:118.99 Y:123.32 Z:0.48 E:4.81 Coun
Recv: ok
Send: N250 G1 F900.0*110                                                 ; lin move feedrate
Recv: ok                                                                 
Send: N251 M117   end of resume 900.0*122                                ; debug msg
Recv: ok
Changing monitoring state from "Resuming" to "Printing"
Send: N252 G1 X118.993 Y123.906 E0.02798*103
Recv: ok
Send: N253 G1 X118.667 Y124.231 E0.02208*102
Recv:  T:205.23 /205.00 B:60.25 /60.00 @:69 B@:0
Recv: ok
Send: N254 G1 X118.667 Y124.814 E0.02798*96
Recv: ok
Send: N255 G1 X118.993 Y124.489 E0.02208*97
Recv: ok
Send: N256 G1 X118.993 Y125.072 E0.02798*111
Recv: ok

I lack knowledge and experience with GCODE but it looks mostly harmless. I have no clear understanding of what the F4500 actually does or what the *Number does or mean but I cannot find the problem in this snippet.

Systeminfo Bundle


Additional information about your setup

OctoPrint version 1.6.1 , OctoPi version 0.18.0, printer ender 3, firmware Marlin, browser firefox , operating system arch linux, OSX (104.3 KB)

Thanks in advance for any pointers where to look for the cause,

Put the extrusion back to relative at the end of the resume script - you have an M82 to switch to absolute mode, but the extrusion commands all appear to be relative. So add an M83 to the end of the resume script, and see what difference that makes.

1 Like

That did the trick,
thanks for the fast response and good advice

1 Like