OctoPrint Freezes w/HDMI Screen

What's the problem?
Connecting a 1024x600 touchscreen via HDMI (for OctoDash) appears to freeze OctoPrint and makes it inaccessible. Unplugging the touchscreen will allow OctoPrint to recover, but it takes a minute or two before I can refresh the webpage and it works again. The touchscreen (with OctoDash) works even if OctoPrint is frozen, though OctoDash will display an error when it tries to talk to OctoPrint. Issue is intermittent, since everything worked for the past couple months but stopped today (no changes besides booting up Pi)

What did you already try to solve it?
Debugging steps:
Disconnected touch (via USB) - didn't work
Isolated the power supplies so monitor was separately powered - didn't work
Checked that I could ping OctoPi while Octoprint was frozen - ping failed
Modified the config.txt file - temporarily worked

  • enabled hdmi_force_hotplug=1
  • enabled hdmi_group=2
  • enabled hdmi_mode=23
  • enabled hdmi_drive=1
    I tried other config.txt settings, including setting the following, but it didn't work either:
    hdmi_cvt=1024 600 60 6 0 0 0

With the above config.txt settings changed everything worked for for the past couple months. Turned on the Pi today, and it's back to where it was before: if screen plugged in --> no Octoprint

Additional information about my setup
OctoPrint v1.5.2 (latest)
OctoDash v2.1.2 (latest)
Raspberry Pi 3B+
Screen: TeNizo 7 inch Touchscreen Monitor (Amazon)
Printer: MakerGear M2 (not connected for these tests)

Logging
octoprint.log (735.2 KB)
syslog.log (717.1 KB)
haproxy.log (4.4 KB)

Where are your logs?

1 Like

Sorry! Added the logs OctoPi and OctoPrint logs to my initial post. From what I can tell, the syslog isn't showing anything on it, nor is haproxy.log.

To help with my debugging I changed the timezone via raspi-config this morning. The OctoPrint log now shows the correct time, but I'm not sure why the OctoPi time isn't syncing with it. Regardless, at just after 9:32 this morning I plugged in the screen, then tried to access the server via browser (it failed), and then at exactly 9:33 I unplugged the screen and shortly thereafter successfully connected to OctoPrint via browser.

I would start with everything hooked up in the begiining and not in the middle of octoprint already running. Also, is your touchscreen connecting via usb or via GPIO for the touch part?

Generally speaking I try a system reboot ever time I change something. So I've tried with screen connecting at boot and not connected at boot. Both HDMI and USB connected at boot, just HDMI, just USB, neither...

Touchscreen is connected via USB, which can also supply the 5V needed to power the screen. I've tried all sorts of combinations of powering the screen and none of it seemed to make a difference. Not having the touchscreen USB cable connected to the Pi never made a difference (besides touch not working obviously).

Right now the system's working again with a new HDMI cable. Since the issue has been intermittent, I'm not confident that the cable was the problem, since the original cable works absolutely fine with my windows computer and had worked fine with the Pi for more than a month.