Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Solved: 8.3.1 Legacy on Pi Zero - failed upgrade.
#1
Edit: Solved with 8.3.2 bugfix.

Hi Folks,

I've just tried to upgrade my Pi Zero with the 8.3.1 image.  I tried in place update first, then used the image from within the Raspberry Pi Imager tool, then same to a fresh SD card, then finally the image downloaded directly from the moOde website.  With all of them, I get this:
Code:
20230417 160204 worker: --
20230417 160207 worker: -- Start moOde 8 series
20230417 160207 worker: --
20230417 160207 worker: Successfully daemonized
20230417 160207 worker: Waiting for Linux startup...
20230418 153713 worker: ERROR: Linux startup failed to complete after waiting 180 seconds

There's a bit of the UI available but it behaves very oddly, and I can get to the system via SSH, so that suggests to me that Linux has indeed started up.  Moodeutl commands seems to work.  It looks to me as if most of it is there, just the startup process is wating for a signal that never comes so it can continue.

Any ideas where I can look for what's up?
----------------
Robert
Reply
#2
Further info
Code:
master@prometheus:/ $ systemctl is-system-running
degraded
worker.php wants that to say "running".

Next question, how do I find what's degraded?
----------------
Robert
Reply
#3
And a bit more information: allowing a value of "degraded" in the worker.php lets things continue, and I've got a working system.  So the degradation isn't fatal it seems.
----------------
Robert
Reply
#4
Just tried a fresh install on 8.3.1 Legacy on an RPi Zero W. The webUI seems to come up ok but right from the get-go there are weirdnesses.
  • missing some information like host/player name and browser title in m>Config>System panel
  • from same panel, "System info" returns no information
  • entering via SSH, I get the MOTD
Code:
Linux: 6.1.21+ #1642 | armv6l (32-bit) | RaspiOS: 11.6
Model:
Audio: Pi HDMI 1


                     ____     __      ___
         __ _  ___  / __ \___/ /__   ( _ )
        /  ' \/ _ \/ /_/ / _  / -_) / _  |
       /_/_/_/\___/\____/\_,_/\__/  \___/

                moOde audio player
             Release 8.3.1 2023-04-17
               (C) 2014 Tim Curtis
...

From the command line


Code:
pi@m831b:~ $ moodeutl -s
Gathering info...
grep: /sys/class/leds/led0/trigger: No such file or directory
/var/www/util/sysinfo.sh: line 852: [: =: unary operator expected
/var/www/util/sysinfo.sh: line 859: [: =: unary operator expected

S Y S T E M   P A R A M E T E R S

moOde release        = 8.3.1 2023-04-17
RaspiOS            = 11.6
Linux kernel        = 6.1.21+ #1642
Platform        =
Architecture        = armhf (32-bit)
Home directory        = /home/pi
System uptime        = up 15 minutes
Timezone        = America/Detroit
Current time        = 2023-04-18 12:31:44

Host name        = m831b
Ethernet address    = unassigned
Ethernet MAC        = no adapter
WLAN address        = 10.0.0.245
WLAN MAC        = b8:27:eb:db:b3:93
WLAN country        = US
WLAN AP SSID        = Moode
WLAN AP chan        = 6
WLAN AP router        = Off

SoC identifier        = bcm2835
Core count        = 1
Kernel timer freq    = 100 Hz
SDCard freq        = 50 MHz
USB boot        = not available
Warranty        = OK

Root size        = 29G
Root used        = 10%
Root available        = 26G
Root expand        = expanded
Memory total        = 439 MB
Memory free        = 329 MB
Memory used        = 110 MB
SoC temperature        = 36.9°C
Throttled bitmask    = 0x0
Throttled text        = No throttling has occurred

CPU governor        = ondemand
USB auto-mounter    = udisks-glue
Onboard WiFi        = None
Onboard BT        = None
HDMI output        = On
LED state        = 1,1
IP addr timeout        = 90 (secs)
Ethernet check        = No
SSH term server        = Off

SMB file sharing    = Off
NFS file sharing    = Off
NFS access        =
NFS options        = rw,sync,no_subtree_check,no_root_squash

PHP-FPM version        = 7.4.33
NGINX version        = 1.18.0
SQLite3 version        = 3.34.1
Hostapd version        = 2.9
RPi.GPIO version    = 0.7.0

A U D I O   P A R A M E T E R S

Audio device        = Pi HDMI 1
Interface        = SOC
Mixer name        = HDMI
Hardware mixer        = Yes
Supported formats    = U8, S16_LE
ALSA max volume        = 100
ALSA output mode    = Default (plughw)
ALSA loopback        = Off
MPD max volume        = 100
Volume step limit    = 10
Display dB volume    = Off
Audio source        = Local
Output device        = Local
Resume MPD        = No
Volume knob        = 0
Volume mute        = Unmuted
Saved MPD vol        = 0
Preamp volume        = 0
ALSA version        = 1.2.4-1.1+rpt2
SoX version        = 0.1.3-4+rpi1

Bluetooth controller    = Off
Pairing agent        = Off
AirPlay receiver    = Off
Spotify receiver    = Off
Squeezelite        = Off
RoonBridge        = Not installed
UPnP client        = Off
DLNA server        = Off
GPIO button handler    = Off
Multiroom sender    = Off
Multiroom receiver    = Disabled

Auto-shuffle        = Off
Ashuffle mode        = Track
Ashuffle filter        = None
Autoplay        = Off
Rotary encoder        = Off
Encoder params        = 100 2 3 23 24
USB volume knob        = Off
Polarity inversion    = Off
Crossfeed        = Off
Crossfade        = Off
Parametric EQ        = Off
Graphic EQ        = Off
CamillaDSP        = off
CamillaDSP volsync    = Off
MPD httpd        = Off
Ignore CUE files    = Yes

P R E F E R E N C E S

Appearance
----------------------
Theme            = Default
Accent color        = Carrot
Alpha blend        = 1.0
Adaptive background    = No
Background image    = No
Cover backdrop        = No
Cover blur        = 20px
Cover scale        = 1.25
Renderer backdrop    = No
Font size        = Normal
Native lazyload        = Yes

Playback
----------------------
Show Queue thumbs    = Yes
Show Now-playing icon    = Yes
Show CoverView playbar    = Yes
Show extra metadata    = album,genre,track,disc,date,composer,conductor,performer,encoded
Search site        = Google
Playback history log    = No

Library
----------------------
One touch album        = Play
One touch radio        = Play
One touch playlist    = No action
Albumview sort order    = by Artist
Tagview sort order    = by Artist
Track play        = Track
Recently added        = 1 Month
Show sample rate    = No
Cover search pri    = Embedded cover
Pixel ratio        = 1
Thumbnail resolution    = Auto
Thumbnail columns    = 6/2 (Default)

Library (Advanced)
----------------------
Tag view genre        = Genres
Tag view artist        = Artist
Album key        = Album@Artist (Default)
Include comment tag    = No
Library filter        = full_lib
Library filter str    =
Ignore articles        = a,an,the
Show tagview genres    = Yes
Show tagview covers    = Yes
Ellipsis limited text    = No
UTF8 character filter    = No

CoverView
----------------------
Timed display        = Never
Automatic display    = Off
Backdrop style        = Gradient (Linear)
Display mode        = Cover
Layout            = Default
Extra metadata        = No

R A D I O   M A N A G E R   S E T T I N G S

Sort tag        = Name
Group method        = No grouping
Show moOde stations    = No action
Show other stations    = No action

P L A Y L I S T   M A N A G E R   S E T T I N G S

Sort tag        = Name
Group method        = No grouping

M P D   S E T T I N G S

Version            = 0.23.12
Volume type        = hardware
SoX resampling        = disabled
Selective resampling    = disabled
SoX quality        = high
SoX multithreading    = off
DSD over PCM (DoP)    = no
Replaygain        = off
Replaygain preamp    = 0
Volume normalization    = no
Audio buffer        = 4 (MB)
Output buffer size    = 128 (MB)
Max playlist items    = 16384
Input cache        = Disabled
Device buffer        = 500 (ms)
Device period        = 125 (ms)

B L U E T O O T H   S E T T I N G S

Version            = 5.55
Bluealsa        = v3.0.0
Pairing agent        = 1.0.0
Pi-Bluetooth        = 0.1.19
Resume MPD        = No
PCM buffer time        = 500000 (μs)

A I R P L A Y   S E T T I N G S

Version            = 4.1.1
Friendly name        = Moode AirPlay
Interpolation        = soxr
Output bit depth    = S16
Output sample rate    = 44100
Session interruption    = no
Session timeout        = 120 (ms)
Latency offset        = 0.0 (secs)
Audio buffer        = 0.2 (secs)
Resume MPD        = No

S P O T I F Y   S E T T I N G S

Version            = 0.4.2
Friendly name        = Moode Spotify
Bitrate (kbps)        = 160
Format            = S16
Dither            = Automatic (Default)
Volume curve        = log
Volume range (dB)    = 60
Initial volume (%)    = 0
Volume normalization    = No
Method            = dynamic
Gain type        = auto
Pregain (dB)        = 0
Threshold (dBFS)    = -2
Attack (ms)        = 5
Release (ms)        = 100
Knee            = 1
Autoplay        = No
Resume MPD        = No

S Q U E E Z E L I T E   S E T T I N G S

Version            = 1.9.8-1317 "DSD/SRC enabled"
Friendly name        = Moode
ALSA device        = hw:0
ALSA params        = 80:4::1
Output buffers        = 40000:100000
Task priority        = 45
Codec list        = flac,pcm,mp3,ogg,aac,alac,dsd
Other options        = -W -D 500 -R E -S /var/local
Resume MPD        = No

L O C A L   D I S P L A Y   S E T T I N G S

Local UI display    = Off
Mouse cursor        = On
Screen blank        = 600 Secs
Wake display on play    = Off
Brightness        = 255
Pixel aspect ratio    = Default
Rotate screen        = 0 Deg

M O O D E   S T A R T U P   L O G

20230417 110231 worker: --
20230417 110235 worker: -- Start moOde 8 series
20230417 110235 worker: --
20230417 110235 worker: Successfully daemonized
20230417 110236 worker: Waiting for Linux startup...
20230418 122026 worker: ERROR: Linux startup failed to complete after waiting 180 seconds
pi@m831b:~ $


Which ends as described by @the_bertrum.

ETA: and systemctl reports "degraded".

Regards,
Kent
Reply
#5
This is the cause of the "degraded" status:
Code:
master@prometheus:~ $ systemctl --failed
 UNIT            LOAD   ACTIVE SUB    DESCRIPTION
● haveged.service loaded failed failed Entropy Daemon based on the HAVEGE algorithm

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
1 loaded units listed
Now to find what that does....
----------------
Robert
Reply
#6
Code:
sudo systemctl disable haveged
followed by a reboot and the system starts and all is well.

I've no idea what disabling that service might do though...  It is something to do with "entropy".
----------------
Robert
Reply
#7
Yeah, the entropy is a thing but shouldn't be cropping up here.

By way of contrast to my Zero-W experience

1) fresh install of the 64bit moOde 8.3.1 on a Pi4B seems to have gone through without issue. No weirdness discovered yet.

2) attempt to update a 64bit moOde 8.3.0 on a Pi3A seemed to work but resulted in weirdness (updater claimed to install new kernel but moodeutl reported old one; the update check kept claiming there was an update available). I thought I'd rebooted after the update but it's possible I reboot the wrong player in the heat of the moment. Anyway, rebooting again seems to have cleared things up.

moodeutl still reports the missing file


Code:
Gathering info...
grep: /sys/class/leds/led0/trigger: No such file or directory
...

Regards,
Kent
Reply
#8
(04-18-2023, 05:12 PM)TheOldPresbyope Wrote: Yeah, the entropy is a thing but shouldn't be cropping up here.

By way of contrast to my Zero-W experience

1) fresh install of the 64bit moOde 8.3.1 on a Pi4B seems to have gone through without issue. No weirdness discovered yet.

2) attempt to update a 64bit moOde 8.3.0 on a Pi3A seemed to work but resulted in weirdness (updater claimed to install new kernel but moodeutl reported old one; the update check kept claiming there was an update available). I thought I'd rebooted after the update but it's possible I reboot the wrong player in the heat of the moment. Anyway, rebooting again seems to have cleared things up.

moodeutl still reports the missing file


Code:
Gathering info...
grep: /sys/class/leds/led0/trigger: No such file or directory
...

Regards,
Kent

My 64bit players (Pi4) both upgraded without an issue (one in place, one fresh install then restore from backup).
I too get that missing file report on both.
----------------
Robert
Reply
#9
(04-18-2023, 05:34 PM)the_bertrum Wrote:
(04-18-2023, 05:12 PM)TheOldPresbyope Wrote: Yeah, the entropy is a thing but shouldn't be cropping up here.

By way of contrast to my Zero-W experience

1) fresh install of the 64bit moOde 8.3.1 on a Pi4B seems to have gone through without issue. No weirdness discovered yet.

2) attempt to update a 64bit moOde 8.3.0 on a Pi3A seemed to work but resulted in weirdness (updater claimed to install new kernel but moodeutl reported old one; the update check kept claiming there was an update available). I thought I'd rebooted after the update but it's possible I reboot the wrong player in the heat of the moment. Anyway, rebooting again seems to have cleared things up.

moodeutl still reports the missing file


Code:
Gathering info...
grep: /sys/class/leds/led0/trigger: No such file or directory
...

Regards,
Kent

My 64bit players (Pi4) both upgraded without an issue (one in place, one fresh install then restore from backup).
I too get that missing file report on both.

Yes me too and because of it no led control or my own play indicator. A minor nit.
Reply
#10
I'll have to see if I still have a zero somewhere to run some tests on :-0

1. Looks like the is-running check needs enhancing. The check is there to prevent a race condition where worker gets ahead of Linux processing the firstrun.sh script generated by the Pi Imager. When this happens WiFi credentials get overwritten.

2. Entropy references the amount of "randomness" thats been generated and stored by Linux during its startup. This is needed for things like generating wpa keys etc. Long ago it was necessary to add the haveged service to ensure enough entropy was generated but now it may not be needed anymore?

3. I'll investigate the error from Sysinfo. Prolly just need to redirect error output to null.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply


Forum Jump: