Public Beta Test: Audio Without Compromise - Refining the Future of Volumio on Bookworm

I’ll do my best to capture the log. The device automatically reboots after 15 seconds.

Here is another log. Please let me know if that contains what is needed.

https://logs.volumio.org/volumio/YBPNysv.html

@balbuze
@nerd

Raspberry Pi 5 - Volumio 4.028 - Bluetoothremote plugin

Remote control from the photo below.

In the file:
/data/INTERNAL/Bluetooth_Remote/triggerhappy.conf

After adding:

KEY_MUTE 0 volumio volume toggle

The mute on/off button works after restarting the Raspberry Pi.

The next keys work ok - links in blue in the photo - after adding entries as below.
KEY_LEFT 1 volumio previous
KEY_RIGHT 1 volumio next

OTA update 4.026 to 4.028
Pi4B, SD boot, wifi, USB Dac (Topping D10S)

All working properly. One thing I noticed is that the reported wireless speed is lower than with 4.026. It was 460 Mb/s and is now 325 Mb/s (after a network restart). Could this be due to the reversion with both wired and wireless always on?

Log: http://logs.volumio.org/volumio/Yq5Jy9V.html

Hey @frog67,

Thank you for the extra detail. A couple of points to clear this up:

  • When switching from LAN to WiFi, there are multiple safeguards in place. It can look like the UI has frozen, but in reality the network stack is retrying and waiting for state changes. This can take up to 2 minutes before the interface comes back with the correct status. After a reboot you are already past this point, which is why WiFi comes up cleanly.

  • The on-screen keyboard belongs to the Touch Display plugin. Recent Chromium 140.x versions have deprecated Manifest V2, which the on-screen keyboard implementation is based on. That is why it no longer works, and why the fix must be handled in the plugin thread.

Kind Regards,

Hey @happyshow,

The supplied log does contain an OTA attempt and the early failure.

Facts in this log:

  • Update offer: v4.028 is presented and cached by updater_comm.
  • Test mode is enabled on the device, alpha modes are disabled.
  • The updater starts, runs pre-clean on /imgpart, reaches status Preparing update at progress 5, then immediately emits PROGRESS 100 Error: update failed, please restart system and retry. No download speed is reported.
  • Storage looks fine: /imgpart has 3.7G free, /boot has 277M free. That rules out a simple space issue. This matches the df excerpt captured in the same log session.

Implication:

  • The failure occurs before any payload is downloaded or written. This points to a preflight error in volumio-remote-updater rather than network throughput or partition space. Examples include a rejected manifest, channel mismatch for this platform, or an integrity pre-check aborting.

Targeted next capture to expose the exact preflight reason:

  • Enable Live Log first, then trigger the update, then capture the log at the popup.
    1. Go to http://<volumio_IP>/dev and click Enable Live Log.
    2. In another tab, start the update in Settings - System.
    3. When the reboot popup appears, do not reboot.
    4. Switch back to the /dev tab and click Send log. Share that URL.

Rationale:

  • In the current file, Live Log is enabled a few seconds before the update and we do see the updater events, but the updater only prints a generic Error line. Capturing with Live Log already running from before clicking Update gives us the longest possible preflight trace and increases the chance of seeing a specific abort reason emitted just before the generic Error line.

Alternative:

If this still does not reveal the cause, the safest next step is to reflash 4.028 fresh and monitor from there. In our own tests OTA from 4.026 to 4.028 completes successfully, so it may be a state issue with the current install.

Kind Regards,

Hey @SimonE,

Thanks for confirming that OTA from 4.026 to 4.028 went smoothly on your Pi4B setup with USB DAC over Wi-Fi.

Regarding the observed drop in reported wireless speed (from 460 Mb/s to 325 Mb/s):
this is entirely environment-dependent. We did not make any changes to the kernel, Wi-Fi drivers, or firmware between 4.026 and 4.028.

The perceived shift might relate to:

  • Varying channel conditions (interference, noise)
  • AP load or roaming behavior
  • Antenna alignment or orientation

The network revert in 4.028 reintroduces simultaneous Ethernet and Wi-Fi visibility, but unless you’re using excessively Ethernet on this device, it won’t impact wireless PHY rate negotiation.

Kind Regards,

Hey @tweed77,

Thank you for the careful re-testing and for sending three logs for 4.028. Summary of what we see:

  • LAN only: media server discovery and playback work.
  • Wi-Fi only: media server discovery and playback work.
  • LAN + Wi-Fi together: the Fritzbox sometimes does not expose the MediaServer immediately. This is expected with multi-homed clients and some routers. If both NICs are up, SSDP and subsequent HTTP control can bounce between interfaces. Using a single interface avoids that quirk.

Separate issue - wrong track starts from Media Servers root:

  • Your 4.027 log and screenshots show a reproducible regression independent of single vs multi NIC. When the MediaServer root contains both subfolders and loose files, clicking a loose file queues and plays the first track from the first folder instead of the clicked file.
  • The queue is cleared before playback, so this is not a stale-queue effect. The wrong item is selected during the browse-to-URI resolution inside the Media Servers code when a mixed listing is present.

What to try now:

  1. Control case: browse into a folder that contains files only (no subfolders) and click one file. It should play the correct file.

  2. Failing case: in a directory that mixes subfolders and loose files, click any loose file. Observe that playback starts from the first track in the first folder.

  3. Please capture a full dev log immediately after step 2:

    • Note the exact time of your click and which filename you clicked.
    • Send the log link from http:///dev and post both the link and the timestamp.
  4. Optional: test whether using “Add to queue” on the loose file, then starting from the queue, behaves the same as “Play”. This tells us if the mis-selection happens at add time or at play time.

Current workarounds:

  • Avoid mixing folders and loose files at the same directory level on the MediaServer. Place those loose files inside a folder.
  • Or browse into the album subfolder first and start playback from there.

Next steps from our side:

  • I will file this as a Media Servers browse-to-play selection issue triggered by mixed container listings. We will focus on the mapping from the visible list index to the DIDL item id when folders and items are interleaved.
  • Your three 4.028 logs also confirm that a single-interface setup is stable on your Fritzbox. If you need both links up, expect occasional discovery oddities until we reintroduce clearer interface selection in the browsing stack.

If you are OK with it, I will reference your screenshots and logs in the internal report. Thanks again for the detailed data.

Kind Regards,

Hey @nerd @Volumio and other developers!

Some things I would like to see in OS 4.xxx

When I import music from local sources I can only see the total list of artists, albums, tracks and playing time. In my user case I use both nas and usb hdd and would like to see their contents listed separately if possible.

Another thing I think would be good is a more developed library system. Something similar to e.g. JRiver where you can write tags, file conversions etc. Maybe as a plugin? I’m not a developer so I don’t even know if it’s doable.
I apologize if I’m posting this in the wrong thread

Best Regards/ Claes

Isn’t that already available if you go to Music library, or do you mean something else?
image

Volumio relies on MPD, which doesn’t have library management system or ways to edit tags. Keep in mind that Volumio is a music player not a music server

1 Like

Good suggestion. However I don’t know if that’s possible, since we receive this data from MPD and we depend on this API.

Our policy is not to edit files, so we won’t add edit capabilities. However, for the browsing improvements this is planned with a major app overhaul which we just started :wink:

1 Like

I have installed the new version 4.028 on both raspberry 4 and mini hp elitedesk 800 g2. Raspberry is ok but hp elitedesk 800 g2 has time synchronization error so I can’t access the plugin.
Can’t Send Log or bug report
This is Live Log:info: CALLMETHOD: system_controller system sendBugReport [object Object]
info: CoreCommandRouter::executeOnPlugin: system , sendBugReport
volumio : PWD=/ ; USER=root ; COMMAND=/sbin/iwconfig
pam_unix(sudo:session): session opened for user root(uid=0) by (uid=1000)
pam_unix(sudo:session): session closed for user root

Starting setdatetime-helper.service - Time Synchronization Helper Service…
setdatetime-helper: all HTTPS Date fallbacks failed
setdatetime-helper.service: Deactivated successfully.
Finished setdatetime-helper.service - Time Synchronization Helper Service.
volumio : PWD=/ ; USER=root ; COMMAND=/bin/journalctl -p 7
pam_unix(sudo:session): session opened for user root(uid=0) by (uid=1000)
pam_unix(sudo:session): session closed for user root

info: Log sent successfully, reply: Cannot send bug report: Error: Command failed: /usr/bin/curl -X POST -H ‘Content-Type: multipart/form-data’ -F ‘logFile=@/tmp/logondemand’ -F desc=‘No info available’ -F ‘variant=volumio’ ‘http://logs.volumio.org:7171/logs/v1
% Total % Received % Xferd Average Speed Time Time Time Current

Ok, I’m aware of that. What I mean is that when I add a new source e.g. a NAS or USBHDD, I want to see how many artists, albums etc on each source separately. This under the Sources tab where it now only shows the total number of artists, albums, etc under My Music.
Thanks for answering!

Best Regards/ C

Hi!

Ok, I understand (I think :smiley:) Anyway thanks fo your respons!

Best regards/ C

Hey @huyen82,

I understand that you have executed all troubleshooting steps from here:

If yes - why have you not provided results of it yet?

Kind Regards,

Just tested V4.028 on a HP Elitedesk 800 G2.
Both OTA (V4.026 => V4.028) and Clean install, no issues found with timing:

http://logs.volumio.org/volumio/MtoHz1H.html

volumio@volumio:~$ systemctl status setdatetime-helper.timer
● setdatetime-helper.timer - Volumio Time Sync Watchdog Timer
     Loaded: loaded (/lib/systemd/system/setdatetime-helper.timer; enabled; pre>
     Active: active (waiting) since Wed 2025-10-01 12:42:09 CEST; 5min ago
    Trigger: Wed 2025-10-01 12:52:56 CEST; 5min left
   Triggers: ● setdatetime-helper.service

Oct 01 12:42:09 volumio systemd[1]: Started setdatetime-helper.timer - Volumio >
lines 1-7/7 (END)...skipping...
● setdatetime-helper.timer - Volumio Time Sync Watchdog Timer
     Loaded: loaded (/lib/systemd/system/setdatetime-helper.timer; enabled; pre>
     Active: active (waiting) since Wed 2025-10-01 12:42:09 CEST; 5min ago
    Trigger: Wed 2025-10-01 12:52:56 CEST; 5min left
   Triggers: ● setdatetime-helper.service
volumio@volumio:~$ systemctl show setdatetime-helper.timer -p NextElapseUSecMonotonic -p LastTriggerUSecMonotonic
NextElapseUSecMonotonic=11min 2.088411s
LastTriggerUSecMonotonic=1min 2.072777s
volumio@volumio:~$ systemctl list-timers | grep setdatetime
Wed 2025-10-01 12:52:56 CEST 4min 41s left Wed 2025-10-01 12:42:56 CEST 5min ago setdatetime-helper.timer     setdatetime-helper.service
volumio@volumio:~$ hdr="$(curl -sI --max-time 3 https://time.is | sed -n 's/^[Dd]ate:[[:space:]]*//p')"
echo "hdr: $hdr"
echo "sys: $(date -u)"
echo "delta_sec=$(( $(date -u +%s) - $(date -ud "$hdr" +%s) ))"
hdr: Wed, 01 Oct 2025 10:49:06 GMT
sys: Wed Oct  1 10:49:06 UTC 2025
delta_sec=0

Fresh install V4.028 on my HP Elitedesk 800 G2

volumio@volumiopc:~$ systemctl status setdatetime-helper.timer

setdatetime-helper.timer - Volumio Time Sync Watchdog Timer

Loaded: loaded (/lib/systemd/system/setdatetime-helper.timer; enabled; pre>

Active: active (waiting) since Thu 2025-10-02 00:46:40 +07; 57min ago

Trigger: Thu 2025-10-02 01:50:53 +07; 6min left

Triggers: ● setdatetime-helper.service

Oct 02 00:46:40 volumio systemd[1]: Started setdatetime-helper.timer - Volumio >

…skipping…

setdatetime-helper.timer - Volumio Time Sync Watchdog Timer

Loaded: loaded (/lib/systemd/system/setdatetime-helper.timer; enabled; pre>

Active: active (waiting) since Thu 2025-10-02 00:46:40 +07; 57min ago

Trigger: Thu 2025-10-02 01:50:53 +07; 6min left

Triggers: ● setdatetime-helper.service

Oct 02 00:46:40 volumio systemd[1]: Started setdatetime-helper.timer - Volumio >

volumio@volumiopc:~$ systemctl show setdatetime-helper.timer -p NextElapseUSecMonotonic -p LastTriggerUSecMonotonic

NextElapseUSecMonotonic=1h 14min 41.000530s

LastTriggerUSecMonotonic=1h 4min 40.984945s

volumio@volumiopc:~$ systemctl list-timers | grep setdatetime

Thu 2025-10-02 02:01:03 +07 7min left Thu 2025-10-02 01:51:03 +07 2min 32s ago setdatetime-helper.timer setdatetime-helper.service

volumio@volumiopc:~$ hdr=“$(curl -sI --max-time 3 https://time.is | sed -n ‘s/[1]ate:[[:space:]]*//p’)”

echo “hdr: $hdr”

echo “sys: $(date -u)”

echo “delta_sec=$(( $(date -u +%s) - $(date -ud “$hdr” +%s) ))”

hdr:

sys: Wed Oct 1 18:54:59 UTC 2025

delta_sec=68099


  1. Dd ↩︎

Hey @huyen82,

We are getting somewhere. Please execute the command below. In turn I need to see the complete output of it.

sudo /usr/bin/setdatetime-helper.sh -f -d --no-sentinel

Kind Regards,

Here you are
volumio@volumiopc:~$ sudo /usr/bin/setdatetime-helper.sh -f -d --no-sentinel

[sudo] password for volumio:

setdatetime-helper: force requested; bypassing ntpsec and drift guard

setdatetime-helper: attempting HTTPS Date fallback sequence

setdatetime-helper: no Date header from https://time.is

setdatetime-helper: no Date header from https://time.cloudflare.com

setdatetime-helper: no Date header from https://time.google.com

setdatetime-helper: no Date header from https://www.bing.com

setdatetime-helper: no Date header from https://www.baidu.com

setdatetime-helper: all HTTPS Date fallbacks failed

1 Like

Hey @huyen82,

Thank you for the details.

  1. On the Raspberry Pi you stated that the helper works correctly.
  2. On the HP Elitedesk 800 G2 the script runs but cannot extract a Date header from any of the fallback endpoints. This points to an environment-specific difference: could be local firewall, corporate proxy, security filter, or simply different network path depending on how the device is connected.

To move forward we need a minimal test from your Elitedesk only. Please run the following loop and share the output:

for ep in \
  http://www.taobao.com \
  http://www.jd.com \
  http://www.qq.com \
  http://www.sina.com.cn \
  http://www.aliyun.com
do
  d=$(curl -sI -L --max-time 5 "$ep" | sed -n 's/^[Dd]ate:[[:space:]]*//p')
  printf "%-28s -> %s\n" "$ep" "${d:-<no Date header>}"
done

This will show clearly which endpoints respond with a Date header on your network.
Once we see the results, we can advise accordingly.

Kind Regards,