Raspberry PI 3B+ with AOIDE DAC II

Hello,
Please add AOIDE DAC II drivers to official Volumio distribution. Many people needs it!

Thanks,
Sebastian

Hi arawynn,

I read in another post here in the forum that this DAC unfortunately cannot be integrated because it requires modifications to the kernel and the official kernel devs did not accept to integrate this. (until now).

Anyway there is a precompiled image out there. Do a search for Ugeek and sourceforge.
But - the last available version there is rather old (v2.555) and also will not be supported here in the forum.
Also take in mind - it could be a question of security if you want to trust their image…
I did not find any suspicious behaviour, but there is a bit of a “unsure feeling”, although it is running absolutely stable.

It would be great if someone could give instructions on how to compile this special version.
I know it will not be supported, but would be a great help for those who own such a AOIDE DACII (like myself).

The sound of this ES9018 based DAC is really great and it is not expensive (~40€).

Best Regards
Josef

Hello,
Thanks for comprehensive answer. I hope they will integrate this kernel in the future. Its a pitty that i didn’t made research before purchase, but it works divinely with my Rotel !!

Hope You doing fine,
Sebastian

Hi Sebastian,

Good News !!! :smiley: :smiley: :smiley:

Thanks to HowardQiao and my friend Simon Reiser we figured out how to integrate the AOIDE DAC II into Volumio.
Tested and reproduced on Volumio v2.599.
Take note: This is not officially supported by Volumio, because of this drivers are still not accepted by the official linux kernel team to be merged into the standard kernel.
Attention: Do not use the OTA Update. It will replace the required “tainted kernel” to the original official kernel and therefore you might have to repeat the following procedure or will end up in a non working system !!!
For newer versions of Volumio check the Github page of HowardQiao for available drivers for your new kernel version:
https://github.com/howardqiao/aoide-dac-drivers

To check the kernel version:

uname -srvm

for v2.599 you will get an output similar to this:
Linux 4.19.60-v7+ #1247 SMP Thu Jul 25 14:41:19 BST 2019 armv7l
this indicates we are currently running on kernel v4.19.60.
Take a look at: https://github.com/howardqiao/aoide-dac-drivers/tree/master/drivers
You find a file aoide_dac_4.19.60.tar.gz there - so the modification should work (and it does :smiley: )

Anyway i strongly recommend to have a backup - or even better - clone of your SD card to test with newer versions.

[code]sudo apt-get update

sudo apt-get install -y libconfig9 binutils curl dnsmasq hostapd bridge-utils hostapd python-dev python-pip python-smbus libsdl2-image-2.0-0 libsdl2-ttf-2.0-0 libsdl2-gfx-1.0-0 wiringpi mpd mpc libmpdclient2 libasound2 libasound2-dev libasound2-data

mkdir -p ~/build && cd ~/build
git clone https://github.com/howardqiao/aoide-dac-drivers
cd aoide-dac-drivers/
sudo ./aoide_dac_drivers_install.sh[/code]

After that edit dacs.json

sudo nano /volumio/app/plugins/system_controller/i2s_dacs/dacs.json

insert the following lines after the ALLO stuff:

{"id":"aoide-dacii","name":"Aoide DAC II","overlay":"aoide-dacii","alsanum":"1","mixer":"Digital","modules":"","script":"","needsreboot":"yes"}, {"id":"aoide-digi-pro","name":"Aoide Digi Pro","overlay":"aoide-digipro","alsanum":"1","mixer":"Digital","modules":"","script":"","needsreboot":"yes"}, {"id":"aoide-zero-dacplus","name":"Aoide Zero DAC+","overlay":"aoide-zero-dacplus","alsanum":"1","mixer":"Digital","modules":"","script":"","needsreboot":"yes"}, {"id":"aoide-zero-digiplus","name":"Aoide Zero Digi+","overlay":"aoide-zero-digiplus","alsanum":"1","mixer":"","modules":"","script":"","needsreboot":"yes"},

then edit cards.json

sudo nano /volumio/app/plugins/audio_interface/alsa_controller/cards.json[/code]

and insert anywhere in the middle:
[code]{"name": "sndrpiaoidedigi", "multidevice": false, "prettyname": "Aoide Digi Pro", "type":"i2S"},
{"name": "II", "multidevice": false, "prettyname": "Aoide DAC II", "defaultmixer": "Digital", "type":"i2S"},
{"name": "sndrpiaoidezerodacplus", "multidevice": false, "prettyname": "Aoide Zero DAC Plus", "type":"i2S"},
{"name": "sndrpiaoidezerodigiplus", "multidevice": false, "prettyname": "Aoide Zero Digi Plus", "type":"i2S"},

Then reboot.
For some reason this first reboot takes a lot of time - so be patient.
If the UI has come up choose AOIDE DAC II as your I2S DAC and do another reboot.
Stay patient - it will come up and sound really good - no distortions - also the hardware volume control is working :smiley:
From now on it does start in normal (shorter) time.

Any ideas regarding the long boot process at the beginning are appreciated very much. :slight_smile:

Best Regards
Josef

Hi Josef,

Thanx for your scripts implementing the Aoide DAC drivers into the Volumio kernel. I am a little bit “rusty” with Unix and Linux, but I can do what I want. Since 2 weeks new with the RaspBerry 3B+ now. First I was using Volumio V2.632-2019-10-12-pi-aoide-32-64bit-default-32bit.img that is a complete compiled version of Volumio V2.632 but with extra Aoide-drivers.

Since 19 december the latest version of Volumio is V2.692 came out, also without the Aoide drivers. I have tried to run your scripts using SSH on this latest Volumio version but not all the libraries seems to be accepted or present for the Volumio V2.692. Is gives some errors running the script. The “libsd”-libraries are the problem. Maybe you know this and can make an updated version of the script for Volumio V2.692? Below the script I am talking about:

sudo apt-get install -y libconfig9 binutils curl dnsmasq hostapd bridge-utils hostapd python-dev python-pip python-smbus libsdl2-image-2.0-0 libsdl2-ttf-2.0-0 libsdl2-gfx-1.0-0 wiringpi mpd mpc libmpdclient2 libasound2 libasound2-dev libasound2-data

Furthermore I can choose the Aoide drivers that I want to use and that works fine! (Aoide Digi Pro). I think those 3 libraries can be omitted in the script.

Hope to hear from you soon!

Best regards,

Jacques