Moode Audio Player for Raspberry Pi

Hi Kent,

No right or wrong, just bug finding and all info is good info :)

To begin to debug the scenario where there are multiple mounts and one or more are failing it would be necessary to place some debug code i.e., workerLog(); statements in /var/www/inc/playerlib.php, wrk_sourcemount() function to see whats going on. Btw, the mount stuff is from the original fork :-0

-Tim
 
Hi @pkdick,

1) Boot from SD card and Configure your Pi-3 for USB boot. The (i) help text is below

Programs Pi-3B OTP memory to enable booting from USB drive.
- This is a pernament modification and only needs to be done once.
- After OTP is updated, system can boot from SD card or USB drive.

2) Write a fresh moOde 3.8.1 image to the USB drive using the same image writer that u use to write to an SD card. It should support writing to USB drive but if not then use one of the utilities in the following link from moOde Setup Guide.

WRITING MOODE IMAGE ONTO AN SD CARD OR USB DRIVE
Installing operating system images - Raspberry Pi Documentation

3) Plug in just the USB drive and then power up.

-Tm

Hi Tim,

I followed your advice and I could the use my USB harddisk to succesfully run MoOde.
What I noticed is that the 3.8 version booting time seemed to be longer than before and after some days I could not even connect MoOde: checking my hardisk on my PC, it appeared "empty", I assumed then that I had switched off my raspberry too quickly the last time I used moOde (damaging the software installation). Do you have a piece of advice to be sure to wait enough to safely switch off the raspberry ?: on mine, I use to check that the operating LED is not blinking anymore (and therefore staying steadily on) but it seems that it is not secure enough.

Looking forward to your reply,
 
Hi Kent,

No right or wrong, just bug finding and all info is good info :)

To begin to debug the scenario where there are multiple mounts and one or more are failing it would be necessary to place some debug code i.e., workerLog(); statements in /var/www/inc/playerlib.php, wrk_sourcemount() function to see whats going on. Btw, the mount stuff is from the original fork :-0

-Tim

I could have avoided embarrassing myself if I'd just looked more closely at AdZero's screenshots. His mount directory should look like /mnt/NAS/FLAC-HD and /mnt/NAS/FLAC based on the source names he used. The blank in his remote directory name blinded me to everything else. Oy Vey.

Old code is no different from new code when you hit a corner case that wasn't covered. I'll have a look.

Regards,
Kent
 
Hi Tim
Houston... we have a problem!!!!!!!!

I upgraded to 3.82... all was fine, reboot... then play music and all perfect
So i tried to change latency on LL... from 10ms to 5, reboot and this was the last time that i could see interface...
No way to have it working again, many reboots but nothing to do, even from command line, no connection.

Same for me... (even after installing new image)... :(

Second time (fresh image) worked :)
 
Last edited:
I have been getting a few errors with a usb drive and i didnt get another backup going in time.
Could someone with 3.81 please post the MD5 checksum for the image file (not zip).
Thanks.

I'd circumvent all this with another copy - but only 3.82 is listed for d/l.
On second thought, @Tim do you still have the d/l links for 3.81 ?
 
I found the same with no/choppy noise with latency at 5ms, but I could still access http, ssh, SMB.

I had it set to LL, 5ms, performance and RR.

Hi Mike,

Advanced-LL kernel and the Real-time FIFO and RR scheduler policies might not work well on low powered Pi for example Pi-1B, especially if its not over-clocked to 1 gHz and a USB DAC is being used. USB audio interface is less efficient than I2S interface. In this case I'd use TS policy.

It's also possible that FIFO and RR should only be used with the Real-time kernel because these policies assign MPD a fixed scheduler priority and this might not be best for the non-Real-time, Low Latency kernel.

In the upcoming 3.8.3 update I'm leaning toward the following combinations.

Standard: TS only
Adv-LL: TS only, Adjustable latencies
Adv-RT: TS, RR and FIFO

What is your hardware configuration?

-Tim
 
Member
Joined 2004
Paid Member
Hi Mike,

Advanced-LL kernel and the Real-time FIFO and RR scheduler policies might not work well on low powered Pi for example Pi-1B, especially if its not over-clocked to 1 gHz and a USB DAC is being used. USB audio interface is less efficient than I2S interface. In this case I'd use TS policy.

It's also possible that FIFO and RR should only be used with the Real-time kernel because these policies assign MPD a fixed scheduler priority and this might not be best for the non-Real-time, Low Latency kernel.

In the upcoming 3.8.3 update I'm leaning toward the following combinations.

Standard: TS only
Adv-LL: TS only, Adjustable latencies
Adv-RT: TS, RR and FIFO

What is your hardware configuration?

-Tim
Hi Tim,

We did some listening to the new 3.8.2. comparing LL Kernel at 2ms to the RT and find the RT set to TS to be the best overall sounding in my system. The RT FIFO and RR still ticks frequently with the USB Belcanto dac.

We also think the LL 2ms sounds slightly better than the old 3.7 using RT.

Thanks for the hard work :)

botte
 
Hello Tim

I found a (very) little problem.
Perhaps this is normal, after all :

When I active the Squeezelite Renderer, I can't get any sound from my local Library (USB HD), nor the radio, since I stream something via LMS and stop LMS (not just start and stop LMS).
After this little manip, I can listen what I want, I just have to start and stop LMS.

I need LMS to stream Qobuz...only.


sorry, I'm not sure about my english there.
 
Hi Tim, thanks for the cli kernel install instructions
The rollback to std kernel didn't work and after a reimage and further testing I have found the problem of unresponsive UI to be Lirc related.

I used this tutorial to set up Lirc on a Pi3..
How To Configure JustBoom IR Remote With LIRC • JustBoom

and eventually read the 'Appendix – Tips and gotchas.' to find...
Code:
Tip 1 – Some OS will replace the contents of the config.txt every time configurations settings are saved. This results in the LIRC configuration to be removed and hence your remote control stops working. In this case check the config.txt which may appear like:
hdmi_drive=2
dtparam=i2c_arm=on
dtparam=i2s=on
dtparam=audio=off
dtoverlay=justboom-digi
# Enable the lirc-rpi module
 
# Override the defaults for the lirc-rpi module

Simply add the missing lines to make it work again and reboot.

Moode /boot/config.txt , Lirc portion, starts out like this
Code:
# Enable the lirc-rpi module
dtoverlay=lirc-rpi
 
# Override the defaults for the lirc-rpi module
dtparam=gpio_in_pin=25

but any change that causes a rewrite of /boot/config.txt (different kernel selection, software update, kernel update/new version and possibly other options that involve a reboot) cause a line to be removed from the Lirc portion so it looks like this..
Code:
# Enable the lirc-rpi module

 
# Override the defaults for the lirc-rpi module
dtparam=gpio_in_pin=25

I expected this to simply stop the remote working.

However the result is that on reboot after kernel selection/change the UI is unresponsive as noted..Moode Audio Player for Raspberry Pi

Ssh in to restore the missing line works to restore the remote function and restores the UI on reboot.

Not sure if the Lirc set up can be preserved through reboots ?? But once known it is easy to remedy with ssh and adding the missing line to /boot/config.txt

Perhaps a note could be included in setup or fixes to alert users ?.
 
Last edited:
Hello Tim

I found a (very) little problem.
Perhaps this is normal, after all :

When I active the Squeezelite Renderer, I can't get any sound from my local Library (USB HD), nor the radio, since I stream something via LMS and stop LMS (not just start and stop LMS).
After this little manip, I can listen what I want, I just have to start and stop LMS.

I need LMS to stream Qobuz...only.


sorry, I'm not sure about my english there.

The Squeezelite renderer hogs the audio channel. You have to turn it off to allow MPD playback.

-Tim
 
Hi Mike,

Advanced-LL kernel and the Real-time FIFO and RR scheduler policies might not work well on low powered Pi for example Pi-1B, especially if its not over-clocked to 1 gHz and a USB DAC is being used. USB audio interface is less efficient than I2S interface. In this case I'd use TS policy.

It's also possible that FIFO and RR should only be used with the Real-time kernel because these policies assign MPD a fixed scheduler priority and this might not be best for the non-Real-time, Low Latency kernel.

In the upcoming 3.8.3 update I'm leaning toward the following combinations.

Standard: TS only
Adv-LL: TS only, Adjustable latencies
Adv-RT: TS, RR and FIFO

What is your hardware configuration?

-Tim

I only use Pi3 now.
 
Does anyone have an easy script or tool to automatically reconnect WiFi?

We get a LOT of small power outages and the Pi comes up much quicker than the router, resulting in an isolated Pi.

Maybe you could look at this as a ToDo? If wifi doesn't connect for, say, 2M then go back to AP mode?

Or maybe I'm just grumpy - it took three reboots in the middle of the night before I went and unplugged my Pi - damned auto-start >.<

I think I've counted about eight since 8am... it's only 10 :(