"communication timeout - reset send buffer block" while printing

Hello, I have a Prusa i3 (Arduino Mega + RAMPS) running Marlin that's worked pretty flawlessly in the past. Recently it started throwing the error in the title fairly often mid-print. The timing seems random: sometimes it's about 10 minutes between stops, but once I noticed it was a few seconds. It recovers when the error message appears. The arduino itself usually says "kK?ok" right before the message, although sometimes the jumbled word is different (and still cryptic). Considering I changed nothing in hardware or firmware recently, besides updating repetier-host (I think the prints started pausing some time after the update), what could be going wrong? Is there a more detailed log I could examine? Clearly the baud rates mesh or I wouldn't be communicating with the printer. Could it be a hardware malfunction in the Arduino (it is very old at this point)? It's actually a bit of a pain to replace it and I think I may have lost the Marlin config file so I'd have to remake one and recalibrate, etc., so was hoping to know what the other possibilities are before going that route.

Comments

  • > arduino itself usually says "kK?ok"
    That is actually the problem and reason. We expect "ok" so this is not considered an answer and causes the timeout. You can reduce timeout to 3s as prusa is sending busy for slow commands, so effect is not that extreme as with 30s default value.

    This is a communication error. The ? is probably the newline where previous answer would end with and kK just wrong. So likely a bit off in timing when interpreting the serial stream on printer serial->usb converter. Maybe some cables inside the controller box have shifter. Since it was not present before, it is likely that something has changed. If software is same, it is probably a cable that causes through induction some bit errors in bad timings.
  • it is probably a cable that causes through induction some bit errors in bad timings.
    So it's more likely a cable than a faulty Arduino? I'll start looking into that, thanks!
  • Many printers create communication errors from time to time. This is unfortunately that frequent that we always add a checksum to detect such errors when sending g-code. It is not the most frequent thing but happens on some printers from time to time. With this pattern it is more likely to be a cable than a defect arduino in deed. I mean it works just signals get "modified" from time to time. It can also be that the frequency fas minimally changed. At 115200 baud the prusa is using I think the error in timing is 2.4% as there is no exact match of 16MHz to 115200 baud. But normally that is not enough for errors.
Sign In or Register to comment.