Cannot connect printer after 1.4.2

I'm still seeing a lot of garbled communication even in the handshake. Something is up either with your USB cable or the controller itself if this persists even across firmware flashes.

Just for comparison, this is what's going over serial should look like when connecting:

Changing monitoring state from "Offline" to "Opening serial connection"
Connecting to port /dev/ttyACM0, baudrate 115200
Changing monitoring state from "Opening serial connection" to "Connecting"
Connected to: Serial<id=0x72810430, open=True>(port='/dev/ttyACM0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Send: N0 M110 N0*125
Recv: ok
Send: N0 M110 N0*125
Changing monitoring state from "Connecting" to "Operational"
Recv: ok
Send: N0 M110 N0*125
Recv: ok
Send: N1 M115*39
Recv: FIRMWARE_NAME:Marlin 2.0.5.4 (GitHub) SOURCE_CODE_URL:https://github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:Ender-3-Pro EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff
Recv: Cap:SERIAL_XON_XOFF:0
Recv: Cap:BINARY_FILE_TRANSFER:0
Recv: Cap:EEPROM:1
Recv: Cap:VOLUMETRIC:1
Recv: Cap:AUTOREPORT_TEMP:1
Recv: Cap:PROGRESS:0
Recv: Cap:PRINT_JOB:1
Recv: Cap:AUTOLEVEL:1
Recv: Cap:Z_PROBE:1
Recv: Cap:LEVELING_DATA:1
Recv: Cap:BUILD_PERCENT:0
Recv: Cap:SOFTWARE_POWER:0
Recv: Cap:TOGGLE_LIGHTS:0
Recv: Cap:CASE_LIGHT_BRIGHTNESS:0
Recv: Cap:EMERGENCY_PARSER:0
Recv: Cap:PROMPT_SUPPORT:0
Recv: Cap:AUTOREPORT_SD_STATUS:0
Recv: Cap:THERMAL_PROTECTION:1
Recv: Cap:MOTION_MODES:0
Recv: Cap:CHAMBER_TEMPERATURE:0
Recv: ok
Send: M21
Recv: echo:SD card ok
Recv: ok
Send: M155 S2
Recv: ok
Send: M20
Recv: Begin file list
Recv: SKR-MI~1.GCO 176
Recv: End file list
Recv: ok
Recv:  T:22.19 /0.00 B:23.44 /0.00 @:0 B@:0
Recv:  T:22.81 /0.00 B:21.87 /0.00 @:0 B@:0

Your serial.log on the other hand has once again weirdly merged many of these lines, not even with missing EOFs but overwrites in the middle. And comparing two connect attempts it also looks like only a subset of lines is event being transmitted each time that varies. Something's broken here:

Changing monitoring state from "Offline" to "Opening serial connection"
Connecting to port /dev/ttyUSB0, baudrate 115200
Changing monitoring state from "Opening serial connection" to "Connecting"
Connected to: Serial<id=0xaf131ed0, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Recv: start
Recv: echo:Marlin 1.1.9.1
Recv: 
Send: N0 M110 N0*125
Recv: echo:start                                            <-- printer boots twice?!
Recv: echo:Marlin 1.1.9.1
Recv: 
Recv: echo: Last Updated: 2020-06-20 | Auths: 1232          <-- garbled
Recv: echo:V56 stored settings retrieves; crc 51462)        <-- garbled
Recv: echo:  G21    ; (mm)
Recv: echo:  M149 C ; Units in Cel
Recv: echo:  M203 X500.00 Y500.00 Z10.00 E50.00
Recv: echo:Maximum Acceleraanced: Q<min_segment_time_us> S<min_feedrate> T<min_travel_feedr:Material heatup parameters:
                                                            ^-- garbled
Recv: echo:  M145 S0 H185 B45 F255
Recv: echo: echo:SD init fail
There was a timeout while trying to connect to the printer  <-- OctoPrint gives up since no ok was ever received
Changing monitoring state from "Offline" to "Detecting serial connection"
Performing autodetection with 6 port/baudrate candidates: /dev/ttyUSB0@115200, /dev/ttyS4@115200, /dev/ttyS3@115200, /dev/ttyS1@115200, /dev/ttyS0@115200, /dev/ttyS2@115200
Trying port /dev/ttyUSB0, baudrate 115200
Connecting to port /dev/ttyUSB0, baudrate 115200
Handshake attempt #1 with timeout 2.0s
Connected to: Serial<id=0xa50b0230, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=2.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Send: N0 M110 N0*125
Recv: start
Changing monitoring state from "Detecting serial connection" to "Operational"
Recv: echo:Marlin 1.1.9.1
Recv: 
Send: N0 M110 N0*125
Recv: echo:start                                            <-- printer boots twice?!
Recv: echo:Marlin 1.1.9.1
Recv: 
Recv: echo: Last Updated: 2020-06-20 | Author: (thisiskeithb, Ender-3)
Recv: echoecho:V56 stored settings retrieved (656 bytes; crc 51462)
                                                            ^-- garbled
Recv: echo: echo:  M200 D0                                  <-- garbled
Recv: echo:Steps per unit:
Recv: echo:  M92 X80.00 Y80.00 Z40ration (units/s2): P<print_accel> R<retract_accel> T<travel_acce
                                                            ^-- garbled
Recv: echo:  M205 Q20000 S0.00 T0.00 X20.00 Y20.00 Z0.30 E5.00
Recv: echo:H1.54 D76.55
Recv: echo:SD init fail
Communication timeout while idle, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
Send: N1 M115*39
Recv: FIRMWARE_NAME:Marlin 1.1.9.1 (Github) SOURCE_CODE_URL:https://gi:0
                                                            ^-- garbled
Recv: Cap:EEPROM:1
Recv: Cap:VOLUMETRIC:1
Recv: Cap:AUTOREPORT_TEMP:1
Recv: Cap:PROGRCY_PARSER:0
Recv: Cap:AUTOREPORT_SD_STATUS:0
Recv: Cap:THERMAL_PROTECTION:1
Communication timeout while idle, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
                                                            ^-- no ok from M115
Send: M21
Communication timeout while idle, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
                                                            ^-- M21 takes WAY too long, eject printer's SD?
Send: M105
Recv: echo:SD init fail                                     <-- M21 fails, printer's SD either not there or broken
Recv: ok
Send: M155 S2
Recv: ok T:24.02 /0.00 B:25.00 /0.00 @:0 B@:0

One thing I noticed is that the M21 command ("init SD") seems to take very long. If you have an SD card in your printer, try ejecting it. If not, try putting one in (DOS formatted, known to be good and not faulty). We've had weird printer controller freakouts due to wonky SD cards before here.

Hello b-morgan,

in the evening when i had time again to work on this and check back on my post i could not manage to read any more data from the SD Card...

2 days ago i could spend another hour... checked the SD Card for corrupted sectors and so on before formatting - looked good. Close to a new card...

Then i tryed if it is any hardware issue. Took my old image, used etcher, Set octoprint up again and printed the last 2 nights sucessfully ...
I fear, i cant provide any logs anymore....

My machine is an stock Ender 3 with Marlin fw flashed to it. It is the v1.8.7 TH3D Firmware.

Had exact same issue, I did some maintenance on my Tevo Tarantula and updated octoprint and couldn't get and keep a successful connection after it. I tried everything up to a full new OS and octoprint install, changed the USB cable and some of the other cables I had on hand since I found an old post mentioning that a faulty motor cable can cause USB issues and nothing helped. Was just about to flash new firmware to the printer when but I came across this post and decided to downgrade octoprint to 1.3.12.
After the downgrade I am not seeing the same issues with establishing a connection and everything is working again.

If y'all want to see this fixed (if there even is something I can fix, so far I've not seen anything that actually points at OctoPrint doing something wrong, rather just garbage on the line and similar things that are outside of OctoPrint's control and need to be fixed elsewhere), downgrading to 1.3.12 will not help. Coming in here stating "I have the exact same issue" without further data will not help. And before you ask, no, getting angry and calling me names won't help either. I need at the very least an octoprint.log and a serial.log from any kind of reproduction of this kind. And availability to answer questions or try out stuff. Unless you provide this, nothing about this situation can be done in any way.

You want to actually see this solved in some way? Post

  • an octoprint.log (IN FULL)
  • a serial.log (make sure it is actually enabled in Settings > Serial, post it IN FULL)
  • your printer make and model, ideally including the hardware revision of the controller board
  • the firmware you have on it (incl. version number!)
  • the output of running lsusb on your Pi/the system OctoPrint is installed on right after reproducing the issue (trying to connect and failing)
  • the output of running dmesg on your Pi/the system OctoPrint is installed on right after reproducing the issue (trying to connect and failing)

Without all of that supplied fully, anything here is just blind guess work and not going to lead to any kind of solution or workaround. Stay active in the thread and be patient.

And frankly, if you think this issue is frustrating for you, try to imagine having to try to analyze it without being able to reproduce it yourself on any printer and no insight at all into the setups it apparently happens in, if it is even the same issue for all of you chiming in here.

2 Likes

Glad to see Creality's QC on firmware to be as lacking as it's always been. Was going to move from the stock 1.1.18 to 1.1.19, but will hold off again.

Creality really needs to hire someone to produce a properly configured firmware. Seriously, they've got enough sales to justify someone with a big brain (or other body part) to sit down and produce this. Between the 8-bit and the 32-bit boards, CH340 vs FTDI serial, and the 3 different driver chips, they have 12 different board specs for just the Ender-3 alone, so I doubt that's going to happen.

So this ended up being a problem with the hardward I was running the octoprint on. (asus tinker board) I have moved it to an actual desktop server and the communication is flawless.

I would like to say a sincere thank you for your help and efforts. As a dev myself I know how hard it can be and with no logs or anything to go on you become even more frustrated. But as for myself, THANK YOU for your efforts! I wish I could have helped with the issue. Ended up that the tinker board sd card crashed on me and I couldn't continue testing the communication problems. I suspect between possible overheating and cpu throttling, added camera and such that it began causing issues with the serial communications. In that I can only suggest that even though it would appear that you didn't touch serial communication, could there be a side effect of some how the SoCs are throttling and serial communications is being affected? Just a thought as I was reading these posts and considering my own situation. But seriously THANKS again.

1 Like

I certainly have seen this with raspberry pis in throttle scenarios, but I can say anything about the tinkerboard due to a lack of experience with that.

I ran into the same problem. I removed my USB cord with tape over the power, replaced it with a new USB cable, and the printer connected. Then I put the original cable with the electrical tape back on and the printer connected again.

Im with you man, but I got prints i gotta make and im 600 miles from my printer that wont connect to my raspberry pi 4b. heres a list of the what happens with mine. my ender 3 worked on 1.4.1. after the update with no other changes, it reads " Offline (Error: No more candidates to test, and no working port/baudrate combination detected.).

Changing monitoring state from "Offline" to "Detecting serial connection"
Performing autodetection with 0 port/baudrate candidates:
Changing monitoring state from "Detecting serial connection" to "Error: No more candidates to test, and no working port/baudrate combination detected."
Changing monitoring state from "Error: No more candidates to test, and no working port/baudrate combination detected." to "Offline (Error: No more candidates to test, and no working port/baudrate combination detected.)"
Changing monitoring state from "Offline" to "Detecting serial connection"
Performing autodetection with 0 port/baudrate candidates:
Changing monitoring state from "Detecting serial connection" to "Error: No more candidates to test, and no working port/baudrate combination detected."
Changing monitoring state from "Error: No more candidates to test, and no working port/baudrate combination detected." to "Offline (Error: No more candidates to test, and no working port/baudrate combination detected.)"

My info is:
Printer: Creality Ender 3 with a BTT SKR mini E3 V2.0 mainboard
Raspberry Pi: 4B using octopi 0.17.0
Octoprint Version: 1.4.2
Octoprint version it worked on: 1.41
Is there any way to manually connect? I can't select the port or baud rate manually.
Thank you for the help.

See the comment above for the information required to analyse this issue:

Hi! I know I'm a bit late and I tried to read every single comment to make sure that I wasn't restating my temporary fix but I was having this problem too so out of just pure desperation I switched the USB port that my Ender 3 was connected to on my Pi, since the model I have has 4 USB ports. This has so far fixed the problem for me, though I am nowhere near as well versed in the code as some of the others who have posted on this thread and I have no clue what is actually causing the problem. But I can say that, unless I come back to edit this, my fix is to change the USB port on your Pi.

Hey I did the same thing, changed the USB port on the PI with no luck, changed the cables added a hub, pretty much everything even tried a usb isolator. The printer will connect to my computer with no problem.

I am also unable to successfully establish a connection from my new Raspberry Pi 4 to my Ender 3 v2. I've updated to OctoPrint 1.4.2 and get "Offline (Error: No more candidates to test, and no working port/baudrate combination detected.)." I've tried everything that I understand from the Octoprint help pages relating to this error, with no success. There are suggestions I don't quite understand, so I may need more info on how to try them. This is my first time setting up Octoprint and I am new to Linux, so I am new to this whole experience.

I have an Ender 3 v2 printer (firmware v1.0.2), and this Raspberry Pi 4: https://smile.amazon.com/gp/product/B07Z1QFLNH/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1

I have my USB to my printer connected in the Pi's USB 2.0 port, not the blue 3.0.

Logs:octoprint.log (47.5 KB) serial.log (1.8 KB)

I tried dmesg but don't see anything about "tty" in the output. I tried to pipe the dmesg output to a file and thought I was successful, but can't find the file on the microSD card when I load it in Windows (as mentioned I'm new to Linux). I am willing to try again if someone can help me understand what to do. I am currently running the non-UI OctoPrint but have tried both.

I don't know if this is related, but also seem to have something going wrong with my country settings for my keyboard, as it seems to still be using a GB keyboard even though you can see I have it commented out (and US uncommented) in my supplicant file below. If someone can help me fix that issue, or type a | from a US keyboard (for GB settings) I will try a dmesg | grep tty.

Thank you in advance.

My octopi-wpa-supplicant.txt:

# Use this file to configure your wifi connection(s).
#
# Just uncomment the lines prefixed with a single # of the configuration
# that matches your wifi setup and fill in SSID and passphrase.
#
# You can configure multiple wifi connections by adding more 'network'
# blocks.
#
# See https://linux.die.net/man/5/wpa_supplicant.conf
# (or 'man -s 5 wpa_supplicant.conf') for advanced options going beyond
# the examples provided below (e.g. various WPA Enterprise setups).
#
# !!!!! HEADS-UP WINDOWS USERS !!!!!
#
# Do not use Wordpad for editing this file, it will mangle it and your
# configuration won't work. Use a proper text editor instead.
# Recommended: Notepad++, VSCode, Atom, SublimeText.
#
# !!!!! HEADS-UP MACOSX USERS !!!!!
#
# If you use Textedit to edit this file make sure to use "plain text format"
# and "disable smart quotes" in "Textedit > Preferences", otherwise Textedit
# will use none-compatible characters and your network configuration won't
# work!

## WPA/WPA2 secured
network={
  ssid="mynetwork"
  psk="mypassword"
}

## Open/unsecured
#network={
#  ssid="put SSID here"
#  key_mgmt=NONE
#}

## WEP "secured"
##
## WEP can be cracked within minutes. If your network is still relying on this
## encryption scheme you should seriously consider to update your network ASAP.
#network={
#  ssid="put SSID here"
#  key_mgmt=NONE
#  wep_key0="put password here"
#  wep_tx_keyidx=0
#}

# Uncomment the country your Pi is in to activate Wifi in RaspberryPi 3 B+ and above
# For full list see: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
#country=GB # United Kingdom
#country=CA # Canada
#country=DE # Germany
#country=FR # France
country=US # United States

### You should not have to change the lines below ################
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

Do you have a sd card inserted into the printer? I think that makes a difference on newer creality boards.

In my series of "trying things," yes, I did have a card still in the printer! I took it out and rebooted the Pi, still the same issue. I also upgraded to the latest Creality Ender 3 firmware (1.0.2), which I think is newer than the stock firmware.

Are you suggesting the Ender 3 v2 is not supported?

I'm not saying it's not supported there are several posts here on the forum that dive into the different tricks that you have to do to get the newer creality machines, ender 3 v2 specifically that is due to bad firmware. From what I've seen you're better off flashing a stock marlin firmware using the example configs.

Well, I kept trying new USB cords (based on more reading) and lo and behold one of them appears to connect successfully!

Ive been having this problem.

How im fixing mine for now: turning off the printer, unplugging the usb,til the screen turns off, plugging in the USB again and checking octoprint after the ender 3 pros screen is lit (without being powered) then its detecting.

I have changed nothing in my setup since updating to 1.4.2, and ive been printing for 12 months with no hardware changes.

Edit: I swapped which USB port I was using on my Pi and I can now connect to my printer.

I am running into this issue as well. I have not done any printer modifications since going from 1.4.1 to 1.4.2.

serial.log (8.8 KB) octoprint.log (146.3 KB)

Printer: Creality Ender 3 pro
Printer firmware: 1.1.6.2 (have never changed the firmware since buying the printer)
lsusb output:

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

dmesg | tail output:

[   15.216258] Bluetooth: L2CAP socket layer initialized
[   15.216278] Bluetooth: SCO socket layer initialized
[   15.225412] Bluetooth: HCI UART driver ver 2.3
[   15.225424] Bluetooth: HCI UART protocol H4 registered
[   15.225476] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   15.225658] Bluetooth: HCI UART protocol Broadcom registered
[   15.542694] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   15.542703] Bluetooth: BNEP filters: protocol multicast
[   15.542724] Bluetooth: BNEP socket layer initialized
[   20.366450] TCP: request_sock_TCP: Possible SYN flooding on port 5000. Sending cookies.  Check SNMP counters.