Public Alpha Test: Audio Without Compromise - Volumio on Bookworm Begins

Did the same with vers=2.0, still all good

Dear Volumionauts,

@gkkpch - Thanks for raising this it’s a very helpful clue.

Lets properly investigate the reported performance drop in NAS scanning under Bookworm Alpha compared to Buster, especially when using CIFS mounts. Based on your observations, here’s what we have so far:

Baseline Comparison Request

We’d like to ask Volumionauts to help confirm:

Can you please run the following test and share your findings?

  • Install v0.063 (Bookworm, previous kernel)

  • Run a full library scan from your NAS

  • Then, repeat the same on v0.066 (current kernel)

  • Let us know:

    • Number of tracks detected per refresh
    • Any visible delay or bottleneck
    • What vers= setting you are using (if any)

Initial Observation from Your Case

You found that:

  • Mounting without vers= caused a downgrade in performance, with the mount defaulting to vers=3.11
  • Explicitly setting vers=1.0 restored the expected scan speed

This confirms a possible regression or increased overhead when using SMB 3.x defaults with kernel 6.12.x in combination with your NAS.

Why This Matters

Kernel 6.12 (and Bookworm) has updated CIFS behavior. When left to auto-negotiate, it often defaults to vers=3.11, which introduces:

  • Encrypted sessions
  • Multi-channel negotiation
  • Increased metadata overhead

These may significantly affect scan performance on:

  • Low-powered NAS systems
  • Atom-class SBCs
  • Older networking stacks

What Would Help

Try mounts with:

  • vers=3.0
  • vers=2.1
  • vers=1.0

Let’s find the boundary where speed begins to degrade.

Thanks again for putting this on our radar.

Kind Regards,

Repeated the steps with vers=3.0, slooooowwwww again
Seems vers=2.0 works best with my NAS.

I think you meant this pull request causing this problem.

Kind Regards,

1 Like

@nerd

Just noticed that the Time check is quicker then getting the IP, so it shows an RED failed line between Plymouth and the 3D thingy.

I was going to report that as well, so confirming it fails to start the helper service

Testing this on a Lenovo Yoga 520-14ikb
Intel Core i7, 8GB,
Panel AU Optronics 0x423d 1920x1080
Intel Dual Band Wireless-AC 3165 Plus Bluetooth
Realtek Semiconductor Corp. RTL8152 Fast Ethernet Adapter (usb-to-eth, testwise as ASIX is not working)
Audio: Realtek ALC 236, HDA Intel PCH
Booting from USB

  • SMB version on SMB network drive set to 2.0 instead of 3.11
  • Touch Screen OK
  • Touch Pad OK
  • Wireless OK
  • BT playback OK
  • BT Volume control OK (with incorrect warning pop-up)
  • Library playback OK
  • Prev/Pause/Next buttons OK
  • Keyboard led brightness control OK
  • Panel brightness control NOK
  • Mute NOK
  • Flight button stops network, but restart not handled (not expected to work)

Higole pro
After a new USB flash v0.066

  • first wizard with empty network settings
  • still no WIFI scan, so ethernet cable required to configure network.

  • after disabling the hotspot, the wifi scan is ok

Suggestion for this casewhere HW can’t hotspot and scan:
allowing a manual config like
image

screen rotated -90°
touch screen rotated 90°
nothing else tested

edit : the cooling fan never stop

Have you tried this option :rofl:?

image

it is easier to pull the power plug, then the fan will also stop :joy:

But on a serious note, can you not set appropriate CPU fan curves in your system BIOS?

need to check the bios, but it was quiet in previous v0.065

@nerd

Just in case your wondering, how the heck did he do it that fast.
I’ve timed 6000 tracks and multiplied the time by 66773 (= Total library) / 6000

NAS:
QNAP TS-431P
2* 1Gbe, as failover and load balance
2* 2*6TB in raidgroup

V0.063 CIFS:

vers=3.11, average 60 tracks per screen refresh, Guest account disabled. Total scan 83 min.
vers=3.0, average 65 tracks per screen refresh, Guest account disabled. Total scan 77 min.
vers=2.1, average 62 tracks per screen refresh, Guest account disabled. Total scan 67 min.
vers=1.0, average 70 tracks per screen refresh (which seems to refresh faster 4 vs 5 sec.), Guest account disabled. Total scan 61 min.

V0.066 CIFS:

vers=3.11 average 54 tracks per screen refresh, Guest account disabled. Total scan 121 min.
vers=3.0, average 68 tracks per screen refresh, Guest account disabled. Total scan 92 min.
vers=2.1, average 70 tracks per screen refresh, Guest account disabled. Total scan 85 min.
vers=1.0, average 70 tracks per screen refresh (which seems to refresh faster 4 vs 5 sec.), Guest account disabled. Total scan 63 min.

V3.812 CIFS:

Blank,    average 85 tracks per screen refresh, Guest account disabled., Total scan 63 min.
vers=3.0, average 68 tracks per screen refresh, Guest account disabled., Total scan 64 min.
vers=2.1, average 60 tracks per screen refresh, Guest account disabled., Total scan 50 min.
vers=1.0, average 77 tracks per screen refresh, Guest account disabled., Total scan 61 min.

V0.066 NFS:

Blank,       average 70 tracks per screen refresh, Guest account disabled, Total scan 59 min.
nfsvers=3,   average 85 tracks per screen refresh, Guest account disabled, Total scan 52 min.
nfsvers=4,   average 70 tracks per screen refresh, Guest account disabled, Total scan 59 min.
nfsvers=4.1, average 80 tracks per screen refresh, Guest account disabled, Total scan 59 min.

Hi @gkkpch ,
yes it’s slow. :slight_smile:
Cheers,
Robert

Hey @Wheaten,

Thank you for taking the time to conduct such a thorough and methodical benchmark across all three platforms. Your testing has been invaluable in highlighting a performance regression in CIFS scan speeds between Volumio Buster / 0.063 and the current 0.066 Bookworm builds. All tests being performed on the same hardware and network stack rules out variability at that layer, which helps us narrow things down considerably.

Current Understanding:

  • Kernel Consistency: Both Volumio 3.8x (Buster) and 0.063 (Bookworm) use kernel 6.6.59, ruling out the kernel version alone as the culprit.
  • Storage Medium: While Volumio 3.8x was run from a slower USB3 flash stick, and 0.06x was from a faster USB3 SSD, the newer builds still show slower scan times, eliminating local storage as the bottleneck.
  • Observed Impact: Bookworm 0.066 using vers=3.11 results in nearly double the total scan time compared to vers=1.0, while Buster shows relatively consistent performance across versions.

At this stage, our working assumption is that changes in the CIFS/SMB stack in Bookworm -particularly within cifs-utils, mount defaults, or how metadata/stat operations are handled - may be introducing additional latency or overhead during recursive scans. We are reviewing both kernel and user-space delta logs to identify whether a behavioral change in metadata caching, buffering, or readahead is affecting performance.

We’ve also begun looking into any upstream bug reports or regressions regarding cifs-utils or kernel fs/cifs in Bookworm, but so far no clear root cause has been published. It’s possible this is a side effect of Bookworm’s tighter default hardening and protocol negotiation behaviors.


Temporary Workaround:

If you’re affected by slow scans with SMB/NAS:

  • Use explicit protocol versions:

    vers=1.0
    

    or

    vers=2.1
    
  • This can be added in the mount options via the Network Drives page in Volumio.

Note: While vers=1.0 often performs better in these scenarios, it may be disabled or unsupported in some environments due to security hardening. Please assess your NAS settings accordingly.


Next Steps:

I am continuing to analyze mount traces, potential mpd interaction differences, and kernel IO performance characteristics to isolate the change. If anyone else can reproduce this and supply logs or metrics, it would help validate whether this is reproducible across devices or isolated to a few system types.

Thanks again for your help, and we’ll share updates as we dig deeper.

Kind Regards,

I am running volumio 0.066 on a Raspberry Pi 4. When I follow the setup screen and try to configure my Wi-Fi the hotspot is still available. When I configure the Wi-Fi in the Network Settings on the main screen it works.

Additionally when I try to search or list internet radio stations volumio crashes:

May 15 22:29:19 volumiopi volumio[9902]: Searching plugin music_service/webradio
May 15 22:29:19 volumiopi volumio[9902]: info: CoreCommandRouter::executeOnPlugin: webradio , search
May 15 22:29:21 volumiopi volumio[9902]: Use XMLElement.setAttribute instead
May 15 22:29:21 volumiopi volumio[9902]: |||||||||||||||||||||||| WARNING: FATAL ERROR |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
May 15 22:29:21 volumiopi volumio[9902]: TypeError: children[i].attr(...).value is not a function
May 15 22:29:21 volumiopi volumio[9902]:     at /volumio/app/plugins/music_service/webradio/index.js:956:46
May 15 22:29:21 volumiopi volumio[9902]:     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
May 15 22:29:21 volumiopi volumio[9902]: |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
May 15 22:29:21 volumiopi sudo[10532]:  volumio : PWD=/ ; USER=root ; COMMAND=/bin/journalctl '--since=2025-05-15 22:28'
May 15 22:29:21 volumiopi sudo[10532]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=1000)
May 15 22:29:21 volumiopi sudo[10532]: pam_unix(sudo:session): session closed for user root
May 15 22:29:22 volumiopi systemd[1]: volumio.service: Main process exited, code=exited, status=1/FAILURE
May 15 22:29:22 volumiopi systemd[1]: volumio.service: Failed with result 'exit-code'.
May 15 22:29:22 volumiopi systemd[1]: volumio.service: Consumed 19.421s CPU time.
May 15 22:29:22 volumiopi systemd[1]: volumio.service: Scheduled restart job, restart counter is at 4.
May 15 22:29:22 volumiopi systemd[1]: Stopped volumio.service - Volumio Backend Module.

Can you also try to add the firmware packages to the Raspberry Pi image? I have a USB Wi-Fi adapter which should have better reception than the build in Wi-Fi of the Raspberry Pi but the driver is missing the firmware binary.

Thank you for creating these test builds!

Hey @Martin_Stolpe,

Thanks for the thorough feedback - much appreciated during Alpha testing.

Regarding the Hotspot Behavior

This is a known transition behavior: during first-boot setup, the Hotspot will remain active until the backend confirms stable WiFi association. Sometimes the UI might not reflect this immediately. If the connection succeeds through the Network Settings page afterward, it’s working as intended - but we agree this can be confusing and are reviewing UX flow improvements.

Crash on Webradio Search

You’re absolutely right to report this. The crash is clearly traceable:

TypeError: children[i].attr(...).value is not a function
    at /volumio/app/plugins/music_service/webradio/index.js:956:46

This is a direct compatibility error in the webradio plugin related to how we parse XML search results. It likely stems from an outdated use of attr(...).value() which no longer returns a function in XML libraries. Will see how quickly patch could be available for the upcoming builds to prevent service failure and restore search functionality.

USB WiFi Firmware Missing

Please let us know the exact model or chipset of your USB WiFi adapter. You can typically retrieve this with:

lsusb

or:

dmesg | grep -i firmware

We are actively integrating broader firmware support into the x86 and ARM builds - especially for Realtek and MediaTek devices - and your feedback helps us prioritize which firmware blobs to include.


Again, thank you for testing and reporting. The crash in the webradio plugin is now confirmed and will be addressed. If you can share the chipset of your USB WiFi adapter, we’ll investigate driver and firmware inclusion.

Kind Regards,

Hi,
here is a freshly flashed 0.066 on AMD64.
Scanning of the music lib is extremely slow / not working at all. I attached a SSD via USB and a NAS via SMB with option “vers=2.1”.
http://logs.volumio.org/volumio/UfFxWoo.html

Removing the NAS after a reboot seems to make the scan working:
http://logs.volumio.org/volumio/t3tGse2.html

First letting Volumio finish the scan of the USB drive, then adding NAS wich “vers=1.0” works well:
http://logs.volumio.org/volumio/5OIza3r.html

Are the processes scanning the different sources serialized? Or does the system try to scan more than one source at the same time? This could cause probably cause problems in performance or concurring access to the local lib database…?

Cheers,
Robert

Testing this on a HP Notebook 15-r277nz
Dual core Intel Core i7-5500U, 8GB
Graphics Intel HD Graphics 5500, panel HP Truevision HD (SunplusIT INC) 1920x1080
Realtek RTL8723BE PCIe Wireless Network/ Bluetooth Combi Adapter
Realtek RTL810xE PCI Express Fast Ethernet
Audio: HDA Intel PCH with Realtek ALC3227, HDA Intel HDMI
RTS5229 PCI Express Card Reader
Booting from USB

  • Install to disk OK
  • SMB version on SMB network drive set to 2.0 instead of 3.11
  • Card reader OK
  • Wireless OK
  • BT playback OK
  • BT Volume control OK (NO warning pop-up)
  • Library playback OK
  • Prev/Pause/Next buttons OK
  • Display brightness control NOK
  • Mute NOK
  • Flight button stops bt connection
  • TIDAL and TIDAL Connect working

It would be nice to include this driver for wifi dongle.
MTK7921AU

Hey @jocoman,

Thanks. Please use the official template to request hardware support:

HARDWARE_SUPPORT_REQUEST

We need complete identification: lsusb output, datasheet or product page, and a clear use case.
Just naming the chipset (MTK7921AU) is not enough. Without full details, we can’t include support.

Kind Regards,