dhrone / pydPiper

A general purpose program to display song metadata on LCD and OLED devices
MIT License
78 stars 36 forks source link

Display goes blank, no errors logged #38

Open davidjroos opened 5 years ago

davidjroos commented 5 years ago

I'm running pydPiper on two instances, volumio (provided by audiophonics.fr which includes pydPiper) and moOde (built using the moOde scripts, with pydPiper installed using your instructions https://github.com/dhrone/pydPiper/issues/20#issuecomment-392564527 ).

It's running on an 'AUDIOPHONICS RaspDAC I-Sabre ES9038Q2M V2'

The issue is the same in both installs, after ~15-45 minutes, the screen goes black. There are no error messages ('debug' level is set) and the pydpiper.service continues to run. Docker does not produce any errors that I can see.

I tried to run the script outside of docker to rule that out, but gave up after an hour of fighting python dependencies...

(I have verified that something SHOULD be on the screen at the time - it's not a matter of a blank screen being there because it it set to be so - music is playing (MPD) when the screen goes dark)

Is there any troubleshooting I can perform to rule out a software issue? (i.e. the screen might just be faulty)

Config as below:

[STARTUP]
startup_msg_duration = 2

[DISPLAY]
pagefile = pages_raspdac_16x2_dr.py
animation_smoothing = 0.15
display_driver = winstar_weg
display_pin_rs = 7
display_pin_e = 8
display_pin_d4 = 25
display_pin_d5 = 24
display_pin_d6 = 23
display_pin_d7 = 27
display_width = 80
display_height = 16
display_enable_duration = 0.1

[SYSTEM]
logfile = /var/log/pydPiper.log
loglevel = debug
timezone = Pacific/Auckland
time24hour = true
temperature = celsius

[SOURCE]
source_type = moode
mpd_server = localhost
mpd_port = 6600
davidjroos commented 5 years ago

This can be closed. Issue is caused by the raspberry pi onboard wifi making problems at a hardware level, nothing to do with pydPiper

dhrone commented 5 years ago

I'm glad you found the problem. Any chance you could provide a write-up of the issue. Others may find it useful if they run into something similar.

davidjroos commented 5 years ago

Sure:

Device is this guy

It's basically a fancy box with a fancy dac and a pretty screen attached to a RPI 3B+

There are a variety sold by audiophonics using the same screen. They provide a prebuilt volumio instance as well as a GitHub repo with details on installing pydPiper and configuring it for the device.

All works as expected, but after ~15 to 45 minutes the screen just goes blank. Restarting the pydPiper service is required to wake it up again, but it's not a software bug (as far as can be determined, I have no way of knowing if this issue can be caught and rectified in software) and the pydPiper service does not crash or log any issue in debug mode.

I contacted audiophonics and they indicated that the RPI (3B+) onboard wifi may causes 'perturbation on display wires' which I'm guessing translates to an electrical level issue that causes the display to zonk out.

Disabling the onboard wifi adapter (I also disabled bluetooth, just in case) allow the screen to run (for 24+ hours so far) without issue. I'm currently testing with a USB wifi dongle to ensure the same issue doesn't crop up that way, but have been using USB devices all along without issue, so I don't expect a similar situation.

Wifi It can be disabled by adding this line to /boot/config.txt and rebooting: dtoverlay=pi3-disable-wifi

You can disable bluetooth in the same way with: dtoverlay=pi3-disable-bt

Hope that helps anyone else who might be having a similar issue

davidjroos commented 5 years ago

So I've been playing with this one, and it's not related to bluetooth or wifi.

I've been using a script based on https://github.com/audiophonics/MoodAudio-RaspDAC-Script and it has been running for several weeks without the 'screen-going-off' issues I'm having with pydPiper (using the built in wifi)

This leads me to believe that there is an issue with pydPiper itself, of the docker instance somehow.

Are there any instructions for running pydPiper outside of docker? I tried to sort out the python dependencies but kept hitting dead ends. Would like to rule docker out.

Running on an rpi 3b+ if it's relevant!

dhrone commented 5 years ago

There are no instructions currently but it is something that I've got on my to-do list.

A few questions...

FYI, the RaspDac script you are running was the original version of pydPiper. The driver logic is similar to pydPiper with the difference that pydPiper treats the display as a graphics device and RaspDac-Display treats it as a character device.

davidjroos commented 5 years ago

- What distribution and version are you running?

I've had the issue with moOde 4.2 and 4.3 as well as Volumio (current and a version that shipped with my device from ~May)

- What display are you using?

Winstar OLED 16x2 display (WEG)

- How long does the display typically run before it goes blank?

Depends, shortest I've seen was a few seconds, usually ~10-15 minutes, occasionally as long as 45 minutes

- Does it ever go blank when not playing music (e.g. when displaying the time/weather pages)?

Yeah, doesn't matter what is being displayed, just the time or playing music, no difference

- If you restart pydPiper does the display start working again or does it require a power cycle?

Restarting the pydPiper service gets the display working again, a power cycle is not required.