PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Soundprobleme - kein SPDIF, Analog-Playback von IEC958 Source abhängig??



~Gh05t~
07.12.07, 16:16
Hi all,
ich habe irgendwie ein massives Soundproblem. Vorn ab: ich hab keine Ahnung wie der Sound unter Linux funktioniert. Wie ist das ganze konfiguriert und wo finde ich die Konfigurationsdatei die Zuordnungen zwische Ein- und Ausgabe-Devices macht?

Mein Problem: Beim Versuch mein mikro an den start zu bringen (was mittlerweile geht) ist mir die Funktionalität meines SPDIF-Ausgangs flöten gegangen. Egal was ist nun im alsamixer einstelle, ich bekomme keinen Sound mehr da raus.

Auch der Analog-Ausgang geht nur noch wenn ich meine IEC958 Playback Source auf Analog In stelle oder auf PCM.
PCM geht aber nur, wenn ich den IEC958 Playback-Regler hochdrehe, was aber dazu führt, dass mein SPDIF-Ausgang gar nicht mehr geht, da die Hardware keine Lautstärkeregelung unterstützt und nur geht, wenn der Regler auf 0 steht.
Hat jemand eine Idee, warum mein Sound von der IEC958 Playback Source abhängig ist?


Mein System ist kUbuntu Gutsy, ALSA 1.0.14


$ aplay -l
**** Liste von PLAYBACK Geräten ****
Karte 0: CK804 [NVidia CK804], Gerät 0: Intel ICH [NVidia CK804]
Untergeordnete Geräte: 0/1
Untergeordnetes Gerät '0: subdevice #0
Karte 0: CK804 [NVidia CK804], Gerät 2: Intel ICH - IEC958 [NVidia CK804 - IEC958]
Untergeordnete Geräte: 1/1
Untergeordnetes Gerät '0: subdevice #0
$ arecord -l
**** Liste von CAPTURE Geräten ****
Karte 0: CK804 [NVidia CK804], Gerät 0: Intel ICH [NVidia CK804]
Untergeordnete Geräte: 1/1
Untergeordnetes Gerät '0: subdevice #0
Karte 0: CK804 [NVidia CK804], Gerät 1: Intel ICH - MIC ADC [NVidia CK804 - MIC ADC]
Untergeordnete Geräte: 1/1
Untergeordnetes Gerät '0: subdevice #0

Ganymed
07.12.07, 17:08
Hi, siehe mal in http://alsa-project.org
Gruß Ganymed

~Gh05t~
08.12.07, 13:26
hmmm... auf die Idee war ich auch schon gekommen, aber das hilft mir nicht.
Entweder finde ich das richtige nicht oder das gibts da nicht. Alles was ich an Doku finde die über eine Installationsbeschreibung hinaus geht ist der Artikel über die asound.conf, welcher mir dir Struktur von alsa nicht erschließt.

Wenn ich die da richtig verstehe müsste ich ohne irgendwelche konfigs zu nutzen mit aplay -D hw:0,0 test.wav einen Sound über meinen Analog-Ausgang abspielen können. Dann ist da erklärt, wie ich mein Default device einstelle damit das auch mit aplay -D default test.wav geht. Das tolle ist:

$ aplay -D hw:0,0 test.wav
Wiedergabe Wave 'test.wav' : Signed 16 bit Little Endian, Samplingrate: 22050 Hz, Mono
aplay: set_params:905: Anzahl der Kanäle nicht verfügbar

Ich habe mir die Config in /usr/share/alsa/alsa.conf angesehen, daraus werde ich aber gar nicht schlau. Außerdem hat sich an dieser Datei auch gar nichts geändert, sie ist genau identisch zu der die ich in meinem parallel laufenden SuSE hab. Irgendwo muss doch diese Verknüpfung auf einmal herkommen? Welche configs gibt es denn noch? :confused:

BTW: Ich habe noch ein SuSE 10.1 installiert, da läuft ALSA ohne mucken, d.h. SPDIF (sogar mit Passthrough), Analog, Mikro. All das geht bei Ubuntu auf einmal nicht mehr richtig, obwohl die Konfigs soweit ich sie kenne identisch sind, in dem SuSE-System existiert lediglich noch eine /etc/asound.state.

Kann ich alsa noch mal KOMPLETT entfernen (mit allen configs etc.) und neu installieren? Denn der mist ging schon mal besser...

Ganymed
08.12.07, 14:55
http://www.linuxforen.de/forums/showthread.php?t=245379

Hier sind ganz hinten, vielleicht etwas wüst, ein paar Befehle zur Anwendung von alsa.

~Gh05t~
08.12.07, 17:18
also wie die tools zu bedienen sind weis ich schon. Ich weiß auch meinen mixer zu bedienen. Was ich nicht weis, ist wo ich eine Konfiguration finde, die meinen PCM vom IEC958 Source abhängig macht... außerdem weis ich nicht so richtig wie die Struktur von ALSA aussieht.

Bis her habe ich mir das so vorgestellt:
Es gibt Ein- und Ausgabegeräte von verschiedenen Soundkarten. Diese sind über die ALSA konfiguration mit Namen versehen und können wie auch immer über den alsamixer gemutet werden, lautstärke etc. einstellen. Audioplayer-Programme (wie z.B. amarok) schicken ihren Sound auf ein "PCM"-Sammeldevice das den dann an die aktivierten Ausgabedevices weiter gibt. Die Eingangsgeräte (Mikrofon) gehen auch auf den PCM oder auf ein "Capture" device von dem man mit einem Audiorekorder-Programm aufnehmen kann.

Offensichtlich ist das aber falsch, wenn das so wäre würde es für meinen Analog-Ausgang gar keine Rolle spielen was ich mit meinen IEC958 Einstellungen machen würde. Wie ist es denn? Ich glaube bevor ich das nicht verstanden habe brauche ich nicht weiter nach einem Fehler suchen.

Ganymed
08.12.07, 23:36
In Unkenntnis deiner Hardware kann ich dir nicht weiterhelfen, aber da ist noch folgende Idee bzw Erinnnerung an Gerüchte.

Es gibt Motherbords in deren Onboardsoundchipsätzen ein Ausgabekanal per BIOS-Einstellung zu einem Eingangskanal konfiguriert werden kann.

Für Amarok musst du zuerst in "Audio Ausgabe" das Soundsystem Alsa oder OSS bestimmen.
Dan richtest du das Gerät ein - bei nur einem Soundchip (nur eine Soundkarte) heisst das Gerät default.
Angenommen du hast einen Onboardsound von nVidia, dann hast du vielleicht einen Alias "nVida" als hw0,x definiert.
Zusätzlich hast du noch eine Audigy, für die du einen Alias "Audigy" als hw1,x definiert hast.
Dann würde an Stelle von default eben ein "Audigy" stehen, weil du den nVidia für die Internettelefonie eingerichtet hast.

Über die Plugins, das sind "nur" Zuordnungstabellen fur die Kanäle, deren Filterung und Anhebung bzw Abschwächung, kannst du dann die Wiedergabeform einrichten.

Aber das ist auf der Alsaseite besser beschrieben als ich es hier formulieren kann. Ausserdem habe ich den Eindruck, dass du das System eigentlich verstanden hast.

Gruß Ganymed

~Gh05t~
09.12.07, 02:49
Also, ich hab nur eine Soundkarte. Das ist ne Onboard-Soundkarte von meinem nForce4:


$ lspci -vvv
...
00:04.0 Multimedia audio controller: nVidia Corporation CK804 AC'97 Audio Controller (rev a2)
Subsystem: ASUSTeK Computer Inc. K8N4-E or A8N-E Mainboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (500ns min, 1250ns max)
Interrupt: pin A routed to IRQ 17
Region 0: I/O ports at dc00 [size=256]
Region 1: I/O ports at e000 [size=256]
Region 2: Memory at d2103000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
...
Habe beim Rumsuchen noch was gefunden:

$ modinfo snd_intel8x0
...
parm: index:Index value for Intel i8x0 soundcard. (int)
parm: id:ID string for Intel i8x0 soundcard. (charp)
parm: ac97_clock:AC'97 codec clock (0 = auto-detect). (int)
parm: ac97_quirk:AC'97 workaround for strange hardware. (charp)
parm: buggy_semaphore:Enable workaround for hardwares with problematic codec semaphores. (bool)
parm: buggy_irq:Enable workaround for buggy interrupts on some motherboards. (bool)
parm: xbox:Set to 1 for Xbox, if you have problems with the AC'97 codec detection. (bool)
parm: spdif_aclink:S/PDIF over AC-link. (int)
parm: enable:bool
parm: joystick:int
Was ist S/PDIF over AC-link und ab wann gilt Hardware als "strange"? Und was für ein Variablentyp ist "charp"?

Seltsam ist, dass es ja schon mal funktioniert hat. Damals ging mein Mikro nicht, von jetzt auf gleich ging auf einmal das Mikro, dafür geht der SPDIF nicht mehr.
Ich mag keine Systeme mit unbestimmtem Zustand, ALSA scheint mir ein solches zu sein. Ich glaube ich werd mir mal zu der 1.0.15 version Pakete bauen und mal testen ob ich damit mein Problem umgehen kann.

BTW: Ich hasse ALSA, damit hab ich jedes mal Probleme wenn ich Linux aufsetze :mad:

Ganymed
09.12.07, 16:47
Es sieht wohl so aus, dass du ein Modul kompilieren musst.
zu mindest gewann ich den Eindruck nach der Googleausgabe von "spdiff_aclinc:sppiff over AC-link" und "ck804 & ac97", die übrigens auch auf "alsa-project.org" verwies.

Wenn Alsa bei dir problematisch ist, warum verwendest du dann nicht OSS oder ein anderes Soundsystem, da gibt es bestimmt noch andere. Weil bei mir der Sound bis auf die "Erfindung" der .asoundrc in meinem /home out of the box funktionierte habe ich natürlich weiter geforscht - habe halt eine ganz kleine aber ziehmlch träge Masse.

Gruß Ganymed

~Gh05t~
10.12.07, 15:13
Für Kubuntu gibts nun mal nur ALSA.

Warum sollte ich ein modul kompilieren und wenn welches?

Habe mal die 1.0.15 version von ALSA probiert (die Pakete für das nächste Ubungu), das ändert aber gar nichts.
Dann hab ich sie wieder mit sudo dpkg --force-depends --purge libasound2 alsa-base linux-sound-base alsa-utils && sudo apt-get install -f auf die alte Version inclusive original konfigs zurückgesetzt, aber auch das hat rein gar nichts gebracht.
Habe auch mal einen anderen User angelegt um möglicherweise mir nicht bekannten Configs in meinem Home-VZ vorzubeugen, alles führte zu keinem Ergebnis.
Was könnte ich noch machen? Mir gehen die Ideen aus.

Vielleicht sollte ich mir zunächst mal die Frage stellen warum das hier nicht geht:
$ aplay -D hw:0,0 test.wav
Wiedergabe Wave 'test.wav' : Signed 16 bit Little Endian, Samplingrate: 22050 Hz, Mono
aplay: set_params:905: Anzahl der Kanäle nicht verfügbar
Seltsamerweis kommt wenn ich einen anderen Audioplayer laufen habe die Meldung Fehler beim Öffnen des Audiogerätes: Device or resource busy.
Warum? Ich dachte das geht auf ein Sammeldevice?