Gelöst: Pulseaudio erstellt module-alsa-sink nicht automatisch

Sound, Digitalkameras, TV+Video und Spiele.
Benutzeravatar
smutbert
Moderator
Beiträge: 8317
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von smutbert » 09.10.2017 17:51:45

Hartnäckig?
ich doch nicht.

Jedenfalls sehe ich bei dir eine Menge consolekit-Pakete. Auch wenn ich da eigentlich keinen kausalen Zusammenhang sehe - seit dem systemd dessen Funktionen übernommen hat, hab ich damit schon einige Male Probleme gehabt. (Das hat mich insofern überrascht als die consolekit-Pakete ja von systemd selbst kommen.)
Die sollten sich aber ohne negative Auswirkungen deinstallieren lassen

Code: Alles auswählen

# apt purge consolekit libpam-ck-connector 
Die Liste der rc-Pakete, die zwar deinstalliert, aber von denen noch die Konfigurationsdateien im System sind ist so lang, dass ich da möglicherweise eine Menge übersehe, aber zumindest sehe ich einige (lib)hal-Pakete und einige alte sytemd-Überbleibsel, die vielleicht auch für Probleme sorgen könnten.
Die würde ich auch alle komplett entfernen (und neu starten):

Code: Alles auswählen

# dpkg -P $(dpkg --list | grep "^rc" | cut -d " " -f 3)

Benutzeravatar
shoening
Beiträge: 897
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von shoening » 09.10.2017 19:44:30

Hi,

das habe ich jetzt auch alles gemacht - und nach Neustart habe ich immer noch keinen Ton.

dpkg --list | grep "^rc" ist dann auch leer.

Ein gutes hat dieser Thread auf jeden Fall für mich - ich entsorge offenbar einige Altlasten von früheren Debian Versionen.
(Ich habe gerade mal im Wiki nachgeschaut - so ein Artikel zum Äufräumen des Systems würde da sicherlich auch noch gut hinpassen).

Noch eine Idee - oder soll ich jetzt Plan B verfolgen ;-)

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8317
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von smutbert » 09.10.2017 20:33:05

Viele Ansatzpunkte hab ich nicht mehr...

Einer der verbliebenen ist die Frage ob du eine /etc/asound.conf (oder ~/.asoundrc, aber dank Testnutzer kann das nicht die Ursache sein...) hast und wenn ja was drin steht und was bei

Code: Alles auswählen

$ aplay -L
# aplay -L
herauskommt. Also was als Benutzer ausgegeben wird und ob als root anders etwas anderes kommt.

Das vorläufig letzte was mir einfällt wäre dann die Frage ob vielleicht irgendetwas (ein vergessener Daemon) die Soundkarte blockiert. Klingt erst einmal unlogisch, weil du es ja zum Laufen bringen kannst, aber nachdem alsa selbst mit dmix ebenfalls die Ausgaben mehrer Anwendungen mischen kann, ist es zumindest möglich. Was sagt

Code: Alles auswählen

$ cat /proc/asound/card0/pcm*p/sub*/status

Benutzeravatar
shoening
Beiträge: 897
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von shoening » 09.10.2017 21:26:17

Hi,

der Output von aplay -L ist unterschiedlich. Bei root und dem extra angelegten Benutzer steht am Anfang:

Code: Alles auswählen

null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=PCH
    HDA Intel PCH, ALC269VC Analog
    Default Audio Device
sysdefault:CARD=PCH
    HDA Intel PCH, ALC269VC Analog
    Default Audio Device
bei mir fängt das an mit:

Code: Alles auswählen

default
    Playback/recording through the PulseAudio sound server
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=PCH
    HDA Intel PCH, ALC269VC Analog
    Default Audio Device
(der rest ist identisch)

Eine /etc/asound.conf oder ~/.asoundrc habe ich nicht.

cat /proc/asound/card0/pcm*p/sub*/status sagt zweimal „closed“. (für pcm0p und pcm3p).
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8317
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von smutbert » 09.10.2017 21:53:51

Tja, damit kann ich dir doch nur zur Notlösung raten. Wenn ich deinen Eingangspost richtig verstanden habe, genügt es

Code: Alles auswählen

load-module module-detect
an die »/etc/pulse/default.pa« zu hängen oder du könntest es statt mit dieser Erkennung auch versuchen indem du pulseaudio genau sagst welches Alsagerät es verwenden soll

Code: Alles auswählen

load-module module-alsa-sink device=hw:PCH,0
Dabei fällt mir gerade auf, dass wir auch gar nicht versuchen haben einfach nur selbst die komplette Soundkarte hinzuzufügen - das kannst du ja vor dem Umsetzen der Notlösung noch testen:

Code: Alles auswählen

$ pactl load-module module-alsa-card device_id=PCH

Benutzeravatar
shoening
Beiträge: 897
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von shoening » 09.10.2017 22:15:33

Hi,

das habe ich jetzt in die /etc/pulse/default.pa eingetragen (natürlich ohne pactl).

Dann ist das Device direkt nach dem Start von pulseaudio vorhanden.

Ich markier den Thread mal als gelöst - danke Smutbert :hail:

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8317
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Gelöst: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von smutbert » 10.10.2017 17:53:18

Es war mir ein Vergnügen.

Allerdings lässt mich dein Problem nicht los. Wenn es nämlich mit module-alsa-card funktioniert, dann bleiben meiner Auffassung nach als mögliche Fehlerquellen nur noch udev, das Pulseaudiomodul module-udev-detect und dbus als Verbindung zwischen den beiden.
Du hast nicht vielleicht noch weitere merkwürdige Probleme mit dem System, die nichts mit Audio zu tun haben? :mrgreen:

Benutzeravatar
shoening
Beiträge: 897
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Gelöst: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von shoening » 10.10.2017 18:40:22

Hi,

wenn Dich das derart interessiert, können wir gerne weiter forschen.

An andere merkwürdige Probleme kann ich mich nicht entsinnen. Ich zähle das Problem vor der Tastatur und die merkwürdigen Schachprobleme, die in LaTeX-Dateien auf der Festplatte sind nicht mit :D

Wenn das was mit UDEV oder dbus ist, kann man da irgendwo einstellen, dass man mehr Ausgaben in irgendwelche Logs bekommt?

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Gelöst: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von scientific » 10.10.2017 18:54:10

Eine Frage. Welche User sind in der Gruppe "audio"

Code: Alles auswählen

 grep audio /etc/group
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
shoening
Beiträge: 897
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Gelöst: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von shoening » 10.10.2017 19:05:13

Hi,

in audio sind stefan (also der User, mit dem ich die Probleme habe), und pulse.

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Gelöst: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von scientific » 10.10.2017 19:15:48

Dann entferne stefan aus der Gruppe Audio!

Mit pulse darf das nicht mehr sein, sonst gibts Probleme.
Also entfernen und dann aus und wieder einloggen.
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
shoening
Beiträge: 897
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Gelöst: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von shoening » 10.10.2017 21:31:58

Hi scientific,

das hilft auch nicht - war aber zu erwarten. Ich hatte mir ja extra einen Testuser angelegt, der war nicht in der Gruppe audio und bei dem hat das auch nicht funktioniert.

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Gelöst: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von scientific » 11.10.2017 08:55:38

Ich hab den Thread nur nebenbei verfolgt. Smutbert ist hier ja wahrlich ein Experte!

Gehts auch nach einem Reboot noch nicht, wenn die Gruppe Audio leer ist?

Pulseadio vom Testuser könnte ev. von einem noch von stefan belegten Audiodevice blockiert werden...

Ach ja... pulse in der Gruppe audio ist doch nur für einen nicht empfohlenen systemweiten Audiodienst... Oder?
Läuft ev so einer, ohne dein Wissen?
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
shoening
Beiträge: 897
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Gelöst: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von shoening » 11.10.2017 18:35:43

Hi,

ich habe - wie von scientific vorgeschlagen, alle Benutzer aus der Gruppe audio entfernt, den manuellen Eintrag zum Laden des devices in der /etc/pulse/default.pa auskommentiert und anschließend den Rechner neu gestartet.

Dann habe ich wieder nur dass Null Device.

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Benutzeravatar
smutbert
Moderator
Beiträge: 8317
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Gelöst: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von smutbert » 11.10.2017 23:12:31

Wie man sieht bin ich kein Experte und schon gar nicht für den Teil des Systems, bei dem ich den Fehler vermute.

Denn nur die automatische Erkennung mittels module-udev-detect funktioniert nicht recht. Lädt man module-alsa-sink oder module-alsa-card mit den richtigen Parametern oder das veraltete Modul zur Hardwareerkennung module-detect dann funktioniert es.
Außerdem ist der Fehler nicht benutzerspezifisch. Für mich heißt das es muss irgendetwas mit dbus oder udev nicht so laufen wie es sollte. Ich hab die ganze Zeit gehofft, dass nur irgendein Überbleibsel von alten Debianversionen die Probleme verursacht, aber nachdem die nun alle (?) weg sind, aber das Problem geblieben ist, weiß ich nicht weiter.


(ich glaube nicht, dass die Gruppe Audio ein Problem für Pulseaudio ist - das ist sie bei mir auf einem monitorlosen System nämlich zumindest nicht - sie ist nur nicht notwendig, weil logind auch ohne Gruppenzugehörigkeit für die notwendigen Rechte sorgt.)
shoening hat geschrieben: ↑ zum Beitrag ↑
10.10.2017 18:40:22
Wenn das was mit UDEV oder dbus ist, kann man da irgendwo einstellen, dass man mehr Ausgaben in irgendwelche Logs bekommt?
Du könntest pulseaudio killen und für etwas mehr Gesprächigkeit mit der Option v starten

Code: Alles auswählen

$ pulseaudio -k && pulseaudio -v
oder noch schlimmer

Code: Alles auswählen

$ pulseaudio -k && pulseaudio -vv
(aber die Zeile zum Laden von module-alsa-card muss vorher raus)
Was udev betrifft fällt mir nur

Code: Alles auswählen

# journalctl -p7 -u systemd-udevd
ein oder

Code: Alles auswählen

$ udevadm monitor
zum Überwachen der Ereignisse ein, aber es geht bei der ja nicht um irgendwelche Ereignisse sondern das Abfragen der vorhandenen Hardware. Mit der alten Methode hat glaube ich pulseaudio einfach in procfs/sysfs die Soundkarten abgefragt, aber nun glaube ich läuft das mit udev anders und wie gesagt habe ich keine Ahnung wie.

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Gelöst: Pulseaudio erstellt module-alsa-sink nicht automatisch

Beitrag von scientific » 11.10.2017 23:58:14

Also, was Audio-Geschichten anbelangt, bist du hierzuforum sicher einer der belesensten und erfahrendsten, lieber @Smutbert! :THX:

Was die Gruppe audio und pulseaudio betrifft... Soviel ich weiß (auch aus Erfahrung), kann eine Gruppenzugehörigkeit bei der Gruppe audio einiges an Soundproblemen verursachen.
Ist mein User in der Gruppe audio, klappt ein Wechsel zu einem anderen User inklusive Sound nicht mehr, da policykit das Sounddevice nicht mehr freigeben kann. Daher darf kein User in dieser Gruppe sein.

Du vermutest (wahrscheinlich zu recht) ein Problem bei udev.

Was gibt denn

Code: Alles auswählen

grep alsa /etc/udev/rules.d/ /lib/udev/rules.d/ -R
aus?
Bei mir gibts hier nur zwei Dateien, welche mit alsa zu tun haben, und deren Inhalt ist:

Code: Alles auswählen

$ cat /lib/udev/rules.d/90-alsa-restore.rules
ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", TEST=="/usr/sbin", TEST=="/usr/share/alsa", GOTO="alsa_restore_go"
GOTO="alsa_restore_end"

LABEL="alsa_restore_go"
TEST!="/etc/alsa/state-daemon.conf", TEST=="/usr/sbin/alsactl", RUN+="/usr/sbin/alsactl -E HOME=/run/alsa restore $attr{device/number}"
TEST=="/etc/alsa/state-daemon.conf", TEST=="/usr/sbin/alsactl", RUN+="/usr/sbin/alsactl -E HOME=/run/alsa nrestore $attr{device/number}"

LABEL="alsa_restore_end"

Code: Alles auswählen

( 0 ✓) jakob@aldebaran (23:56)
[/@debian-testing]~: $ cat /lib/udev/rules.d/60-persistent-alsa.rules
# do not edit this file, it will be overwritten on update

ACTION=="remove", GOTO="persistent_alsa_end"
SUBSYSTEM!="sound", GOTO="persistent_alsa_end"
KERNEL!="controlC[0-9]*", GOTO="persistent_alsa_end"

SUBSYSTEMS=="usb", ENV{ID_MODEL}=="", IMPORT{builtin}="usb_id"
ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="?*", SYMLINK+="snd/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_USB_INTERFACE_NUM}"
ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="", SYMLINK+="snd/by-id/$env{ID_BUS}-$env{ID_SERIAL}"

IMPORT{builtin}="path_id"
ENV{ID_PATH}=="?*", SYMLINK+="snd/by-path/$env{ID_PATH}"

LABEL="persistent_alsa_end"
lg scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Antworten