UDOO/UTF-8 Coding, Airplay and 24bit 96 kHz problem


I’m using UDOO QUAD with Volumio 1.4.

I’ve got some issues with a Volumio 1.4.

  1. I can’t load files with “óöèę” etc into database, Volumio just can’t see them.
  2. Airplay is very distorted, unusable.
  3. 24bit 96 kHz playback is distorted as well (I tried all kernel options).
  4. I can’t mount Volumio over the network (I’m using sATA drive). It used to work perfectly with usb drive.

any help would be muchly appreciated :slight_smile:.

best wishes,


1- thanks, will see what is causing this locales problems.
2- for airplay, do

nano /var/www/command/player_wrk.php

and in the shairport line, add plug in front of hw

3- problem with resampling of onboard DAC?

4- For sata there’s a guide on the forum, I’ll find out where and link to you


Thank you I will check it asap.

re 3 - previous Volumio version worked well with my DAC. As far as I can tell it has a problem with a 24bit/96kHz but 24/48kHz works well. I will test it again soon.

re 4 - I’ve mounted sATA drive and I can use it as my music database. I just cannot access it via network (USB drive was accessible via home/shared network).


Where shall I add “plug in fron of hw”?

[code]// Shairport for Airplay Capability
//Retrieve Output Device
if (isset($_SESSION[‘shairport’]) && $_SESSION[‘shairport’] == 1) {
$dbh = cfgdb_connect($db);
$query_cfg = “SELECT param,value_player FROM cfg_mpd WHERE value_player!=’’”;
$mpdcfg = sdbquery($query_cfg,$dbh);
$dbh = null;
foreach ($mpdcfg as $cfg) {
if ($cfg[‘param’] == ‘audio_output_format’ && $cfg[‘value_player’] == ‘disabled’){
$output .= ‘’;
} else if ($cfg[‘param’] == ‘device’) {
$device = $cfg[‘value_player’];
} else {
$output .= $cfg[‘param’]." \t"".$cfg[‘value_player’].""\n";
// Start Shairport with Volumio name, stopping Mpd on start, with Selected output device
$cmd = ‘/usr/local/bin/shairport -a “Volumio” -w -B “mpc stop” -o alsa – -d “hw:”’.$device.’$

// Djmount daemon start for DLNA Browsing
if (isset($_SESSION[‘djmount’]) && $_SESSION[‘djmount’] == 1) {
$cmd = ‘djmount -o allow_other,nonempty,iocharset=utf-8 /mnt/UPNP > /dev/null 2>&1 &’;

// Mpdupnpcli for UPNP control
if (isset($_SESSION[‘upnpmpdcli’]) && $_SESSION[‘upnpmpdcli’] == 1) {
$cmd = ‘/etc/init.d/upmpdcli start > /dev/null 2>&1 &’;


The line:

$cmd = ‘/usr/local/bin/shairport -a “Volumio” -w -B “mpc stop” -o alsa – -d “hw:”’.$device.’$

should read:

$cmd = ‘/usr/local/bin/shairport -a “Volumio” -w -B “mpc stop” -o alsa – -d “plughw:”’.$device.’$

see also

github.com/volumio/Volumio-WebU … a6f62e733d

success, worked for me.


Changing the output by adding “plug” makes ALSA convert the sample rate and format to meet what the hardware requests.

This isn’t optimal from a sound quality perspective - I am pretty sure that ALSA will use the dmix plugin in this scenario, which is known to be of poor audio quality.

With MPD, we can ensure that the conversion happens with libsamplerate via configurations in mpd.conf - this library provides conversions with great sound quality.

But, I don’t know if this is possible with Shairport?

Some interesting info on mpd configuration options:

it works! cheers!

I’m grateful for sorting Airplay problems but issue #1 #3 #4 still persist.

So it’s not [SOLVED].