Irratic extruder behaviour + short waiting times on raspberry 2 with RS 0.70

I recently set up a repetierserver (0.70) on a fresh Raspberry Pi2 with wheezy driving a MeldelMax running with Marlin, but I am only having troubles with printing, or to be more precise, the extruder.

It always messes up extruder movements when I start a print over the webinterface, manual control on the other hand works fine. "normal" printing moves cause no problem (on all axis, even the extruder), but when it is doing a fast travel movement it is moving the extruder as fast & long as an x or y axis as well (!). Another issue is that sometimes the print even stops for some seconds during printing, just to start again with insane extruder distances. I also get always(?) an "OK" back from the marlin firmware for every line, but maybe I need to dig deeper into the logfiles if I find them.

I have no problems whatsoever with the SAME printer settings in win7 and linux running both the newest repetier host software. Connection settins are always set to 115200 & a buffer of 127 byte. 

I still believe that these errors are coming from a communication problem, because the density of unwanted stops relates a lot with fast travel commands where the feedrate switches. Can it be related with the length of a command? Here is an example gcode:

1G28
2G1 Z15 F100
3M107
4G90
5M82
6M190 S42
7M104 T0 S230
8G92 E0
9M109 T0 S230
10M107
11G0 X87.499 Y117.336 Z0.3 F3600
12G1 X87.018 Y118.282 E0.05295 F1200
13G1 X86.494 Y119.307 E0.11038
14G1 X85.57 Y120.233 E0.17564
15G1 X85.57 Y126.489 E0.48776
16G1 X85.354 Y126.705 E0.503
17G1 X85.354 Y129.037 E0.61934
18G1 X86.573 Y130.178 E0.70264
19G1 X86.66 Y130.333 E0.71151
20G1 X86.798 Y130.471 E0.72124
21G1 X87.5 Y131.847 E0.79831
22G1 X87.855 Y131.15 E0.83734
23G1 X88.188 Y130.483 E0.87453
24G1 X88.335 Y130.336 E0.8849
25G1 X88.421 Y130.182 E0.8937
26G1 X89.645 Y129.039 E0.97725
27G1 X89.645 Y126.705 E1.0937
28G1 X89.429 Y126.489 E1.10894
29G1 X89.429 Y120.233 E1.42105
30G1 X89.317 Y120.121 E1.42895
31G1 X88.503 Y119.305 E1.48645
32G1 X87.499 Y117.336 E1.59672
33G0 X87.498 Y116.455 F3600  ## IT SEEMS THAT TROUBLES START HERE! 
34G1 X86.661 Y118.101 E1.68885 F1200
35G1 X86.167 Y119.069 E1.74307
36G1 X85.17 Y120.068 E1.81348
37G1 X85.17 Y126.324 E2.12559
38G1 X84.954 Y126.54 E2.14083
39G1 X84.954 Y129.247 E2.27589

I also found another post further down that seems to have similar issues for an older server version, but they were supposed to be fixed already in 0.70:

Can someone give me a hint please how I can fix those issues? Thanks :) 

Comments

  • Please enable echo for firmware and logging for the server prints and start a print. Then you see what you have send and what firmware thinks it has received and also any communication error. Only with such a log it is possible to find the problem. You need to corellate the errors with the corresponding log lines. If in doubt post that part and describe what happens where.

    You should better get an ok for every line send or printer will stop for timeout seconds.

    Also note that on linux several programms can connect to the same port. While this works it creates a lot of errors and problems so make sure no other software opens the port on the Pi 2.
  • Thank you for the reply!

    Unfortunately Marlin does not support M111 (set debug level), but I think that the logfiles help a lot already.

    Example Snippet:

    >  9:47:44.976: Error:Line Number is not Last Line Number+1, Last Line: 633
    >  9:47:44.980: Resend: 634
    <  9:47:44.981: N947 G1 X104.255 Y130.428 E33.42924
    <  9:47:44.981: N948 G1 X104.339 Y130.578 E33.43781
    >  9:47:44.981: ok
    >  9:47:44.993: Error:Line Number is not Last Line Number+1, Last Line: 633
    >  9:47:44.994: Resend: 634
    <  9:47:44.994: N949 G1 X104.47 Y130.709 E33.44706
    <  9:47:44.994: N950 G1 X105.5 Y132.729 E33.56018
    >  9:47:44.994: ok
    >  9:47:44.997: echo:Unknown command: "122"
    <  9:47:44.998: N951 G1 X106.212 Y131.331 E33.63845
    <  9:47:44.998: N952 G1 X106.517 Y130.72 E33.67252
    >  9:47:44.999: ok
    >  9:47:45.005: Error:Line Number is not Last Line Number+1, Last Line: 633
    >  9:47:45.009: Resend: 634
    <  9:47:45.010: N953 G1 X106.657 Y130.58 E33.6824
    <  9:47:45.010: N954 G1 X106.74 Y130.431 E33.69091
    >  9:47:45.010: ok

    I would have added the whole one, but I didn't see a "code" tag or an attach "file" option, so I hope that this is representative enough :)

    Over the whole test print it tries to resend the same line for ages, and sometimes there are even (hard coded?) echos from the firmware with "unknown command -num-". That means that they start not to understand each other the second a print starts. Before everything is fine, manual commands always get recognized. :/

    The pi2 is running on wheezy without an x-server running. The only thing I did after I copied the image to the sd card was a sudo apt-get update, then I already grepped the firmware with wget... So if there is something else blocking my com port, it must have been installed by default - something very unlikely. Or do you know of such a service that can do that on a debian/raspian flavored os?


  • I'm also using debian wheezy on Pi 2 without problems. The problem I now have is that the origin of your problem was when sending line 633. There something went wrong and at the shown part server is already ignoring it since that line is not in resend buffer any more. So the question is more how we got the line out of the resend buffer so it gets ignored.

    Firmware description marlin.xml describes resend request like this
    <response type="resend">^[Rr]esend:\s*(\d+)$</response>
    and that should match what your log shows. So please post what happened around 633 with at 
    least 200 lines around it. Posts can contain 80kb now. Maybe I figure out what is going on.
    Does not look like a other software.
  • I wanted to post the log file, but the reduced log was still too long. can you write me a request from your address to martin.humel --- at --- gmail.com please? Then I could send you both, the .gco & the logfile without any troubles. (120k logfile + 4MB gco, but that can be cutted ;) )

    Basically the log shows just a warmup phase (bed + extruder) and then 3x 1000 lines that show troubles with the same line number and afterwards just some sporadic errors which needed only 1 resend. 

    Just something else about the setup: I have a fully shielded USB cable that goes straight away from the printer, so we can cancel that source of error as well. Anyway, the same HW works with repetier host in 2 different OS as well, even though a pi can't be compared to a pc. ;)

    Would you be interested in the source files (version, config etc) of my Firmware as well? (if I can find it...)

    thank you again for the support!
  • We are getting more feedback from other Marlin users having problem with 0.70.0. Seems like there is a incompatible change in resend handling causing this. We will work on 0.70.1 to solve the problem. Anyhow if you could send the log to repetierdev@gmail.com it might help finding how it happens and finding the problem faster.
Sign In or Register to comment.