Ender 3 (with SKR 1.3 board) connection failure during print

What is the problem?
The print stops randomly after about one hour or two using Octprint and Octolapse.
What did you already try to solve it?
I've bought an original Raspberry Pi power supply and changed the stock mainboard to a SKR v1.3 with Marlin 2.0.1 Firmware. Also i changed the USB cable multiple times with no effect.
Printing with my other printer (Anycubic I3 Mega) didn't gave me any issue like this. As searching for this problem online i mostly found that the power supply or the USB cable was the problem which i already tried to sort out.
I've read about a temperature command and the printer not talking to the raspberry but i have no idea if this could help. Could this maybe have something to do with a firmware setting?
I've encountered this problem before the mainboard upgrade which was the main reason because i tried to fix the most obvious problems before with no effect.

2020-01-22 17:11:55,465 - octoprint.printer.standard.job - INFO - Print job deselected - user: n/a
2020-01-22 17:12:02,243 - octoprint.filemanager.analysis - INFO - Starting analysis of local:Vleugel_mechaniek.gcode
2020-01-22 17:12:02,249 - octoprint.filemanager.analysis - INFO - Invoking analysis command: /home/pi/oprint/bin/python2 -m octoprint analysis gcode --speed-x=6000 --speed-y=6000 --max-t=10 --throttle=0.0 --throttle-lines=100 /home/pi/.octoprint/uploads/Vleugel_mechaniek.gcode
2020-01-22 17:12:18,828 - octoprint.printer.standard.job - INFO - Print job selected - origin: local, path: Vleugel_mechaniek.gcode, owner: Dicke Berta, user: Dicke Berta
2020-01-22 17:12:18,836 - octoprint.util.comm - INFO - Changing monitoring state from "Operational" to "Starting"
2020-01-22 17:12:18,840 - octoprint.printer.standard.job - INFO - Print job started - origin: local, path: Vleugel_mechaniek.gcode, owner: Dicke Berta, user: Dicke Berta
2020-01-22 17:12:22,295 - octoprint.util.comm - INFO - Changing monitoring state from "Starting" to "Printing"
2020-01-22 17:12:22,310 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2020-01-22 17:16:46,386 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 17:31:46,387 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 17:46:46,388 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 18:01:46,390 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 18:16:46,391 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 18:31:46,392 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 18:46:46,393 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 19:01:46,394 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 19:14:32,741 - octoprint.server.util.sockjs - INFO - Client connection closed: ::ffff:192.168.2.44
2020-01-22 19:16:46,396 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 19:31:46,397 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 19:46:46,398 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 19:56:13,602 - octoprint.util.comm - ERROR - Unexpected error while reading from serial port
Traceback (most recent call last):
  File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/util/comm.py", line 2793, in _readline
    ret = self._serial.readline()
  File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/util/comm.py", line 4932, in readline
    c = self.read(1)
  File "/home/pi/oprint/local/lib/python2.7/site-packages/serial/serialposix.py", line 501, in read
    'device reports readiness to read but returned no data '
SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
2020-01-22 19:56:13,606 - octoprint.util.comm - ERROR - Please see https://faq.octoprint.org/serialerror for possible reasons of this.
2020-01-22 19:56:13,616 - octoprint.util.comm - INFO - Changing monitoring state from "Printing" to "Offline (Error: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)' @ comm.py:_readline:2793)"
2020-01-22 19:56:13,619 - octoprint.filemanager.analysis - INFO - Starting analysis of local:Vleugel_mechaniek.gcode
2020-01-22 19:56:13,622 - octoprint.filemanager.analysis - INFO - Invoking analysis command: /home/pi/oprint/bin/python2 -m octoprint analysis gcode --speed-x=6000 --speed-y=6000 --max-t=10 --throttle=0.0 --throttle-lines=100 /home/pi/.octoprint/uploads/Vleugel_mechaniek.gcode
2020-01-22 19:56:35,137 - octoprint.filemanager.analysis - INFO - Analysis of entry local:Vleugel_mechaniek.gcode finished, needed 21.52s
2020-01-22 20:01:46,400 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-22 20:06:29,425 - octoprint.server.util.flask - INFO - Passively logging in user Dicke Berta from ::ffff:192.168.2.44
2020-01-22 20:06:31,297 - octoprint.server.util.sockjs - INFO - New connection from client: ::ffff:192.168.2.44
2020-01-22 20:06:31,569 - octoprint.server.util.flask - INFO - Passively logging in user Dicke Berta from ::ffff:192.168.2.44
2020-01-22 20:06:34,380 - octoprint.plugins.announcements - INFO - Loaded channel _important from https://octoprint.org/feeds/important.xml in 0.14s
2020-01-22 20:06:34,609 - octoprint.plugins.announcements - INFO - Loaded channel _releases from https://octoprint.org/feeds/releases.xml in 0.13s
2020-01-22 20:06:35,054 - octoprint.plugins.announcements - INFO - Loaded channel _blog from https://octoprint.org/feeds/octoblog.xml in 0.14s
2020-01-22 20:06:35,233 - octoprint.plugins.announcements - INFO - Loaded channel _plugins from https://plugins.octoprint.org/feed.xml in 0.14s
2020-01-22 20:06:35,398 - octoprint.plugins.announcements - INFO - Loaded channel _octopi from https://octoprint.org/feeds/octopi.xml in 0.12s
2020-01-22 20:06:35,608 - octoprint.plugins.pluginmanager - INFO - Loaded plugin notices data from https://plugins.octoprint.org/notices.json
2020-01-22 20:06:35,836 - octoprint.server.util.sockjs - INFO - User Dicke Berta logged in on the socket from client ::ffff:192.168.2.44
2020-01-22 20:07:04,018 - octoprint.util.comm - INFO - Changing monitoring state from "Offline" to "Detecting serial port"
2020-01-22 20:07:04,075 - octoprint.util.comm - INFO - Changing monitoring state from "Detecting serial port" to "Opening serial port"
2020-01-22 20:07:04,084 - octoprint.util.comm - INFO - Changing monitoring state from "Opening serial port" to "Detecting baudrate"
2020-01-22 20:07:05,097 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2020-01-22 20:07:05,108 - octoprint.util.comm - INFO - Changing monitoring state from "Detecting baudrate" to "Operational"
2020-01-22 20:07:05,116 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2020-01-22 20:07:05,149 - octoprint.util.comm - INFO - Printer reports firmware name "Marlin 2.0.1 (GitHub)"
2020-01-22 20:07:05,170 - octoprint.util.comm - INFO - Firmware states that it supports temperature autoreporting
2020-01-22 20:07:12,889 - octoprint.util.comm - ERROR - Unexpected error while reading from serial port
Traceback (most recent call last):
  File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/util/comm.py", line 2793, in _readline
    ret = self._serial.readline()
  File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/util/comm.py", line 4932, in readline
    c = self.read(1)
  File "/home/pi/oprint/local/lib/python2.7/site-packages/serial/serialposix.py", line 501, in read
    'device reports readiness to read but returned no data '
SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
2020-01-22 20:07:12,890 - octoprint.util.comm - ERROR - Please see https://faq.octoprint.org/serialerror for possible reasons of this.
2020-01-22 20:07:12,893 - octoprint.util.comm - INFO - Changing monitoring state from "Operational" to "Offline (Error: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)' @ comm.py:_readline:2793)"

Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible)
OctoPrint 1.3.12
Octopi 0.17.0
Raspberrypi 4B 2GB with heatsinks and 30mm cooling fan
Canon M3 Camera
Chrome Browser

Are there any undervoltage warnings?

If there were any, where would I find them? Do they show up in the Octoprint log?
Sry I am not very familiar with this.

Yes - in the octoprint.log and there would be a warning in the webinterface.

So, did you check that link? It's not clear based on your post.

Sorry for this missing details, regarding the points in the faq link:

  • I run the Pi with the original with 5.1V and 3Amps

  • The SKR v1.3 has kind of like a switch which activate power supply via usb or the PSU so power loss over usb should not be a problem.

  • I only run one serial connection with the Pi

  • Printer is in an enclosure but i will look at that on future prints just to make sure that no cable comes lose.

  • I've tried various cables with no effect

  • Same as above

  • My other printer works well with the Pi, only the Ender 3 makes problem so the Pi should probably not be the issue.

I've also switchted the Pi to sort that out... no effect.
I will once again buy a new USB cable and will try that over the weekend, tried 3 or 4 until now.
The USB cable and the Pi itself are not arround some PSU or motor cables.

I've checked the last 8 log files and there were no undervoltage warnings.
Regarding the webinterface warnings, I don't use it that often but I wil take a look at that with the next prints.

I would disconnect this and test. I would also assume that the Pi4B runs hot, hotter still since it's in an enclosure. Look for an overheating event in the statusbar of OctoPrint (exclamation point) if you're running the Pi Support bundled plugin.

Will do!
The Pi is not in the enclosure itself, I should have mentioned that sorry. Also, a 120mm fan sucks out the air of the enclosure to prevent getting plastic fumes outside of it and therefore the temperature in the enclosure doesn’t get too hot. I didn’t measured it yet but the electronics don’t get hot so this should hopefully be fine.

The Pi is equipped with passive and active cooling (30mm fan), is this not enough for the Pi 4?

It's well known that the Pi4B runs too hot (without a dedicated always-on fan hovering above the CPU).

Check for a lightning bolt in the upper/right of the OctoPrint statusbar for overheating.

I took the liberty to change the title because that printer isn't stock any more with the SKR board installed. It's misleading without the note.

2 Likes

I am trying a new and shorter USB cable at the moment and therefore the Raspberry Pi has to be placed in the enclosure. I measured the temperature of the Pi with vcgencmd measure_temp multiple times and it did not exceed 45 degree Celsius which is good so this is probably not the problem.
A print with a different USB cable yesterday failed after about an hour with the following log:

2020-01-25 13:40:44,610 - octoprint.printer.standard.job - INFO - Print job selected - origin: local, path: Schraube.gcode, owner: Dicke Berta, user: Dicke Berta
2020-01-25 13:40:44,619 - octoprint.util.comm - INFO - Changing monitoring state from "Operational" to "Starting"
2020-01-25 13:40:44,628 - octoprint.printer.standard.job - INFO - Print job started - origin: local, path: Schraube.gcode, owner: Dicke Berta, user: Dicke Berta
2020-01-25 13:40:44,637 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2020-01-25 13:40:44,648 - octoprint.util.comm - INFO - Changing monitoring state from "Starting" to "Printing"
2020-01-25 13:47:23,868 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-25 14:02:23,870 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-25 14:17:23,872 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2020-01-25 14:19:14,381 - octoprint.server.util.sockjs - INFO - Client connection closed: ::ffff:192.168.2.44
2020-01-25 14:20:15,464 - octoprint.server.util.sockjs - INFO - New connection from client: ::ffff:192.168.2.44
2020-01-25 14:20:15,541 - octoprint.server.util.flask - INFO - Passively logging in user Dicke Berta from ::ffff:192.168.2.44
2020-01-25 14:20:15,558 - octoprint.server.util.sockjs - INFO - User Dicke Berta logged in on the socket from client ::ffff:192.168.2.44
2020-01-25 14:28:48,535 - octoprint.util.comm - ERROR - Unexpected error while reading from serial port
Traceback (most recent call last):
  File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/util/comm.py", line 2793, in _readline
    ret = self._serial.readline()
  File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/util/comm.py", line 4932, in readline
    c = self.read(1)
  File "/home/pi/oprint/local/lib/python2.7/site-packages/serial/serialposix.py", line 501, in read
    'device reports readiness to read but returned no data '
SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
2020-01-25 14:28:48,555 - octoprint.util.comm - ERROR - Please see https://faq.octoprint.org/serialerror for possible reasons of this.
2020-01-25 14:28:48,562 - octoprint.util.comm - INFO - Changing monitoring state from "Printing" to "Offline (Error: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)' @ comm.py:_readline:2793)"
2020-01-25 14:32:23,874 - octoprint.server.heartbeat - INFO - Server heartbeat <3

It seems that the client connection was closed somehow and then the print stopped.

Btw which ports are you using? If you're on the usb 3 ports try the usb 2 ones.

1 Like

I am using the 3.0 ports and will change to the 2.0 port for the next print.
I’ve done 3 test prints so far, each around 3,5h, and I didn’t ran into the problem with the new cable. But this is rather weird because the old cable did worked with my other printer but not with the ender 3.
I will test this more and see if it fails, fingers crossed...

After several test runs it seems that the problem is solved with the new shorter USB cable. I now was able to run a full 8hour timelapse!

I am really sorry for bothering you guys because you've must have heard and solved this problem probably a hundred times before but i was really at a point where i couldn't have gotten any further.

Thank you for all of your time, i really appreciate it!

2 Likes