ubuntuusers.de

ALSA - unable to open slave

Status: Gelöst | Ubuntu-Version: Ubuntu 13.10 (Saucy Salamander)
Antworten |

TaTonka

Anmeldungsdatum:
15. März 2007

Beiträge: 104

Hi,

ich kämpfe momentan mit dem Problem, ALSA auf einem nackten System zum laufen zu bekommen, auf dem irgendwann mal ein XBMC standalone laufen soll. Ich habe eine Intel-Onboard-Karte auf einem ASRock-Board, was Analog-Output und HDMI hat. Ich möchte das ganze analog haben, bzw in einem Status, dass ich im XBMC den Output wählen kann. Zusätzlich habe ich noch einen TV-Stick, der auch einen Audiochip besitzt. Den benötige ich allerdings nicht. Beim Debugoutput ist er auch nicht angeschlossen.

Das Problem ist folgendes:

$ sudo aplay /usr/share/sounds/alsa/Front_Center.wav
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
aplay: main:722: Fehler beim Öffnen des Gerätes: Datei oder Verzeichnis nicht gefunden

Andere Soundtestprogramme liefern ähnlichen Output.

Die Live-CD und eine normale Desktopumgebung machen allerdings ganz normal krach. Nur auf dem Minimal klappts nicht.

Hier der Debugoutput:

$ lsb_release -d
Description:    Ubuntu 13.10
$ uname -r
3.11.0-15-generic
$ cat /proc/asound/cards
 0 [MID            ]: HDA-Intel - HDA Intel MID
                      HDA Intel MID at 0xf0514000 irq 45
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf0510000 irq 46

Die PCH ist der Analoge output.

$ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: MID [HDA Intel MID], Gerät 3: HDMI 0 [HDMI 0]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 0: MID [HDA Intel MID], Gerät 7: HDMI 1 [HDMI 1]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 0: MID [HDA Intel MID], Gerät 8: HDMI 2 [HDMI 2]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: PCH [HDA Intel PCH], Gerät 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
$ aplay /usr/share/sounds/alsa/Noise.wav
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
aplay: main:722: Fehler beim Öffnen des Gerätes: Datei oder Verzeichnis nicht gefunden
$ lspci -nnk | grep -iA2 audio
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06)
        Subsystem: ASRock Incorporation Device [1849:0c0c]
        Kernel driver in use: snd_hda_intel
--
00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller [8086:8c20] (rev 05)
        Subsystem: ASRock Incorporation Device [1849:7662]
        Kernel driver in use: snd_hda_intel
$ ps -C esd
  PID TTY          TIME CMD
$ ps -C arts
  PID TTY          TIME CMD
$ ps -C pulseaudio
  PID TTY          TIME CMD
$ grep "^audio" /etc/group | grep "$USER" | wc -l
1
$ lsmod | grep "snd"
snd_seq_midi           13324  0
snd_seq_midi_event     14899  1 snd_seq_midi
snd_seq                61560  2 snd_seq_midi_event,snd_seq_midi
snd_rawmidi            30095  1 snd_seq_midi
snd_seq_device         14497  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_hda_intel          48171  0
snd_hda_codec_realtek    55704  1
snd_hda_codec_hdmi     41117  1
snd_hda_codec         188738  3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep              13602  1 snd_hda_codec
snd_pcm               102033  3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
snd_page_alloc         18710  2 snd_pcm,snd_hda_intel
snd_timer              29433  2 snd_pcm,snd_seq
snd                    69141  11 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
soundcore              12680  1 snd
$ head -n 3 /proc/asound/card0/codec#0
Codec: Intel Haswell HDMI
Address: 0
AFG Function Id: 0x1 (unsol 0)
$ head -n 3 /proc/asound/card0/codec97#0/ac97#0-0
head: »/proc/asound/card0/codec97#0/ac97#0-0“ kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden
$ head -n 3 /proc/asound/card0/codec97#0/ac97#0-0+regs
head: »/proc/asound/card0/codec97#0/ac97#0-0+regs“ kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden
$ cat ~/.asoundrc
cat: /home/xbmc/.asoundrc: Datei oder Verzeichnis nicht gefunden
$ cat ~/.asoundrc.asoundconf
cat: /home/xbmc/.asoundrc.asoundconf: Datei oder Verzeichnis nicht gefunden
$ cat /etc/asound.conf
cat: /etc/asound.conf: Datei oder Verzeichnis nicht gefunden

da1l6

Avatar von da1l6

Anmeldungsdatum:
29. August 2005

Beiträge: 3825

Sieht so aus als sei HDMI Audio das Device 0 und damit der default.

Zum ändern einfach eine /etc/asound.conf erstellen:

pcm.!default {
	type hw
	card 1
}

da1l6

TaTonka

(Themenstarter)

Anmeldungsdatum:
15. März 2007

Beiträge: 104

Jo, dies war der Knackpunkt.

Allerdings wundert es mich, dass er die Karte 0, bzw das HDMI nicht ansprechen konnte. Daran ist nämlich mein Fernseher angeschlossen, der durchaus Ton per HDMI rendern kann. Da werd ich wohl spätestens mit knuspern, wenn ich mir irgendwann mal einen Receiver mit HDMI-Passthrough holen werde.

Eine reine Verständnisfrage noch: Unter http://wiki.ubuntuusers.de/.asoundrc sind 2 Einträge, pcm und ctl. In deinem Snippet ist nur ein pcm. Wieso ist dieses?

DaVu

Anmeldungsdatum:
19. Oktober 2011

Beiträge: 319

Hi...also, wenn du XBMC als Standalone verwenden möchtest....hast du da schon gewisse Vorstellungen wie du es installieren willst? OpenElec, XBMCbuntu oder ein vollwertiges Ubuntu mit XBMC als Software?

Wenn du OpenElec oder XBMCbuntu nimmst, solltest du durch die neue AudioEngine keinerlei Probleme mehr mit dem Sound haben. Das GUI von XBMC sollte dir alle Einstellungen geben, die du benötigst, damit der Ton an richtiger Stelle nach deinen Wünschen ausgegeben wird. Dafür musst du keine Dateien mehr bearbeiten/anpassen. XBMC nutzt sogar PulseAudio in den Gotham Nightlies, so dass auch das kein Problem mehr darstellen sollte.

Eine .asoundrc ist unter XBMC nicht empfohlen und meistens wird auch dazu geraten diese zu entfernen, da die neue AudioEngine den Rest macht.

Grüße

Tausche

Anmeldungsdatum:
9. November 2006

Beiträge: 34

Hi,

... solltest du durch die neue AudioEngine keinerlei Probleme mehr mit dem Sound haben

Ansichtssache.

Derzeit in v12 Frodo funktioniert bitstream passthrough inkl. DTS-HD und TrueHD.

Dafür keinen sound auf HDMI + analog gleichzeitig.

Mit einer .asoundrc kriegt man zwar Ton aus beiden raus, aber sowohl am HDMI als auch am analogen Ausgang zerhackt. Lt. den Entwicklern von XBMC 'not supported', da in v13 pulseaudio verwendet wird.

Ab v13 Gotham nutzt XBMC also pulseaudio, damit kann man zwar (angeblich) beides gleichzeitig bedienen, dafür hat PA nur bitstream für DD und DTS, nicht für die verlustfreien Tonformate. http://wiki.xbmc.org/index.php?title=PulseAudio

Interessant: Ganz unten steht, wann man PA nicht verwenden sollte. Genau in solchen Fällen, wo einen die Audio-qualität interessiert. Ganz toll.

Du kannst also entweder auf bitstreaming verzichten, alles vom PC dekodieren und über PCM an den AVR schicken lassen oder du hast HDMI + analog nur abwechselnd.

Nachdem die Entwickler keinen Vorteil in der Implementierung von bitstreaming sehen, wird das vermutlich auch so bleiben.

Traurig. Zumal meine Frau bisher mit nem WDTV Live alles mit einem Tastendruck regeln konnte und XBMC jetzt de facto für sie unbenutzbar ist (und für mich nervig),

weil man immer das audio output umstellen muss, damit ich in den anderen Räumen was höre. Zumal ich dann im Hauptraum auch nur analog zuspielen kann.

Antworten |