Volumio Debian Buster Beta - Raspi images debugging

I reverted back to node v8.x to avoid plugin compatibility issues. This also lets me go back to the default Volumio Node back end repo, instead of my custom fork for the node v12/14 compatibility.

Raspberry Pi Volumio-3.009-2020-08-21-pi

I also thought I’d add more fun to the mix – a build with 5.4 kernel
Raspberry Pi Volumio-3.010-2020-08-21-pi

@phil977

  • Music library doesn’t seem to auto detect the USB disk if plugged in during the first boot. If you boot up and then plug in the disk, does it work without a reboot?
  • For the volume issues, I opened an issue a while ago about it, but didn’t investigate in detail. Can you counter check if the new versions also exhibit these issues?
  • You should be able to use the rotary encoder plugin without having to recompile the native node_modules.

EDIT:
As @Darmur figured out, it would seem that the version of Nodejs is wrong for armv6 - so you’ll need the fixup script again to get these builds up and running on Rpi0/1 boards. Apologies for that!

PS: Set NODE_VERSION=8. I’ll fix this in the next build.

I spent some time testing those two releases, most of the small issues present in the previous releases are now gone, most probably they were due to different node version used.

Some observations:

  • Both releases work fine on RPi0 after applying the nodejs script from @ashthespy, don’t forget to change version from 14 to 8 otherwise you will get a gray screen at boot (UI not loading)
  • BassOwl drivers integrated in 4.19 release work fine, I already sent a pull request to official Volumio repository for adding BassOwl on the dacs.json list
  • Kernel 5.4 behaves differently compared to kernel 4.19 regarding I2S DAC mapping. to always have I2S DAC mapped to card2 (hw:2,0) it is required to use a different argument on cmdline.txt

For 4.19

snd-bcm2835.enable_compat_alsa=1 snd_bcm2835.enable_headphones=1

For 5.4

snd-bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_headphones=1

If string for 4.19 is used on 5.4 (like it is right now in 5.4 build), I2S DAC is mapped as card3.
I’ve been testing this on RPi0 only at the moment, I need to confirm for other RPi versions too.

Is there a way to install cec-client without breaking this?
Thanks

I wonder if it is more to do with my node12 fork not being synced to current master. Will investigate later!

Thanks for that heads up, will toggle compat to 0 for the 5.4 kernel.

Sure, cec-utils should install out-of-the-box as I’ve included libcec4 into the image. If not, remove the kernel pinning and install it - but this is untested.

cd ~
sudo mv /etc/apt/preferences.d/raspberrypi-kernel ./
sudo apt install cec-utils

tried the latest 5-4-img on a pi 3 + hifiberry amp2 (which is autodetected as hifiberry dac+ by wizard).

  • sound is only working when i change “hw:2,0” to “hw:3,0” in /etc/mpd.conf, because of

volumio@volumio:~$ aplay -l | grep hifiberry
card 3: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 [HiFiBerry DAC+ HiFi pcm512x-hifi-0]

  • startup sound isn’t working anymore

  • volume is stuck at maximum, with no possibility to change it.

  • slider/ring-position is no longer jumping to 100.

  • no longer issues with startup-flickering of gui and enabling rotary encoder plugin.

  • i verified via ssh that the usb-ssd is mounted and accessable before starting the wizard, but still no music library/usb after the wizard ends.

  • manual scan did succeed now without having to reboot.

however, i catched this before i changed the mpd.conf, right after a reboot:

volumio@volumio: ~avolumio@volumio:~$ sudo journalctl -f
Aug 23 14:36:57 volumio mpd[1142]: config_file: config parameter “id3v1_encoding” on line 99 is deprecated
Aug 23 14:36:57 volumio mpd[1142]: Aug 23 14:36 : exception: Failed to bind to ‘[::]:6600’
Aug 23 14:36:57 volumio mpd[1142]: Aug 23 14:36 : exception: nested: Failed to bind socket: Address already in use
Aug 23 14:36:57 volumio systemd[1129]: e[0;1;39me[0;1;31me[0;1;39mmpd.service: Main process exited, code=exited, status=1/FAILUREe[0m
Aug 23 14:36:57 volumio systemd[1129]: e[0;1;39me[0;1;31me[0;1;39mmpd.service: Failed with result ‘exit-code’.e[0m
Aug 23 14:36:57 volumio systemd[1129]: e[0;1;31me[0;1;39me[0;1;31mFailed to start Music Player Daemon.e[0m
Aug 23 14:36:57 volumio systemd[1129]: Reached target Default.
Aug 23 14:36:57 volumio systemd[1129]: Startup finished in 1.572s.

To fix this issue, instead of changing /etc/mpd.com please edit /boot/cmdline.txt

snd-bcm2835.enable_compat_alsa= 0

cool, this also fixes startup-volume and the volume-stuck-thingie, volume control is ok now. before the fix the live-log complained something like “there is no simple control for headphones” when changing the volume.

what’s left: the music library. if i start without usb-sdd and plug it in when volumio is up there comes a green message with something about “my music” and the name of that drive, but still no music library without manual rescan.

i also tried a delay before the mpd service starts by adding

ExecStartPre=/usr/bin/sleep 60

to

/etc/systemd/system/multi-user.target.wants/mpd.service

but no luck.

here’s the mpd.log before i did a manual scan:

Aug 24 11:08 : zeroconf: No global port, disabling zeroconf
Aug 24 11:08 : client: [0] opened from 127.0.0.1:49618
Aug 24 11:08 : client: [1] opened from 127.0.0.1:49622
Aug 24 11:08 : client: [2] opened from 127.0.0.1:49628
Aug 24 11:08 : client: [3] opened from 127.0.0.1:49632
Aug 24 11:08 : client: [4] opened from 127.0.0.1:49646
Aug 24 11:08 : exception: Failed to read mixer for ‘alsa’: no such mixer control : PCM
Aug 24 11:10 : client: [0] closed
Aug 24 11:10 : client: [1] closed
Aug 24 11:10 : client: [2] closed
Aug 24 11:10 : client: [3] closed
Aug 24 11:10 : client: [4] closed
Aug 24 11:12 : client: [5] opened from local
Aug 24 11:12 : exception: No such directory

update:
this i have at every reboot :

Aug 21 14:00:38 volumio mpd[989]: config_file: config parameter “gapless_mp3_playback” on line 19 is deprecated
Aug 21 14:00:38 volumio mpd[989]: config_file: config parameter “buffer_before_play” on line 85 is deprecated
Aug 21 14:00:38 volumio mpd[989]: config_file: config parameter “id3v1_encoding” on line 99 is deprecated
Aug 21 14:00:38 volumio mpd[989]: Aug 21 14:00 : exception: Failed to bind to ‘[::]:6600’
Aug 21 14:00:38 volumio mpd[989]: Aug 21 14:00 : exception: nested: Failed to bind socket: Address already in use
Aug 21 14:00:38 volumio systemd[976]: mpd.service: Main process exited, code=exited, status=1/FAILURE
Aug 21 14:00:38 volumio systemd[976]: mpd.service: Failed with result ‘exit-code’.
Aug 21 14:00:38 volumio systemd[976]: Failed to start Music Player Daemon.

and there are some mpd-errors if i drop

sudo journalctl -b | grep mpd

on the shell:

Aug 21 14:00:11 volumio systemd[1]: Listening on mpd.socket.
Aug 21 14:00:14 volumio volumio[437]: Could not open config: /tmp/upmpdcli.conf
Aug 21 14:00:14 volumio systemd[1]: upmpdcli.service: Main process exited, code=exited, status=1/FAILURE
Aug 21 14:00:14 volumio systemd[1]: upmpdcli.service: Failed with result ‘exit-code’.
Aug 21 14:00:17 volumio mpd[610]: config_file: config parameter “gapless_mp3_playback” on line 19 is deprecated
Aug 21 14:00:17 volumio mpd[610]: config_file: config parameter “buffer_before_play” on line 85 is deprecated
Aug 21 14:00:17 volumio mpd[610]: config_file: config parameter “id3v1_encoding” on line 99 is deprecated
Aug 21 14:00:17 volumio mpd[610]: Aug 21 14:00 : hybrid_dsd: The Hybrid DSD decoder is disabled because it was not explicitly enabled
Aug 21 14:00:17 volumio mpd[610]: Aug 21 14:00 : exception: Input plugin ‘tidal’ is unavailable: No Tidal application token configured
Aug 21 14:00:17 volumio mpd[610]: Aug 21 14:00 : exception: Input plugin ‘qobuz’ is unavailable: No Qobuz app_id configured
Aug 21 14:00:34 volumio volumio[912]: info: [1598018434349] Starting Upmpd Daemon
Aug 21 14:00:34 volumio volumio[912]: info: Loading plugin “mpd”…
Aug 21 14:00:38 volumio mpd[989]: config_file: config parameter “gapless_mp3_playback” on line 19 is deprecated
Aug 21 14:00:38 volumio mpd[989]: config_file: config parameter “buffer_before_play” on line 85 is deprecated
Aug 21 14:00:38 volumio mpd[989]: config_file: config parameter “id3v1_encoding” on line 99 is deprecated
Aug 21 14:00:38 volumio mpd[989]: Aug 21 14:00 : exception: Failed to bind to '[::]:6600’
Aug 21 14:00:38 volumio mpd[989]: Aug 21 14:00 : exception: nested: Failed to bind socket: Address already in use
Aug 21 14:00:38 volumio systemd[976]: mpd.service: Main process exited, code=exited, status=1/FAILURE
Aug 21 14:00:38 volumio systemd[976]: mpd.service: Failed with result ‘exit-code’.
Aug 21 14:00:40 volumio volumio[912]: info: Plugin mpdemulation is not enabled
Aug 21 14:00:40 volumio volumio[912]: info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
Aug 21 14:00:40 volumio volumio[912]: info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
Aug 21 14:00:40 volumio volumio[912]: info: CoreCommandRouter::executeOnPlugin: mpd , getConfigParam
Aug 21 14:00:45 volumio sudo[1104]: volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/chmod 777 /etc/mpd.conf
Aug 21 14:00:46 volumio sudo[1109]: volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/systemctl restart mpd.service
Aug 21 14:00:46 volumio systemd[1]: mpd.service: Succeeded.
Aug 21 14:00:46 volumio sudo[1156]: volumio : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/systemctl start upmpdcli.service
Aug 21 14:00:47 volumio volumio[912]: info: Upmpdcli Daemon Started
Aug 21 14:00:47 volumio mpd[1141]: config_file: config parameter “gapless_mp3_playback” on line 19 is deprecated
Aug 21 14:00:47 volumio mpd[1141]: config_file: config parameter “buffer_before_play” on line 85 is deprecated
Aug 21 14:00:47 volumio mpd[1141]: config_file: config parameter “id3v1_encoding” on line 99 is deprecated
Aug 21 14:00:47 volumio mpd[1141]: Aug 21 14:00 : hybrid_dsd: The Hybrid DSD decoder is disabled because it was not explicitly enabled
Aug 21 14:00:47 volumio mpd[1141]: Aug 21 14:00 : exception: Input plugin ‘tidal’ is unavailable: No Tidal application token configured
Aug 21 14:00:47 volumio mpd[1141]: Aug 21 14:00 : exception: Input plugin ‘qobuz’ is unavailable: No Qobuz app_id configured
Aug 24 13:38:43 volumio volumio[912]: info: CoreCommandRouter::executeOnPlugin: mpd , handleBrowseUri
Aug 24 14:16:38 volumio volumio[912]: info: CoreCommandRouter::executeOnPlugin: mpd , handleBrowseUri

I need to investigate this. As I recall it, there is a custom NodeJs implementation for USB devices, as the old udisk-glue is deprecated in Buster. Can you confirm the output of cat /volumio/.env has NODE_MOUNT_HANDLER=true? Also if can send a full log, I’ll try looking if I can spot anything fishy.

About the MPD warnings, they are just warnings from configuration entries that are no longer needed in the new version of MPD compared to the old on from jessie. I didn’t want to touch it as I am not aware of what specific entries are there for the Volumio sauce, but will try cleaning it up to reduce noise.

EDIT: So I rechecked, I did in fact clean up the default MPD configuration in the build repo, but it is pointless as it just gets rewritten by the Node BE. I’m a bit tired of patching my buster fork - so I’ll leave this to the core devs when they see it :slight_smile:

yep.

here some logs after a boot from a fresh image right after completing the wizard:

dmesg.txt (23.6 KB) journalctl.txt (161.5 KB) mpd.txt (589 Bytes) systemctl.txt (36.1 KB)

Thanks, I don’t see anything fishy from a quick look. I’ll do some debugging/digging over the weekend.

@ashthespy ash the 3.010 boots from sd but if i install via ssd on usb 3.1 he hangs on tty not found. gonna try reinstall on ssd @ 35. in install and breaks bash script.partition not found…

IIRC, Volumio doesn’t support USB booting on for the pi - check this PR for some history

@ashthespy oke so i don’t have to look in to it again …it won’t boot from ssd :stuck_out_tongue:
btw the pi 4 does support it now with the 64bit version if you flash the eeprom.
i would say look at it again the posts are 2 old to say it wouldn’t boot…

I suggest sticking to 4.x kernel. From my test 5.x for pi is way too unstable. It’s not wise to put it into the mix as of now…

@volumio it just play’s oke for me … will test the plugin’s didn’t that yet
and unstable this runs better than the old versions… on my sparky i will stick to this one …
btw the kernel runs better than my sparky mutch better 4 me :slight_smile:

@ashthespy ash on the 3.10 did you have your display showing up on your pi 4
is there a work around for this? i use it now with a external browser…

found it you have to use the touch display plugin …
bug : skins are bit broken… volume dail and other dail are gone…
on classic they will show up :stuck_out_tongue:
touch error

@dvo I guess you installed the Touch Display plugin from the plugin store. The version you get from there is not compatible with the Buster beta, because the beta uses another hardware ID for Raspberry Pis (“raspberry” instead of “pi” on the published Jessie based releases). This causes the install script to not execute the steps necessary for Raspberry Pis and which in turn is most likely the reason for the error message you posted.

Some time ago I provided a version of the plugin which takes the different hardware ID of the Buster beta into account.

If my assumption is right that you installed from plugin store, I would recommend to uninstall the plugin and reinstall manually from the command line using the .zip file you find in the the post I linked.

@gvolt oke i will do that :stuck_out_tongue: tnx gvolt
does this work on the 3.10 ver. 5.4 kernel? i can’t manual install plugin’s like the old versions…
@ashthespy do you know how? he says installed all went oke but doesn’t show or work …
using the RPi Volumio-3.010-2020-08-21-pi plugins out of volumio plugin will work…

I just installed the Volumio-3.010-2020-08-21-raspberry image and then the plugin from the touch_display_1_1_9beta02.zip without issues.

After copying touch_display_1_1_9beta02.zip to /home/volumio from this directory proceed as follows:

  1. Create a directory for unzipping the plugin package:
    mkdir touch_display

  2. Unzip the plugin package to the newly created directory:
    miniunzip touch_display.zip -d touch_display

  3. Change into the directory with the unzipped files:
    cd touch_display

  4. Install the plugin:
    volumio plugin install

@gvolt @giorgosperi @ashthespy
on 3.10 i found out that he didn’t create the folder miscellanea so it didn’t work at the time
i have created the folder in data/plugins/miscellanea/
and for youtube the data/plugins/music_service/youtube/ by looking in my sparky.
tnx anyway gvolt for your respond. your beta 2 plugin of touch_display works oke still missing the dail’s
but that’s something that didn’t go right in this version…for youtube i used the 0.1.0 ( 20191224) updated the mpd to the latest version 2.2.2 in the youtube folder i runned npm install ytdl-core@latest inside to get the last version of npm… then did a reboot … at first it’s a bit wonky but it will settel after a while… it stops playing with youtube some times after a few songs but now it plays full songs no cut offs on 3/4 of a song with youtube plugin. but some times it will stop at 6 sec. with playing… btw if we wanna kill the the on 6 sec stop we had to let the new song starting on a -1 sec that will solve te problem…instead of starting on 0