tutorial I2S on Orange Pi H3
7 7

69 posts in this topic

First of all, it was introduced in the forum (http://www.diyaudio.com/forums/pc-based/285427-i2s-connection-orange-dac.html) that made it possible to listen to high reso music on i2S output on OrangePi PC It was done. It was a report that introduced Logitech Media Server (LMS) + Squeezelite to OrangePi PC. That image was perfect.

However, the Volumio that was introduced later on another forum (http: //www.orangepi....wthread&tid=191) was incomplete and did not work.

Share this post


Link to post
Share on other sites

Hi, we've designed Volumio to be easily ported to other platforms. You can see our build scripts here:

 

https://github.com/volumio/Build

 

You can take inspiration from the build script for Odroid for example:

https://github.com/volumio/Build/blob/master/scripts/odroidc1config.sh

https://github.com/volumio/Build/blob/master/scripts/odroidc1image.sh

 

Simply copy them as orangepiconfig.sh and orangepiimage.sh and modify them accordingly, once done add the references to :

https://github.com/volumio/Build/blob/master/build.sh

 

If you need some assistance, jump on our forum where we can give assistance if needed https://volumio.org/forum/

 

Let me know how it goes 

Share this post


Link to post
Share on other sites

Hi, we've designed Volumio to be easily ported to other platforms.

 

And by using Armbian as build system and adding a simple 'add volumio' function to customize-image.sh (when it's not about RPi) Volumio would run on ~40 SBC already. Please read through:

At least that's one of my goals contributing to Armbian project: Stop re-inventing the wheel again and again.

Share this post


Link to post
Share on other sites

And by using Armbian as build system and adding a simple 'add volumio' function to customize-image.sh (when it's not about RPi) Volumio would run on ~40 SBC already. Please read through:

At least that's one of my goals contributing to Armbian project: Stop re-inventing the wheel again and again.

I agree with you on the principle: there is lot of effort going into lots of distro, if they were focused only on one sure we'll have a really fine tuned system. Unfortunately with Volumio we use a very peculiar mounting mechanism (squashfs + overlayfs) and we based the whole partitioning on that. I fear that just an override script won't be enough to customize armbian enough. In any case I'll give a try.

I understand you are against reinventing the wheel, and I agree on this, but some practical reasons and peculiarity of all distros are a showstopper for a "universal" OS, IMHO

 

tkaiser likes this

Share this post


Link to post
Share on other sites

Does somebody know what changes I have to make in the source files for daudio0 to configure the SBS as I2S slave?

I have a codec that must be an I2S master.

With RPI one could change the CBS and/or CFS lines to lines to CBM and/or CFM to go from RPI-master to RPI-slave in the dummy codec.

On cubieboard could one change in the script.bin something like I2S_slave =1

I tried some of those changes to my nanopi neo without any luck.

Hope someone  can help me with this.

Thanks in advance.

Share this post


Link to post
Share on other sites

Thanks guys, this worked perfectly on my NanoPi NEO H3 board.  I hope you don't mind if I cite this thread in my list for building a network MPD player out of the little board?

 

I can verify that for both the PCM5102A and the onboard H3 audio hardware, I had to set " format          "*:32:2" " for MPD to have equal volume across my 16 and 24 bit source material.

tkaiser likes this

Share this post


Link to post
Share on other sites
On ‎14‎.‎02‎.‎2017 at 0:16 AM, HEAudio said:

Does somebody know what changes I have to make in the source files for daudio0 to configure the SBS as I2S slave?

I have a codec that must be an I2S master.

I subscribe to HEAudio question. I found, that  one must set

daudio_master = 1   //SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master)

rather than

daudio_master = 4   //SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave)

in section [pcm0] of fex-file, compile and copy to /boot/bin.

I also tried of those changes to my nanopi neo without any luck.

Legacy Debian Jessie 3.4.113 Image does not support this parameter? What image for nanopi neo support this one?

Thanks in advance.

Share this post


Link to post
Share on other sites

Ok nice that someone else than me seems to be interested to get I2S slave mode working.

In my opinion it is the only way to have a chance to get hi end audio from those devices.

I tried the changes you suggested for a time ago and failed that was the reason I sent my question here.

But I never thought that it could be the version of debian that didn't supported that.

So I have the same question as you What version supports those settings?

 

Share this post


Link to post
Share on other sites
3 hours ago, Georgios Fevgidis said:

What version supports those settings?

Fex settings are related to legacy kernel and do not depend on anything above (which distro used or made by whom). It might be possible that FA kernel is slightly different than Armbian's legacy kernel (other patches applied, they have an I2S HAT now and there was a commit related to that few weeks ago) but without any information it's hard to tell what's going on.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
7 7

  • Support the project

    We need your help to stay focused on the project.

    Choose the amount and currency you would like to donate in below.