Thank you for your donation!


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


Problem: Moode unresponsive for 3-5 Minutes
#11
I'm not sure about the root cause.
I now tested also with moode 5.3 instead of 5.3.1 with the same result (5.4 beta I can't test, because my only avaliable spare SDcard is only 4GB and too small for 5.4).
Test-Environment:
- RPi Zero W/H + Justboom Amp
- Moode installation "out of the box"
- only configuration change: WiFi settings to connect to my WiFI, SSH enabled and Justboom enabled
- Pi is running in a completely headless configuration random init is done.

I can push play as soon as the Webinterface comes up but no audio comes out of the speaker. As soon as "random init is done", I see "pcm512x 1-004d: No SCLK, using BCLK: -" and audio starts.

I think, we should not waste time finding the root cause. For me using havegred fixes the issue, so it's fine for me.
Anyway, I'm pretty sure, that in the beginning, my moode installation was running without any issue but I can't remember which with version I started...
Reply
#12
@ghoeher

The important thing is you get to "enjoy the music" if I may steal Tim's tagline.

I was the kid who was still nagging my teacher with "why" at the end of class when everybody else had left for lunch Rolleyes 

Guess what happens when I nag Ma Google about "pcm512x 1-004d: No SCLK, using BCLK:"? I get hits from a number of sites stretching back years, including a post...ahem...from me...to our old diyaudio.com forum dated May 2016! This was back in the days of moOde 2.x. Still tracing thru all the hits looking for root causes.

As an aside, I also found posts to the same forum in the same time period concerning a Bluetooth multi-media remote, the same topic I'm pursuing now. 

What goes around, comes around, I guess, but it's depressing to see evidence of how much I've forgotten over the years <heavy sigh>.

Regards,
Kent
Reply
#13
@ghoeher

It's starting to come back to me now. 

When the HiFiBerry DAC+ Pro was released they fielded a driver which could work with either the existing DAC+ or the new DAC+ Pro. AIUI, the driver determines which board is present by sensing for a functioning onboard master-clock system (which generates SCLK). If found, it assumes the DAC+ Pro and sets up for master-clock mode. If not found, it assumes the DAC+ and defaults to slave-clock mode (which uses BCLK). Their driver seems to be used with a lot of other vendors' boards containing the same DAC chipsets.

This would explain why I'm not seeing this message with the same driver; I'm using a DAC+ Pro. I'll have to dig out an old DAC+ HAT and see if I can repro your issue.

In any case, all this message is telling us is that the driver is defaulting to slave-mode. Seeing it just means the driver is finishing initialization (hence it can begin playing). It seems to me this process shouldn't need to block while waiting for random/crng to initialize, but I'm not a driver writer. Can't say more.

Regards,
Kent
Reply
#14
@ghoeher

The forensics on this are murky. It looks like a bug was introduced in kernel 4.16 work which can cause blocking. Since moOde 5.3.1 is already at kernel 4.19.49+ I should have thought subsequent kernel patches have taken care of the problem, but perhaps not. In any case, it's not clear which sources contribute enough data to the entropy generator to avoid the delay issue on some moOde 5.3.1 installations (like mine).

Your solution of adding haveged is one way to speed up the entropy generation. An alternative is to install rng-tools. Neither is installed in a default Raspbian Stretch installation which is the basis for moOde 5.3.1.

It should be noted in moOde 5.4beta2 which is based on Raspbian Buster and kernel 4.19.57+ that rng-tools is already installed (one of the running processes is /usr/sbin/rngd). I would not expect moOde 5.4beta2 (soon to be released as moOde 6.0) users to experience the same delay.

Regards,
Kent
Reply
#15
Hi Kent,

I was aware that also rng-tools could help, but as I was not aware that the PI has a hardware random number generator (which is required for rng-tools afaik) I've chosen haveged.

As I now learned that the Pi really has a hardware integrated random generator, I also would prefer the rng-tools.

Even if it's not really important as we know solutions/workarounds for this issue, I'm also puzzling regarding the question what generates enough entropy on your system, whereas mine don't. Which additional hardware do you have attached to the Pi?

In my case, it's completely headless with only SDCard, Justboom Amp Zero and a rotary switch. With this combination I can reproduce the issue on a Pi Zero and a Pi 3a+.
Reply
#16
(07-22-2019, 05:09 PM)ghoeher Wrote: Hi Kent,

I was aware that also rng-tools could help, but as I was not aware that the PI has a hardware random number generator (which is required for rng-tools afaik) I've chosen haveged.

As I now learned that the Pi really has a hardware integrated random generator, I also would prefer the rng-tools.

Even if it's not really important as we know solutions/workarounds for this issue, I'm also puzzling regarding the question what generates enough entropy on your system, whereas mine don't. Which additional hardware do you have attached to the Pi?

In my case, it's completely headless with only SDCard, Justboom Amp Zero and a rotary switch. With this combination I can reproduce the issue on a Pi Zero and a Pi 3a+.


I checked just now with moOde 5.3.1 on an RPi3B+, headless, WiFi client mode, I2S HiFiBerry DAC+ Pro. No haveged, no rng-tools.  The moodeutl -i output below shows what's enabled and what's not.

Rebooted. Took about a minute for the system to respond to an ssh login request and for the UI to appear. Then I could immediately start playing a radio stream.

Code:
pi@moodeLR:~ $ dmesg|grep rng
[    0.000000] random: get_random_bytes called from start_kernel+0xac/0x4b4 with crng_init=0
[    0.251875] bcm2835-rng 3f104000.rng: hwrng registered
[    4.304939] random: crng init done

(sorry, the forum software won't let me attach the following information as a text file!?!):

Code:
pi@moodeLR:~ $ moodeutl -i
Generating system info...

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

    Date and time    = 2019-07-22 16:03:42
    System uptime    = up 16 minutes
    Timezone    = America/New_York
    Release        = moOde 5.3.1 2019-06-12
    Update        = None    

    Host name    = moodeLR
    ETH0  IP    = unassigned
    ETH0  MAC    = b8:27:eb:eb:9f:65
    WLAN0 IP    = 192.168.1.184
    WLAN0 MAC    = b8:27:eb:be:ca:30
    WiFi country    = US

    HDWR REV    = Pi-3B+ 1GB v1.3
    SoC         = BCM2835
    CORES        = 4
    ARCH        = armv7l
    RASPBIAN    = 9.6
    KERNEL        = 4.19.49-v7+
    KTIMER FREQ    = 100 Hz
    USB BOOT    = enabled
    Warranty    = OK

    ROOT size    = 15G
    ROOT used     = 15%
    ROOT avail    = 12G
    FS expand    = expanded
    MEM free     = 655 MB
    MEM used     = 79 MB
    Temperature     = 49.4°C

    CPU GOV        = performance
    P3-WIFI        = On
    P3-BT        = On
    HDMI        = Off
    ETH0 CHECK    = Off
    MAX USB CUR    = Off
    UAC2 FIX    = Off
    ETHPORT FIX    = Off
    SSH server    = On

    LED0        = on
    LED1        = on
    SD CARD        = 50 MHz

      C O R E    S E R V I C E S  

    PHP-FPM        = 7.0.30
    NGINX        = 1.10.3
    SQLite        = 3.16.2
    HOSTAPD        = 2.7
    WIRINGPI    = 2.50

      A P P E A R A N C E   S E T T I N G S  

    Theme            = Default
    Accent color        = Emerald
    Alpha blend        = 1.00
    Adaptive background    = No
    Background image    = No
    Cover backdrop        = No
    Cover blur        = 20px
    Cover scale        = 1.25
    CoverView auto-display    = Never
    CoverView style        = Animated
    Auto-shuffle filter    = None
    Extra metadata        = Yes
    Playback history    = No

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

    Artist list order    = Artist
    Ignore articles        = a,and,the
    Compilation rollup    = No
    Compilation excludes    = greatest hits
    UTF8 character filter    = No
    Cover search pri    = Embedded cover
    Hi-res covers        = Auto
    Pixel ratio        = 1

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

    Audio device        = HiFiBerry DAC+ Pro
    Interface        = I2S
    Hardware volume        = Controller detected
    Mixer name        = Digital
    Audio source        = Local
    Output device        = Local
    Resume MPD aft src chg    = No
    Volume knob        = 31
    Volume mute        = Unmuted
    Saved MPD vol        = 0
    Preamp volume        = 0
    ALSA version        = 1.1.3-5+rpi3
    SoX version        = 0.1.2-2

    Bluetooth controller    = On
    Bluetooth pairing agent    = Off
    Airplay receiver    = On
    Spotify receiver    = On
    Squeezelite        = Off
    UPnP client        = On
    DLNA server        = Off
    GPIO button handler    = Off

    Rotary encoder        = Off
    Encoder params        = 100 2 3 4 5
    Crossfeed        = Off
    Parametric EQ        = Off
    Graphic EQ        = Off
    Polarity inversion    = Off
    Auto-shuffle        = Off
    Autoplay        = Off
    MPD crossfade        = Off
    MPD httpd        = Off

      M P D    S E T T I N G S  

    Version            = 0.20.23
    Volume control        = software
    ALSA device        = hw:0
    SoX resampling        = disabled
    SoX quality        = very high
    SoX multithreading    = off
    DSD over PCM (DoP)    = no
    Replaygain        = off
    Replaygain preamp    = 0
    Volume normalization    = No
    Audio buffer (kb)    = 4096
    Output buffer size (kb)    = 131072

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

    Bluetooth ver        = 5.50
    Bluealsa ver        = 1.3.1
    Speaker sharing        = No
    Resume MPD        = No

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

    Version            = 3.3.1
    Friendly name        = MoodeLR Airplay
    ALSA device        = hw:0
    Interpolation        = soxr
    Output bit depth    = S16
    Output sample rate    = 44100
    Session interruption    = no
    Session timeout (ms)    = 120
    Audio buffer (secs)    = 0.0
    Resume MPD        = Yes

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

    Friendly name        = MoodeLR Spotify
    ALSA device        = plughw:0
    Bit rate        = 160
    Initial volume        = 0
    Volume curve        = Logarithmic
    Volume normalization    = No
    Normalization pregain    = 0
    Resume MPD        = Yes

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

    Version            = 1.8.7-1052 "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/loca
    Resume MPD        = No

      M O O D E    L O G  

   20190722 154723 worker: - Start
   20190722 154723 worker: Successfully daemonized
   20190722 154723 worker: Integrity check (warning: playerlib.php)
   20190722 154723 worker: Integrity check (passed with warnings)
   20190722 154723 worker: ALSA volume set to (0%)
   20190722 154723 worker: Session loaded
   20190722 154723 worker: Debug logging (off)
   20190722 154723 worker: - Platform
   20190722 154724 worker: Rel  (Moode 5.3.1 2019-06-12)
   20190722 154724 worker: Upd  (None)
   20190722 154724 worker: Rasp (9.6)
   20190722 154724 worker: Kern (4.19.49-v7+)
   20190722 154724 worker: MPD  (0.20.23)
   20190722 154724 worker: Host (moodeLR)
   20190722 154724 worker: Hdwr (Pi-3B+ 1GB v1.3)
   20190722 154724 worker: Arch (armv7l)
   20190722 154724 worker: Gov  (performance)
   20190722 154724 worker: USB boot enabled
   20190722 154724 worker: File system expanded
   20190722 154725 worker: HDMI port off
   20190722 154725 worker: File check ok
   20190722 154725 worker: - Network
   20190722 154725 worker: eth0 exists
   20190722 154725 worker: eth0 address not assigned
   20190722 154725 worker: wlan0 exists
   20190722 154725 worker: wifi country (US)
   20190722 154725 worker: wlan0 trying SSID (phyllis)
   20190722 154725 worker: wlan0 wait 0 for IP address
   20190722 154728 worker: wlan0 wait 1 for IP address
   20190722 154731 worker: wlan0 wait 2 for IP address
   20190722 154734 worker: wlan0 wait 3 for IP address
   20190722 154737 worker: wlan0 wait 4 for IP address
   20190722 154740 worker: wlan0 (192.168.1.184)
   20190722 154740 worker: - Audio
   20190722 154740 worker: ALSA outputs unmuted
   20190722 154740 worker: ALSA card number (0)
   20190722 154740 worker: Audio output (I2S audio device)
   20190722 154740 worker: Audio device (HiFiBerry DAC+ Pro)
   20190722 154740 worker: ALSA mixer name (Digital)
   20190722 154740 worker: MPD volume control (software)
   20190722 154741 worker: Hdwr volume controller exists
   20190722 154741 worker: Chip options (Burr Brown PCM5122)
   20190722 154741 worker: - Services
   20190722 154741 worker: Reset renderer active state
   20190722 154741 worker: MPD conf updated
   20190722 154741 worker: MPD started
   20190722 154741 worker: MPD accepting connections
   20190722 154741 worker: Configure MPD outputs
   20190722 154741 worker: MPD output 1 ALSA default (on)
   20190722 154741 worker: MPD output 2 ALSA crossfeed (off)
   20190722 154741 worker: MPD output 3 ALSA parametric eq (off)
   20190722 154741 worker: MPD output 4 ALSA graphic eq (off)
   20190722 154741 worker: MPD output 5 ALSA polarity inversion (off)
   20190722 154741 worker: MPD output 6 ALSA bluetooth (off)
   20190722 154741 worker: MPD output 7 HTTP stream (off)
   20190722 154741 worker: MPD crossfade (off)
   20190722 154741 worker: Audio source (Local)
   20190722 154741 worker: Output device (Local)
   20190722 154742 worker: Airplay receiver started
   20190722 154742 worker: Spotify receiver started
   20190722 154742 worker: UPnP renderer started
   20190722 154742 worker: Shellinabox SSH started
   20190722 154742 worker: Bluetooth controller started
   20190722 154749 worker: Bluetooth controller initialized
   20190722 154749 worker: - Music sources
   20190722 154749 worker: USB sources (none attached)
   20190722 154749 worker: NAS sources (mountall initiated)
   20190722 154749 worker: - Miscellaneous
   20190722 154749 worker: Saved MPD vol level (0)
   20190722 154749 worker: Preamp volume level (0)
   20190722 154749 worker: MPD volume level (31) restored
   20190722 154749 worker: ALSA volume level (100%)
   20190722 154749 worker: Auto-play is off
   20190722 154749 worker: Maintenance interval (21600)
   20190722 154749 worker: Screen saver activation (Never)
   20190722 154749 worker: Watchdog started
   20190722 154749 worker: Ready
pi@moodeLR:~ $
Reply


Forum Jump: