Volumio for Khadas

Command-line information applies only to professionals. Ordinary users do not need this. This topic read not only regular users but also the developers, this information is for them.

I agree but not being a developer i am trying to be kind of a bridge for ordinary audiophile users (that know what SSH mean) and you :slight_smile:

BTW, I am really happy with the last images be cause of not using .dtb file I can finally have volumio installed on VIM/VIM2 w/o any noisy interfaces active and w/o internal audio card as well :slight_smile:

The problem i have now with VIMs is the same i had with Nanopi neo and nanohat pcm5102a, i can’t activate I2S using Volumio OS. In Armbian there is a way to do it but with Volumio isn’t working.

I have tested last two images of Volumio from balbes150 and i can say they work as expected at least for me.

My config is:
VIM2 max (tested on VIM Pro as well)
Volumio with installed plugins for Youtube, Spotty/Spotify, squeezelite, tunein, etc
LMS (DSD patched) with Youtube, ickStream for TIDAL, Spotify, Soundcloud, Mixcloud, Radio Paradise
ROON bridge

More than 2000 local albums with more than 27000 songs all in aiff and dsf and no problem even for VIM 1 with 2GB ram and 16GB eMMC to handle them and play when scanning the library!

4 Likes

Hi Stefan,

you can activate I2S for a simple DAC (I tried Odroid HiFi shield) with the following sequence.
modprobe snd_soc_pcm5102
modprobe snd_soc_odroid_dac

The problem with this is that though it seems to work (i can see the device open with correct hw_params in /proc/asound/card1) but there is no sound.
I expect something is not right with the dtb as a decompiled versions shows it is using the same GPIO pins as Odroid (GPIOAO_8, GPIOAO_9, GPIOAO_10 and GPIOAO_11, but this is incorrect as they have to be GPIOH_6, GPIOH_7, GPIOH_8 and GPIOH_9 according to VIMs pinout scheme in the wiki.
My knowledge of DT is not good enough to fix this. I tried to modify it by using the required pins and recompiled, but there is no difference.
balbes150 is aware, so I hope he can help.

1 Like

I made changes to the dtb. Try this dtb for VIM1.

https://yadi.sk/d/-lfJDRJe3U5ULZ

1 Like

@balbes150 —> BINGO!!!

It works, but I had terrible crackles at first.
A reboot solved it, not sure where this came from.
Webradio was tested with an Odroid Hifi Shield +, so basic I2S is OK.
I need to do further testing with different formats and sampling rates, but need to build my library on VIM for that first.
After that I will try a pcm512x based DAC.

Edit Playing upto 352.8Khz/24bit, currently I do not have anything higher than that, but this means it works just as well as on an Odroid, using the same material.

Do you use it in master mode or slave? This DAC supports both i think. Or i am wrong?

I cannot run the Odroid HiFi shield without MCLK, otherwise I get just a load of crackles.
Meanwhile I have tested a pcm512x and an ES9023 DAC, both fine with the Odroid pcm5102a driver.
Trying the pcm512x DAC with control via I2C fails because of i2C issues on I2C-1, need to look into that in more detail and send balbes150 a log.
Edit The pcm512x was not the Hifi Shield 2, did not want to risk that because I only have one :wink:
Edit 2 The pcm512x does fine without MCLK

2 Likes

Enjoying the music in 192Khz/24bit, tomorrow I’ll connect an Allo Boss.
Pity we have no i2c yet for hardware control, but surely it will follow soon.

3 Likes

This is when you play DSD64 over PCM right? I can’t test I2S on VIM unfortunately. I don’t have compatible DAC. I use XMOS USB to I2S.

Yes, the DACs I use are not capable to reproduce DSD direct.
You will not find any compatible DACs for VIM. The 40-pin connector is not RPI compatible.
Odroid HATs won’t fit either, they have a 7-pin proprietary connector next to the cpu.

Is the volumio controllability locally, without the Internet?
How to do it?

This is easily solved with wires with different tips. male - fmale

Uploaded a new version of the image 0.4. Added fixed dtb for s912 and changed i2c.

4 Likes

brutefir plugin work! but the CPU is quite bussy on VIM2 max

1 Like

@YuraNN
Click here to go to the Volumio documentation

@balbes150 yes, that is how I do it.
@all: when doing this, make sure to make solid connections, no wiggely wires!
So, don’t use breadboard jumpers :wink:
This is how I connected the Odroid Hifi Shield

4 Likes

Guys you are the magicians!
I use I2S connected DAC on NanoPi and RPi (with B&O CREATE) as an end points. VIM is powerful enough to drive the audio server :slight_smile: … and same time being audio end point.
For me, main problem with VIM as an audio streamer is that Amlogic can’t be feed from external master clock (VIM didn’t support slave mode as far as i know). I2S is better only compered to other options with slave DACs but when reclock is not used. I hope some day, someone will solve this as it was done for RPi last year. At the moment asynchronous USB -> recloc ->i2s conected DAC is the best option for audiophile VIM users.

I use analogue powered JLSound’s I2SoverUSB with isolated USB with reclock based on XMOS with I2S connected Soekris R2R DAC. My dream is to use VIM in slave mode without the XMOS and USB! Unfortunately for the moment (personally for me of course), the best possible sound with VIM as a streamer is the above way.

2 Likes

The new version of Volumio image v 0.5_20180407.
Added inclusion of Wi-Fi module dhd by default. Now you will not need to manually start the module for WiFi. To update the Volume version (which is installed on the eMMC). you must run the new installation from external media. Perhaps in the future, Volumio developers will add an update from their server through a web interface.

3 Likes

More good news:
I used @Gouwa’s method to connect SPDIF pin 13 (with pin 14 GND) to a coax interface, but added a 1K resistor to stay on the safe side.
Works perfectly with @balbes150 latest image, so SPDIF can be ticked off too.

Only thing left is I2C, which needs more work.

2 Likes