Unofficial Volumio3 images (with MyVolumio) for NanoPi Neo, Neo2, Air (with I2S-slave support)

This thread was created to post links and discuss Volumio 3 images (with MyVolumio) for NanoPi Neo, NanoPi Neo2 and NanoPi Air boards. These images are based on a kernel built with Armbian tools and include support the I2S bus in slave mode.
You can set master/slave (default) mode of i2s and tune other interfaces just by edit overlays in armbianEnv.txt.

DISCLAIMER: those images are unofficial, released “as-it-is”. No official support will be provided for those devices, but help from other community members is more than welcome.

Updates will be released from time-to-time, without a regular schedule. They can be applied with OTA update or by flashing the new image on the SD-card.

Big thanks to @Darmur!

NanoPi Neo
Volumio-3.503-2023-06-13-nanopineo-armbian.zip

NanoPi Neo2
Volumio-3.503-2023-06-13-nanopineo2-armbian.zip

NanoPi Air
Volumio-3.503-2023-06-13-nanopiair-armbian.zip

4 Likes

New images with up-to-date Volumio backend:

Volumio-3.512-2023-07-04-nanopineo2-armbian

Volumio-3.512-2023-07-04-nanopineo-armbian

Volumio-3.512-2023-07-04-nanopiair-armbian

New images with up-to-date Volumio backend:
Volumio-3.547-2023-10-03-nanopineo2-armbian

Volumio-3.547-2023-10-03-nanopiair-armbian

Volumio-3.547-2023-10-03-nanopineo-armbian


And new image for NanoPi Neo3 with support SPDIF, I2S without/with external master-clock:
Volumio-3.547-2023-10-03-nanopineo3-armbian
If you want try I2S with external master-clock signal, you can edit armbianEnv.txt and set user_overlays like this:
user_overlays=rockchip-spdif-out-enable rockchip-i2s-external-mclk
By default, external clocks frequencies set to 11,2896M and 12,288M, but you can change it in rockchip-i2s-external-mclk.dts and recompile DTS. Pin GPIO2_A2 used for switching clocks 11,2896M/12,288M, but also may be changed by DTS. Pin I2S_MCLK is master clock input and can’t be changed to other pin.

3 Likes

Hi Nikkov, can this image be used with Tidal music? and if so, do you plan to also post a 3.569 version that supports FLAC?
I would like to change the master clock frequencies in .dts, could you post a little suggestion of how to recompile?

spacibo genialny druk.

here the release 3.569 supporting Tidal Flac

https://updates.volumio.org/nanopineo-armbian/volumio/3.569/Volumio-3.569-2023-10-21-nanopineo-armbian.zip
https://updates.volumio.org/nanopiair-armbian/volumio/3.569/Volumio-3.569-2023-10-21-nanopiair-armbian.zip
https://updates.volumio.org/nanopineo2-armbian/volumio/3.569/Volumio-3.569-2023-10-21-nanopineo2-armbian.zip
https://updates.volumio.org/nanopineo3-armbian/volumio/3.569/Volumio-3.569-2023-10-21-nanopineo3-armbian.zip

Hi Darmur, thanks for your answer, this is version with external master-clock and SPDIF?

this is the version with Armbian kernel, the kernel package has been provided by @nikkov

I don’t know if it does support external master-clock and SPDIF, let’s wait for his response

I just had a look to his previous post, I confirm the NanoPi-NEO3 image has support for SPDIF and external master-clock.

for the details on how to change the MCLK frequency, let’s wait for his response

Yes, this versions for NanoPi Neo3 can work with external master-clock and SPDIF-out. You can enable/disable this features through armbianEnv.txt (SPDIF enabled by default).
After change some parameter in dts (e.g. master-clock values) you must recompile it:
dtc -@ -q -I dts -O dtb -o rockchip-i2s-external-mclk.dtbo rockchip-i2s-external-mclk.dts

Really thanks Nikkov thanks for string, thanks Darmur, and good new year

Hi NIKKOV, just a small question, I don’t understand how GPIO2_A2 works. Is it out or in? through tidal change from 44.1 mqa to 24/96 but its status does not change, it always remains high. Is the clock switch driven by the NEO3 or does it have to be done externally? Maybe the pin only works if the external clock is active?
thanks and sorry again.

Hi milom,

GPIO2_A2 works as output only with external master-clock and used for switching 48/44.1 generators.

new version 3.703 is available

Nanopi NEO

Nanopi NEO Air

Nanopi NEO2

Nanopi NEO3

1 Like

how to set master/slave (default) mode of i2s and tune other interfaces just by edit overlays in armbianEnv.txt.

on what device?

if I remember correctly, i2s in master is enabled by default in neo3, but without MCLK output. i2s in slave enabled by include rockchip-i2s-external-mclk overlay in armbianEnv.txt

thanks for reply,
I haven’t solved the problem yet。
page down to see my question

also hope your reply

thanks for reply,
I haven’t solved the problem yet。
My DAC1794 need input MCLK, LRCK,BCLK,DATA. By default NEO3 without MCLK output.
To get MCLK, I edit armbianEnv.txt as you told

我的armbianEnv.txt如下
verbosity=1
bootlogo=false
overlay_prefix=rockchip
fdtfile=rockchip/rk3328-nanopi-neo3-rev02.dtb
rootfstype=ext4
console=serial
user_overlays=rockchip-spdif-out-enable rockchip-i2s-external-mclk
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
extraargs=imgpart=/dev/mmcblk0p2 imgfile=/volumio_current.sqsh net.ifnames=0

But NEO3 MCLK didn’t work or even worse,appears “Error:failed to open ALSA device,device or resource busy”
I do not know Where I got it wrong?I’m not a developer
Could you tell me in detail how to set it up? i2s in master is enabled by default in neo3, and with MCLK output. So the DAC1974 can work.

hope your reply too

the overlay ockchip-i2s-external-mclk is for applying an external master clock to the NanoPi NEO3 on the MCLK pin, not for enabling the MCLK output

After your patient reply, I slowly understood.
@nikkov also thanks for you

@Darmur
i2s in master is enabled by default in neo3,how to enable MCLK output ?Can it be achieved?