Устройство сообщает о готовности к чтению, но не возвращает никаких данных

Я внезапно не могу подключиться к своему 3D-принтеру Creality Ender 3 Pro (CrealityV4.2.2) через USB/последовательный порт с помощью Octoprint. Вот некоторые журналы Octoprint:

2024-06-21 19:37:05,147 - octoprint.util.comm - INFO - Changing monitoring state from "Offline" to "Detecting serial connection"
2024-06-21 19:37:05,153 - octoprint.util.comm - INFO - Serial detection: Performing autodetection with 10 port/baudrate candidates: /dev/ttyUSB5@115200, /dev/ttyUSB5@250000, /dev/ttyS0@115200, /dev/ttyS0@250000, /dev/ttyS3@115200, /dev/ttyS3@250000, /dev/ttyS2@115200, /dev/ttyS2@250000, /dev/ttyS1@115200, /dev/ttyS1@250000
2024-06-21 19:37:05,153 - octoprint.util.comm - INFO - Serial detection: Trying port /dev/ttyUSB5, baudrate 115200
2024-06-21 19:37:05,154 - octoprint.util.comm - INFO - Connecting to port /dev/ttyUSB5, baudrate 115200
2024-06-21 19:37:05,202 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #1 with timeout 2.0s
2024-06-21 19:37:05,205 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2024-06-21 19:37:05,910 - octoprint.server - INFO - Autorefresh of serial port list stopped
2024-06-21 19:37:07,212 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #2 with timeout 2.0s
2024-06-21 19:37:07,213 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2024-06-21 19:37:07,218 - octoprint.util.comm - ERROR - Unexpected error while reading from serial port
Traceback (most recent call last):
  File "/home/ealfonso/.venv/lib/python3.11/site-packages/octoprint/util/comm.py", line 4081, in _readline
    ret = self._serial.readline()
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ealfonso/.venv/lib/python3.11/site-packages/octoprint/util/comm.py", line 6832, in readline
    c = self.read(1)
        ^^^^^^^^^^^^
  File "/home/ealfonso/.venv/lib/python3.11/site-packages/serial/serialposix.py", line 595, in read
    raise SerialException(
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
2024-06-21 19:37:07,221 - octoprint.util.comm - ERROR - Please see https://faq.octoprint.org/serialerror for possible reasons of this.
2024-06-21 19:37:07,223 - octoprint.util.comm - INFO - Changing monitoring state from "Detecting serial connection" to "Offline after error"
2024-06-21 19:37:07,225 - octoprint.server - INFO - Starting autorefresh of serial port list
2024-06-21 19:37:07,227 - octoprint.plugins.action_command_notification - INFO - Notifications cleared
2024-06-21 19:46:36,410 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2024-06-21 20:01:36,410 - octoprint.server.heartbeat - INFO - Server heartbeat <3

Некоторые из недавних изменений или событий, которые могут иметь значение:

  1. Недавно я установил датчик Z-зонда, например BLTouch или CRTouch
  2. Я наношу силикон на штифты 3+2 перед тем, как закрыть нижнюю крышку
  3. Прямо перед сбоями соединения я получил синий экран смерти «M112 shutdown» после попытки выполнить команду M420 S1 из Octoprint
  4. Принтер отлично работает с SD-карты
  5. Я попробовал заблокировать USB 5 В лентой, как предлагается в OctoPrint случайным образом теряет соединение с принтером с "SerialException", но это не помогло
  6. Я пробовал использовать разные кабели, но это не помогло. 7 Я попробовал перепрошить прошивку Marlin (bugfix-2.1.x) через SD-карту, это сработало, но не решило проблему с подключением
  7. Я пробовал подключать принтер к разным машинам, на которых работает Octoprint, все экземпляры Octoprint сообщают об одной и той же ошибке последовательного подключения

Как мне устранить эту проблему с подключением? Я думаю заказать замену платы, но я хотел бы иметь возможность устранить проблему.

, 👍0


2 ответа


0

Проблема, похоже, спонтанно разрешилась после повторного открытия нижней крышки платы и перестановки некоторых кабелей на столе. Возможно, имелись какие-то электрические помехи, вызывающие проблемы с последовательным соединением кабеля USB.


,

1

Проблема иногда сохранялась только на 1/2 машин, на которых работал octoprint. Я нашел этот комментарий относительно настроек «Последовательный порт» и «Скорость в бодах». Я заметил, что оба параметра были установлены на значение «АВТО» на сервере с работающим соединением, но на сервере, на котором произошел сбой, были установлены на фиксированные значения, отличные от «АВТО». Установка обоих параметров на значение «АВТО» решила проблему.

,