• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


I2S-DAC am RasPi3
#1
nuuuu ... nach ca. 14 Std forschen( = lesen ) und probieren, den sound vom Raspberry Pi3 b auf nen DAC über I2S auszugeben, gelang das doch noch, hätte schon beinahe  aufgegeben.   Rolleyes

habe vieles versucht . angefangen bei der einfachen Anleitung....nix sound.
am Ende noch wild rumprobiert - plötzlich kommt doch was an Takten am I2S...sound kommt raus.

aber: der alsa mixer zeigt nur "HDMI + analog" an, das ist DAC 0 , default BCxxx chip im SOC;

glücklicherweise kann man im audio player Audacious den input-Kanal extra einstellen - auf sndrpihifiberry kommt das Signal
 zum output ; aber sonst keine Quelle, die gehen alle aus die im Mixer vorhandenen Einträge, HDMI oder analog.

wie kann ich den Mixer ändern, so dass auch der output I2S erscheint und eben der gesamte sound da rauskommt ?
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#2
(14.08.2017, 11:18 PM)alfsch schrieb: nuuuu ... nach ca. 14 Std forschen( = lesen ) und probieren, den sound vom Raspberry Pi3 b auf nen DAC über I2S auszugeben, gelang das doch noch, hätte schon beinahe  aufgegeben.   Rolleyes

habe vieles versucht . angefangen bei der einfachen Anleitung....nix sound.
am Ende noch wild rumprobiert - plötzlich kommt doch was an Takten am I2S...sound kommt raus.

aber: der alsa mixer zeigt nur "HDMI + analog" an, das ist DAC 0 , default BCxxx chip im SOC;

glücklicherweise kann man im audio player Audacious den input-Kanal extra einstellen - auf sndrpihifiberry kommt das Signal
 zum output ; aber sonst keine Quelle, die gehen alle aus die im Mixer vorhandenen Einträge, HDMI oder analog.

wie kann ich den Mixer ändern, so dass auch der output I2S erscheint und eben der gesamte sound da rauskommt ?

Der Alsamixer zeigt das an, worauf ALSA Zugriff hat.
Die Alsa-Konfigurationsdatei asoundrc findest Du in Deinem home-Verzeichnis.
Wie man I2S devices konfiguriert - da habe ich auch keinen Plan.
...mit der Lizenz zum Löten!
 
Reply
#3
jo -da steht:

Zitat:[pcm.!default {
        type hw
        card 0
}

ctl.!default {
        type hw
        card 0
}
somit itgendwie 2 Wahlmöglichkeiten--- nur: wie bekomme ich die 3. , den I2S ??
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#4
[quote='alfsch' pid='310602' dateline='1502746879']
jo -da steht:

[quote][pcm.!default {
        type hw
        card 0
}

ctl.!default {
        type hw
        card 0
}

/quote]
somit itgendwie 2 Wahlmöglichkeiten--- nur: wie bekomme ich die 3. , den I2S ??
[/quote]

Den mußt Du händisch in diese Datei eintragen, dann wird ihn wohl auch der Alsamixer finden.
Die Parameter dafür sollte Tante Google irgendwo in ihrem Handtäschchen haben.
Was ich da sehe ist nur card0 - einmal die pcm-section, dann die ctl-Sektion.

https://learn.adafruit.com/adafruit-i2s-...g-and-test

sieht so aus, als I2S nicht an Bord wäre und erst noch in den Kernel kompiliert werden müßte.
Na dann viel Spass! überrascht
...mit der Lizenz zum Löten!
 
Reply
#5
jo, er zeigt auch nur den Codec.... card0.

aber card1 läuft...wenn man sie anwählen kann - nur wie bringe ich das dem alsa-mixer bei ?

+
  1. sudo apt-get update
     

  2. + upgrade
hatte ich auch gemacht - vorher ging gar nix  Rolleyes
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#6
Weiß ich auch - könnte ich auch nur googeln, z.B.:
https://github.com/guussie/PiDS/wiki/09....-DACs-work

bin dann erst mal wech
...mit der Lizenz zum Löten!
 
Reply
#7
Den Alsamixer habe ich in Openwrt gekonnt umgangen, indem ich per Hand den DAC konfiguriert habe und den Voreingestellten I2S benutzt habe. 

Vielleicht kann man sich etwas bei OSMC abgucken. Link
Die haben I2S freigeschaltet.

Was benutzt du für einen DAC. Erzeugt der DAC den Takt (Master) oder der Pi ?
 
Reply
#8
DAC is so Minimodul...
[Bild: attachment.php?aid=1802]

Mclk gibts nicht - DAC hat seine PLL aktiv (Mclk = Lo );
aber wenn schon fragst: jo, den master clock extern, wäre der nächste Schritt....leider muss ma dazu nen System-Treiber schreiben, falls man keinen fertigen findet, der die sync-Quelle entsprechend umschaltet und die clock timer div Faktoren richtig (dh für 44.1kHz ) einstellt ....das is dann schon  Gurke
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#9
Das Teil benutze ich am ADAU auch ohne Masterclock, eigentlich frisst der alles.

Kannst du nicht mal eine Distri testen wo speziell für I2S gemacht ist? (Oder habe ich was übersehen)

Guckst du hier:

http://www.rpimusicplayer.com/

Wenn du den Pi-Dac Zero als Config nimmst, sollte da was kommen, da der den PCM5122 nutzt. (Ob mit/ohne MLCK, entzieht sich meiner Kenntnis)
 
Reply
#10
yes Sir, hatte in etwa dasselbe gedacht - und daher auch gleich geguckt, welche Hardware schon als "overlay modul" vorhanden ist; da habe ich erst auf >hihiberry-dac< gedreht - nix.
dann diverse andere DAC module - nix.
dann viel gelesen...was Tante Gurgl halt so findet....
ala Anleitung bei hifiberry sollte es ganz einfach sein: schreibst in config.txt das entsprechende modul rein, neu booten. fertig.
aber da haben wohl die Freunde der modernen Software-Kunst zugeschlagen: die Anleitung hat vmtl mit linux-version von 2015 funktioniert - ich habe natürlich die aktuelle - und da passiert - nix.  Rolleyes
nach einigen Stunden Info sammeln, hatte ich zumindest herausgefunden, wie man testet, was das System eigentlich so aktiv geladen hat...leider in der Konsole, was mich immer an meine Jugendzeit erinnert, quasi ein Rückfall in die Computer-Steinzeit.  Confused

also aplay...liste sieht jetzt (!) so aus:

Code:
pi@raspberrypi:~ $ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: ALSA [bcm2835 ALSA], Gerät 0: bcm2835 ALSA [bcm2835 ALSA]
 Sub-Geräte: 8/8
 Sub-Gerät #0: subdevice #0
 Sub-Gerät #1: subdevice #1
 Sub-Gerät #2: subdevice #2
 Sub-Gerät #3: subdevice #3
 Sub-Gerät #4: subdevice #4
 Sub-Gerät #5: subdevice #5
 Sub-Gerät #6: subdevice #6
 Sub-Gerät #7: subdevice #7
Karte 0: ALSA [bcm2835 ALSA], Gerät 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
 Sub-Geräte: 1/1
 Sub-Gerät #0: subdevice #0
Karte 1: sndrpihifiberry [snd_rpi_hifiberry_dac], Gerät 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
 Sub-Geräte: 1/1
 Sub-Gerät #0: subdevice #0

also ist der I2S output zumindest vorhanden - nur im Desktop-Mixer sieht man halt (noch) nix davon;
da WILL ich ihn aber auch haben...zZ kann ich so mit dem Audacious player (ouput auf snd_rpi_hifiberry + alsa + PCM ) Musik spielen - also schon fast gewonnen  Cool

btw hier ist das abgedrehte sound Zeug etwas erklärt:  http://tuxradar.com/content/how-it-works...-explained
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#11
...er sagt etwa. was ich auch schon heraus fand:
Zitat: There isn't even a clearly defined bottom level, with several audio technologies messing around with the kernel and your hardware independently. Linux's audio architecture is more like the layers of the Earth's crust than the network model, with lower levels occasionally erupting on to the surface, causing confusion and distress, and upper layers moving to displace the underlying technology that was originally hidden.
Gurke


[Bild: LXF130.audio.layers.png]
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply
#12
..aus der Linux-Forschungs.Abteilung: also Musik kann ich über den I2S-DAC hören (und klingt auch ganz ordentlich) -
aber : die geladenen overlays zeigt angeblich dt... - l :  (l wie Liste)
der sagt:
Code:
pi@raspberrypi:~ $ dtoverlay -l
No overlays loaded
also ist gar kein overlay da, das den I2S aktiviert - aber er ist ja offenbar aktiv!
tjaaa - da stimmt wohl so einiges nicht  Rolleyes
entweder die Doku oder Fehler im System - naja, wenns so einfach wäre, kanns ja jeder  Tongue


gerade gelesen:
>This area is poorly documented, but here are some accumulated tips:


das triffts wohl ganz gut !

+ läuft gerade: Iron Butterfly - In-A-Gadda-Da-Vida/  ... immer wieder gut. auch wenn ich das Rauschen der Aufnahme permanent im Hintergrund höre....vmtl auf olles Tape aufgenommen, mit 50dB Rauschabstand  Rolleyes

+ aha:
>Beware - the absence of a "status" property means the node is enabled.
aufsmaul

+
>Overlays have to be removed in reverse order. The commands will allow you to remove an earlier one, but all the intermediate ones will be removed and re-applied, which may have unintended consequences.

jepp. ein gewisser Unterhaltungswert ist ja nicht zu leugnen.  Gurke

+
das scheint zu klappen:
>a) generate it from the live DT state in 

/proc/device-tree:

PCM5102 ist dort -. er läuft ja auch real .... immerhin funktioniert das  Tongue
    Don't worry about getting older.  You're still gonna do dump stuff...only slower
 
Reply