C't-VDR - Digitalen Sound über per ALSA VIA82XX ausgeben
Ziel ist es das Kompletten Audio, Stereo und AC3 über die Soundkarte zu hören und auszugeben. Dadurch sollte es möglich sein analogen Sound an den TV und parallel digitalen Sound an den DD-Verstärker auszugeben.
Erstmal wird hier die Konfiguration mit einer VIA82xx--Soundkarte beschrieben.
Voraussetzungen:
- Soundkarte die von den ALSA Treibern unterstützt wird, hier kann man nachschauen.
- Kernel 2.6 ist wichtig da dort schon die ALSA Treiber integriert sind, auch die neuste Firmware für die DVB-S Karten. Wie man den Kernel 2.6 für c't VDR4 bekommt steht hier.
- Schritt 1
apt-get install alsa
damit werden folgende Pakete installiert alsa-base alsa-utils
alsaconf
alsaconf ausführen dort wird mit einem Skript die vorhandene Soundkarte ermittelt und eingerichtet. Es sollte eine Soundkarte vorhanden sein die von den ALSA Treibern unterstützt wird (siehe oben Voraussetzungen).
Nachdem die Karte erkannt und eingerichtet wurde kann man folgende Tests durchführen:
cat /proc/asound/cards 0 [V8237 ]: VIA8237 - VIA 8237 VIA 8237 with AD1888 at 0xe000, irq 201
und
cat /proc/asound/devices 17: [0- 1]: digital audio playback 25: [0- 1]: digital audio capture 16: [0- 0]: digital audio playback 24: [0- 0]: digital audio capture 0: [0- 0]: ctl 33: : timer
um den Ultimativen Test durchzuführen -- Rauschen an den Lautsprechern ausgeben. Dazu müssen Lautsprechern an den analogen Ausgängen der Soundkarte angeschlossen sein.
cat /dev/urandom > /dev/dsp
das funktioniert im normal Fall nicht da die Karte auf Mute geschaltet ist, also alsamixer aufrufen
alsamixer
und den Master Freischalten (m toggle, MM=Mute X=An) dann sollte ein Rauschen zu hören sein. Hier kann man auch mit dem ALSAmixer die einzelnen Lautsprecher testen einfach ein und aus schalten, Lautstärke hoch und runter. Jetzt haben wir den ersten Schritt getan die Soundkarte funktioniert jetzt müssen wir ihr beibringen den AC3 Ton von der DVB-S Karte zum hören zu bringen.
Leider wird so noch kein Digital-Sound über den Digitalausgang ausgegeben. Der Digitalausgang kann mit dem Tool "iecset" eingeschaltet werden. (das Bitsreamout-Plugin muss dabei deaktiviert sein, ansonsten erhält man von iecset die Fehlermeldung "snd_ctl_elem_write: Operation not permitted" !)
mit
iecset audio on
schaltet man den Digital-Out ein, mit "iecset rate 48000" kann man die Samplingrate einstellen. Für weitere Parameter siehe auch "man iecset".
Leider hat man so den Digitalausgang im Normalfall noch nicht in Funktion. Dazu muss man noch ein paar Parameter mit "alsamixer" einstellen.
Und zwar muss
- "IEC958 Playback Source" auf PCM eingestellt werden (logisch)
- "IEC958 Output" auf "on" (auch logisch)
und !!
- "IEC958 Playback AC97-SPSA" Volume muss auf "0" gestellt werden !!!
So und nun erst einmal viel Spaß mit der funktionieren digitalen Tonübertragung.