Posts: 434
Threads: 10
Joined: Apr 2018
Reputation:
28
Hi Tim
After the failure to start mpd_oled the wrkready parameter is not set to 1, it still has a value of 0
Code: pi@moode832:~ $ systemctl status mpd_oled
● mpd_oled.service - MPD OLED Display
Loaded: loaded (/etc/systemd/system/mpd_oled.service; enabled; vendor preset: enabled)
Active: failed (Result: timeout) since Wed 2023-05-03 12:11:29 CEST; 55min ago
Process: 395 ExecStartPre=/usr/bin/mpd_oled_launch_test (code=killed, signal=TERM)
CPU: 3.967s
May 03 12:08:12 moode832 systemd[1]: Starting MPD OLED Display...
May 03 12:11:29 moode832 systemd[1]: mpd_oled.service: start-pre operation timed out. Terminating.
May 03 12:11:29 moode832 systemd[1]: mpd_oled.service: Control process exited, code=killed, status=15/T>
May 03 12:11:29 moode832 systemd[1]: mpd_oled.service: Failed with result 'timeout'.
May 03 12:11:29 moode832 systemd[1]: Failed to start MPD OLED Display.
May 03 12:11:29 moode832 systemd[1]: mpd_oled.service: Consumed 3.967s CPU time.
pi@moode832:~ $ moodeutl -q "select value from cfg_system where param='wrkready'"
0
Adrian.
Posts: 13,351
Threads: 302
Joined: Mar 2018
Reputation:
538
(05-03-2023, 11:11 AM)adrii Wrote: Hi Tim
After the failure to start mpd_oled the wrkready parameter is not set to 1, it still has a value of 0
Code: pi@moode832:~ $ systemctl status mpd_oled
● mpd_oled.service - MPD OLED Display
Loaded: loaded (/etc/systemd/system/mpd_oled.service; enabled; vendor preset: enabled)
Active: failed (Result: timeout) since Wed 2023-05-03 12:11:29 CEST; 55min ago
Process: 395 ExecStartPre=/usr/bin/mpd_oled_launch_test (code=killed, signal=TERM)
CPU: 3.967s
May 03 12:08:12 moode832 systemd[1]: Starting MPD OLED Display...
May 03 12:11:29 moode832 systemd[1]: mpd_oled.service: start-pre operation timed out. Terminating.
May 03 12:11:29 moode832 systemd[1]: mpd_oled.service: Control process exited, code=killed, status=15/T>
May 03 12:11:29 moode832 systemd[1]: mpd_oled.service: Failed with result 'timeout'.
May 03 12:11:29 moode832 systemd[1]: Failed to start MPD OLED Display.
May 03 12:11:29 moode832 systemd[1]: mpd_oled.service: Consumed 3.967s CPU time.
pi@moode832:~ $ moodeutl -q "select value from cfg_system where param='wrkready'"
0
Adrian.
That would suggest worker.php has exited, possibly after the 3 min wait for Linux startup.
Posts: 434
Threads: 10
Joined: Apr 2018
Reputation:
28
Hi Tim
Yes, worker.php is no longer running
Code: pi@moode832:~ $ pgrep worker.php
pi@moode832:~ $
Adrian.
Posts: 434
Threads: 10
Joined: Apr 2018
Reputation:
28
I have updated the mpd_oled repository and binary packages with a fix for mpd_oled not starting on Moode 8.3.2.
Adrian.
Posts: 565
Threads: 5
Joined: Mar 2020
Reputation:
30
(05-14-2023, 10:43 AM)adrii Wrote: I have updated the mpd_oled repository and binary packages with a fix for mpd_oled not starting on Moode 8.3.2.
Adrian.
Hi Adrian,
I am sorry to disturb you: probably I am too old to see any difference beetwen "launch" and previous "launch_test"; would you please bo so kind to explain me?
Thanks a lot and best regards,
Francesco
Posts: 434
Threads: 10
Joined: Apr 2018
Reputation:
28
05-14-2023, 11:47 AM
(This post was last modified: 05-14-2023, 11:48 AM by adrii.)
Hi Francesco
mpd_oled_launch_test was a script that the service ran as a test before executing mpd_oled, when it returned the service knew that the Moode startup flag was set and it could execute mpd_oled directly.
mpd_oled_launch is a script that the service runs instead of executing mpd_oled directly, and does not use a separate test script. The script waits for Moode to set the startup flag, and then the script executes mpd_oled.
The difference is, the service now indicates it has started correctly before the Moode startup flag is set, and so the Moode startup is not blocked by the failure to start the mpd_oled service, but execution of mpd_oled is still deferred until after the startup flag is set.
Adrian.
Posts: 565
Threads: 5
Joined: Mar 2020
Reputation:
30
(05-14-2023, 11:47 AM)adrii Wrote: Hi Francesco
mpd_oled_launch_test was a script that the service ran as a test before executing mpd_oled, when it returned the service knew that the Moode startup flag was set and it could execute mpd_oled directly.
mpd_oled_launch is a script that the service runs instead of executing mpd_oled directly, and does not use a separate test script. The script waits for Moode to set the startup flag, and then the script executes mpd_oled.
The difference is, the service now indicates it has started correctly before the Moode startup flag is set, and so the Moode startup is not blocked by the failure to start the mpd_oled service, but execution of mpd_oled is still deferred until after the startup flag is set.
Adrian.
Thanks, Adrian,
Have a nice Sunday,
Francesco
Posts: 434
Threads: 10
Joined: Apr 2018
Reputation:
28
For anyone updating Moode to 8.3.2 (or greater) and then updating mpd_oled because it is not working correctly, mpd_oled may continue to not work correctly. This is because reinstalling mpd_oled will not overwrite the old service file. For anyone affected...
Print your current mpd_oled options that are in the service file
Code: grep ExecStart= /etc/systemd/system/mpd_oled.service
Now uninstall the mpd_oled service, install it again, and configure your mpd_oled options again. To do this, run the following commands, but in the final command use your mpd_oled options instead of the example ones
Code: sudo mpd_oled_service_uninstall
sudo mpd_oled_service_install
sudo mpd_oled_service_edit -o 0 -b 20 -g 1 -f 20 -c alsa,plughw:Loopback,1
mpd_oled should now be working correctly!
Adrian.
Posts: 1,537
Threads: 106
Joined: Mar 2018
Reputation:
73
(05-17-2023, 06:05 PM)adrii Wrote: For anyone updating Moode to 8.3.2 (or greater) and then updating mpd_oled because it is not working correctly, mpd_oled may continue to not work correctly. This is because reinstalling mpd_oled will not overwrite the old service file. For anyone affected...
Print your current mpd_oled options that are in the service file
Code: grep ExecStart= /etc/systemd/system/mpd_oled.service
Now uninstall the mpd_oled service, install it again, and configure your mpd_oled options again. To do this, run the following commands, but in the final command use your mpd_oled options instead of the example ones
Code: sudo mpd_oled_service_uninstall
sudo mpd_oled_service_install
sudo mpd_oled_service_edit -o 0 -b 20 -g 1 -f 20 -c alsa,plughw:Loopback,1
mpd_oled should now be working correctly!
Adrian. Brilliant ! worked first time for 8.3.3 You deserve a medal for your ongoing support !
Where can I donate a coffee or two ?
----------
bob
Posts: 434
Threads: 10
Joined: Apr 2018
Reputation:
28
Hi Bob
Your kind message is thanks enough!
Adrian.
|