Direkte I2S Audioausgabe für treiberlosen DAC

Häufige Probleme und deren Ursachen und Lösungen
v_erich
Beiträge: 20
Registriert: 8. Juni 2020, 20:01
Wohnort: Österreich

Direkte I2S Audioausgabe für treiberlosen DAC

Beitrag von v_erich »

Hallo,

Ich habe hier ein DAC Setup, das nicht aus einem HAT DAC für den Rapberry besteht.
Es ist ein AK4497 Wandler der mit I2S und Masterclock versorgt wird.
Diese Daten generiere ich mit dem RPI, dann über einen Isolator der den RPI vom DAC galvanisch trennt, dann über einen Reclocker auf FPGA Basis mit eigenem RAM und Clocks, dann noch über 3 zusätzliche Reclocker Prints in den DAC.
https://allo.com/sparky/isolator.html
https://allo.com/sparky/kali-reclocker.html

Dieses Setup läuft hier mit moodeaudio problemlos, Treiber ist für einen ESS9038, der spuckt das alles richtig in 32 Bit bis 384kHz aus.
Daten kommen vom NAS mit ConvoFS vorgefalten und dann mit SOX upgesampelt auf 384kHz.
Meine High-End Lösung sozusagen.

Ich möchte aber dieselbe Hardware mit einer anderen Software (Betriebsystem) betreiben, nämlich dem Aroio Image für Streaming.
Dazu hab ich auf der Synology einen LMS mit Spotty und Airplay laufen, diese Daten sollen dann am Aroio online convolved werden, MS Encoder kommt dann auch noch dazu.
Das ist meine Tochter-Lösung und für mich fürs Musiksuchen und reinhören ideal.

Würde dann 2 USB Sticks mit der jeweiligen Software drauf anstecken und die Versorgung mittels Umschalter entsprechend den Stick geben dessen Funktionalität ich benötige.

Also eine Hardware aber 2 Betrriebssysteme mit unterschiedlichen Ausrichtungen.
Es scheitert aber leider daran, dass der Aroio keine "simplen" Treiber hat die einfach nur I2S so ausgeben wie sie geliefert werden.
Es muss keinerlei Chip mittels Treiber angesprochen werden, also kein I2C oder SPI oder clocks mit GPIO umschalten, einfach nur ausgeben.
Wäre schön wenn es das gäbe, so hab ich 2 RPI's, eine Allo Boss DAC und eine analoge Umschaltung.
Alles unnötig und klingt natürlich bei Weitem nicht so wie mein Main-DAC.

Schöne Grüße und Danke,
Erich

Benutzeravatar
((( atom )))
Aroio Entwickler
Beiträge: 615
Registriert: 25. April 2018, 11:15
Wohnort: Berlin

Re: Direkte I2S Audioausgabe für treiberlosen DAC

Beitrag von ((( atom ))) »

Na wie gesagt, Du musst mir genau sagen, welche Dateien wo sein müssen und dann seh' ich zu, dass ich die bereit stelle. Helfen kann ich gerne, aber Grundlagenforschung dazu werde ich nicht betreiben, das ist Dein Part.

v_erich
Beiträge: 20
Registriert: 8. Juni 2020, 20:01
Wohnort: Österreich

Re: Direkte I2S Audioausgabe für treiberlosen DAC

Beitrag von v_erich »

Hä?
Ich verstehe Deine Antwort leider überhaupt nicht.
Von welchen Dateien sprichst Du?

Ich bin auch Entwickler, 18 Jahre Industrielle Elektronik und seit 2 Jahren Forschung/Software unter Linux, ich weiß schon was das alles ist, aber ich kann mich hier ja ned in ein für mich unbekanntes System einarbeiten - keine Ahnung wie die Treiber am RPI so ticken und was Euer System so braucht/wie es funktioniert.
Ich bin hier Kunde und nicht Angestellter, in diesem Fall halt nicht zahlender Kunde, aber wer weiss ob ich das nicht mal werde - bei so einer Antwort allerdings...

Ich würde einen I2S Treiber benötigen der Daten ausgibt ohne eine spezifische Hardware am Gerät zu erwarten, also der einfachste I2S Treiber der möglich ist der keine Hardwareabhängigkeiten hat.

(Gruslos so wie Du)

Benutzeravatar
Hanno Sonder
ABACUS Team
Beiträge: 352
Registriert: 1. April 2016, 13:17
Wohnort: Oldenburg
Kontaktdaten:

Re: Direkte I2S Audioausgabe für treiberlosen DAC

Beitrag von Hanno Sonder »

Liebe Leute,

es geht wohl darum, dass die Treiber in den Raspberry-Linux-Systemen in Form von Overlays zusammengefasst sind. Das heißt, es gibt für die ganzen gängigen Soundkarten diese Overlays im System und die können dann zur Initialisierung des Systems genutzt werden.
Das heißt, man müsste ein Overlay kennen, dass die Ausgabe einfach so, blanko machen kann. Da gibt es glaub ich welche, bzw. es gibt Soundkarten, die zwar namentlich ein eigenes Overlay haben, aber im Grunde nichts anderes tun, als eben einfach I²S auszugeben. Dafür müsste man dann die entsprechenden Dateien ins System einbauen.
Priorität haben natürlich bei uns immer die Overlays, die auch für unsere Hardware relevant sind. Wenn aber ein Overlay bekannt ist, das dafür taugt, dann können wir es einfach ungetestet einbauen.

Viele Grüße
Hanno Sonder

v_erich
Beiträge: 20
Registriert: 8. Juni 2020, 20:01
Wohnort: Österreich

Re: Direkte I2S Audioausgabe für treiberlosen DAC

Beitrag von v_erich »

Hallo,

Danke für die unaufgeregte Antwort.
Bei moodeaudio hab ich den ESS 9038 Treiber dafür in Verwendung, gibts 2, beide laufen und sind angeblich im Kernel verfügbar.
Ich hoffe der Link hilft weiter:
http://moodeaudio.org/forum/showthread.php?tid=664

Schöne Grüße,
Erich

Benutzeravatar
((( atom )))
Aroio Entwickler
Beiträge: 615
Registriert: 25. April 2018, 11:15
Wohnort: Berlin

Re: Direkte I2S Audioausgabe für treiberlosen DAC

Beitrag von ((( atom ))) »

Erich, ich bin davon ausgegangen, dass wenn Du so ein System bereits selber gebaut hast, Du genau weißt, was Du benötigst. Das System funktioniert an sich nicht anders als ein Raspbian oder sonstiges Linux. Wir verwenden den Raspberry Bootmechanismus, Systemd und eine Shell. Daher sollten sich alle Änderungen, die Du machen musstest, um einen Raspbian-Pi damit zum Laufen zu bringen, 1:1 auf Aroio anwenden lassen, nur dass Aroio eben nicht alles zulässt. Wenn ich also eine Liste von Dingen hätte, die ins System müssen, könnte ich sie mir angucken und schauen, ob ich sie eingebaut bekomme.

In Deinem Link sind einige Bespiele drin, da weiß ich nicht, welcher. Was steht denn in Deiner config.txt drin? Das könnte evtl. schon reichen.

Ich tippe, dass es ein paar Overlay-Dateien sein werden und insgesamt haben wir alle Overlay-Dateien, die zum Raspbian gehören unter /boot/overlay drin. Soweit, so gut. Wenn Du die nun aber einfach in die config.txt einträgst, wird Aroio beim Starten feststellen, das da Einträge drin sind, die Aroio nicht kennt und sie entfernen. Wenn ich also genau wüsste, welche Overlays und ggf.dazu gehörigen Kernel-Module (wir haben einen rigoros abgespecketen Kernel, der nur die für uns relevanten Treiber beinhaltet) Du benötigst, könnte ich Aroio beibringen, diese bei einem entsprechenden Eintrag in die userconfig.txt zu verwenden.

Sollten nun spezielle Kernel-Module oder Software dazu gehören, müsste ich mal gucken, wie aufwändig es wäre, die zu integrieren. Alles, was ich nebenbei mal erledigen kann, ist kein Problem, gravierende Änderungen für einzelne User sind immer etwas schwieriger.

Das System ist aber komplett in einem GIT hinterlegt und wenn Du Dich auskennst, kannst Du es selber beliebig modifizieren und bauen.
https://github.com/unicap/aroio-ng

Und nee, in einem Forum grüß' ich nicht nach jedem Beitrag, ist ja ein Endlos-Thread und keine E-Mail.. ;)

v_erich
Beiträge: 20
Registriert: 8. Juni 2020, 20:01
Wohnort: Österreich

Re: Direkte I2S Audioausgabe für treiberlosen DAC

Beitrag von v_erich »

Hi,

Danke für die Antwort.
Ich hab nur moodeaudio installiert und nach Probiererei herausgefunden, dass eben der ESS 9038 Treiber mit meinem Setup klaglos funktioniert in allen Auflösungen (32 Bit I2S und 384kHz Samplingfrequenz), bei allen anderen Treibern war immer inrgendwas beschränkt.

In der config.txt hab ich folgendes overlay drinnen:
dtoverlay=i-sabre-q2m

Ich grüße aber trotzdem, da ich Dich ja direkt anschreibe ;-)
Gruß,
Erich

Benutzeravatar
((( atom )))
Aroio Entwickler
Beiträge: 615
Registriert: 25. April 2018, 11:15
Wohnort: Berlin

Re: Direkte I2S Audioausgabe für treiberlosen DAC

Beitrag von ((( atom ))) »

Das overlay haben wir drin. Jetzt ist nur die Frage, wie Du in den Genuss kommst. Ich muss mal drüber nachdenken, melde mich dann zurück..

Benutzeravatar
((( atom )))
Aroio Entwickler
Beiträge: 615
Registriert: 25. April 2018, 11:15
Wohnort: Berlin

Re: Direkte I2S Audioausgabe für treiberlosen DAC

Beitrag von ((( atom ))) »

Also so wie ich das sehe ist der I Sabre Q2M ein vollwertiger Treiber, der vom Overlay angesprochen wird. Ich habe im Kernel geguckt, und auch da haben wir den an Bord.

Ich habe den jetzt in der aktuellen ALPHA-Version ins Webinterface mit eingebaut, weil die aktuelle Beta an sich gerade keine Änderungen mehr bekommen darf, bis wir sie releasen. Da aber danach der Umstieg auf das geupdatete Buildroot ansteht, habe ich keine andere Möglichkeit.

Ich schick Dir mal den Link per PN, dann kannst Du mal testen, ob es überhaut läuft. Die alpha Version ist bitte auch als solche zu verstehen, da geht einiges noch nicht! Ich bin da halt aktuell voll dran und drin.

v_erich
Beiträge: 20
Registriert: 8. Juni 2020, 20:01
Wohnort: Österreich

Re: Direkte I2S Audioausgabe für treiberlosen DAC

Beitrag von v_erich »

Super!
Danke schon mal dafür!

LG
Erich

Antworten