I connect to the printer, can control movements, etc. from the menus. If i set the bed temperature to some value, it goes there. But after that i can't send any other commands. I looked at the serial.log and octoprint doesnt even generate "send" commands for anything else i try via the GUI. FOr example changing the temp again or going back to the control tab and manual trying to move.
This condition is only triggered after i change any value on the temperature tab. If i don't i can control the printer forever with the move commands in the GUI, it only goes bad after i set any temperature. And even after that as you can see on the log, Octoprint continues to receive messages from the printer. only receive as seen in the log and i can see them in terminal too.
Note: i am not printing anything, just manually controlling the printer from octoprint GUI
What did you already try to solve it?
restarted, tried different serial settings, etc.
Have you tried running in safe mode?
Yes
Did running in safe mode solve the problem?
No
Systeminfo Bundle
browser.user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Safari/605.1.15
connectivity.connection_check: 1.1.1.1:53
connectivity.connection_ok: true
connectivity.enabled: false
connectivity.online: true
connectivity.resolution_check: octoprint.org
connectivity.resolution_ok: true
env.hardware.cores: 2
env.hardware.freq: 2900
env.hardware.ram: 8230703104
env.os.bits: 64
env.os.id: linux
env.os.platform: linux
env.python.pip: 20.0.2
env.python.version: 3.8.10
env.python.virtualenv: true
octoprint.safe_mode: false
octoprint.version: 1.6.1
printer.firmware: Marlin bugfix-2.0.x (Sep 18 2021 00:09:29)
systeminfo.generator: systemapi
Here is the serial.log - the last "send" was line 140. after that no more sends even when i manually click temp change or moves on the menus. If i also write a command on the terminal and try to send i get nothing (no send registered in log file) so i don't think the printer is blocking anything as the "send" is not even attempted from octoprint
The M710 error was because i didn't have USE_CONTROLLER_FAN defined. Which i do now and the M710 error is gone, this is because the LCD is pinging for status i guess. Which of of course didnt fix the main issue. No plug-ins installed. Will upload systembundle next time
with an additional note, if i reconnect octoprint i can again go change the temp just once (without restarting printer) I also tried connecting directly through a separate terminal app and can control temp and issue unlimited commands with no blocking
Yeah, I spent a few minutes staring at that and missing it. What I don't see is any ok response, so this would be why OctoPrint doesn't send any further commands.
Way back at the start of this year, we had issues with oks for some commands being sent to the wrong serial ports (if there were multiple configured). I would guess you might have multiple ports, since the screen is using one.
Have you tried a few different versions of Marlin to see if it was a recent commit that introduced the problem?
Found that one as well. See in line 125, there's an ok on the end of that line. It should be on its own line, which would be why it's not been picked up.
So it is not a simple 'ok' like the other ones, there is where Octoprint gets stuck. That Recv: needs to be simply 'ok' - the question is: is there any place in Marlin or in Octoprint to change/parse this properly?
Try disabling action notifications in your firmware build and see if that fixes it. Looks like there's a missing newline at the end of all of them, since the one in the log provided above misses a NL twice & you end up with 3 commands at once.
Now what you can do is go to the Marlin repository, and submit a bug report here:
The best explanation is that action commands/notifications are missing a newline.
What you are missing out on is the printer being able to send action messages to OctoPrint, for example with filament sensors pausing the prints. It's highly recommend to enable that option usually, but at least now we know the cause of the problem, it can hopefully be fixed.