PulseAudio erkennt Intel HDA nach dem Upgrade auf Debian-Test (Buster) nicht

9

Ich habe im Sommer nach dem Upgrade von Debian 9 Stable auf Debian 10 ein Problem festgestellt: PulseAudio hat meine Intel HDA-Audiogeräte nicht mehr erkannt. Zu der Zeit war ich in der Lage, auf das über nVidia HDMI angeschlossene Audio meines Monitors umzuschalten, sodass ich das Problem umging und hoffte, dass ein zukünftiges Update es beheben würde. Sie haben nicht. Ein paar Monate später habe ich meinen Arbeitsbereich neu angeordnet und muss nun den Intel HDA wieder zum Laufen bringen.

Folgendes habe ich mir bisher angesehen ...

Debian 10 Testen

Der Kernel sieht es:

# dmesg | grep HDA
[  +0.005509] input: HDA Intel PCH Front Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input17
[  +0.000073] input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input18
[  +0.000057] input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1b.0/sound/card0/input19
[  +0.000054] input: HDA Intel PCH Line Out Front as /devices/pci0000:00/0000:00:1b.0/sound/card0/input20
[  +0.000052] input: HDA Intel PCH Line Out Surround as /devices/pci0000:00/0000:00:1b.0/sound/card0/input21
[  +0.000051] input: HDA Intel PCH Line Out CLFE as /devices/pci0000:00/0000:00:1b.0/sound/card0/input22
[  +0.000053] input: HDA Intel PCH Line Out Side as /devices/pci0000:00/0000:00:1b.0/sound/card0/input23
[  +0.000058] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input24
[followed by NVidia HDMI audio devices that are recognized]

# lspci -nnk | grep -A2 Audio
00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
    Subsystem: Gigabyte Technology Co., Ltd 7 Series/C216 Chipset Family High Definition Audio Controller [1458:a002]
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel
[followed by NVidia HDMI audio devices that are recognized]

ALSA sieht es:

# aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: Generic Analog [Generic Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: Generic Digital [Generic Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
[followed by NVidia HDMI audio devices that are recognized]

# aplay -L | grep PCH
default:CARD=PCH
    HDA Intel PCH, Generic Analog
sysdefault:CARD=PCH
    HDA Intel PCH, Generic Analog
front:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Digital
dmix:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
dmix:CARD=PCH,DEV=1
    HDA Intel PCH, Generic Digital
dsnoop:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
dsnoop:CARD=PCH,DEV=1
    HDA Intel PCH, Generic Digital
hw:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
hw:CARD=PCH,DEV=1
    HDA Intel PCH, Generic Digital
plughw:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
plughw:CARD=PCH,DEV=1
    HDA Intel PCH, Generic Digital

Der Lautsprechertest spielt Audio normal ab, ebenso wie aplay -D default: CARD = PCH /usr/share/sounds/alsa/Front_Left.wav

PulseAudio sieht das Gerät jedoch überhaupt nicht:

$ pacmd list-sinks
1 sink(s) available.
  * index: 0
    name: <auto_null>
    driver: <module-null-sink.c>
    flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE
    priority: 1000
    volume: front-left: 55705 /  85% / -4.24 dB,   front-right: 55705 /  85% / -4.24 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 344 KiB
    max rewind: 344 KiB
    monitor source: 0
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    module: 16
    properties:
        device.description = "Dummy Output"
        device.class = "abstract"
        device.icon_name = "audio-card"

Wenn ich zu den Toneinstellungen gehe, sehe ich nur das Dummy-Ausgabegerät. (Die nVidia-Geräte werden hier nicht mehr aufgeführt, da ich beim Neuanordnen einen anderen Monitor ohne Audio verwende, sodass derzeit kein HDMI-Audiogerät angeschlossen ist.)

Ich habe versucht, die PulseAudio-Konfiguration zu löschen, weil ich dachte, ich könnte eine alte Cruft haben über:

rm ~/.pulse/* ~/.config/pulse/*

Debian 9 stabil

Ich habe eine andere Partition auf diesem Computer, auf der Debian 9 noch stabil ausgeführt wird, wo der Intel HDA unter PulseAudio arbeitet, und es scheint Unterschiede zwischen den ALSA-Treibern und Debian 10 zu geben. Nachfolgend sind die Unterschiede aufgeführt, die mir aufgefallen sind ...

# aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC887-VD Digital [ALC887-VD Digital]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

# aplay -L | grep PCH

sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Digital
dmix:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
dmix:CARD=PCH,DEV=1
    HDA Intel PCH, ALC887-VD Digital
dsnoop:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
dsnoop:CARD=PCH,DEV=1
    HDA Intel PCH, ALC887-VD Digital
hw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
hw:CARD=PCH,DEV=1
    HDA Intel PCH, ALC887-VD Digital
plughw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
plughw:CARD=PCH,DEV=1
    HDA Intel PCH, ALC887-VD Digital

Und natürlich sieht Debian 9 Intel HDA in PulseAudio:

$ pacmd list-sinks
1 sink(s) available.
  * index: 2
    name: <alsa_output.pci-0000_00_1b.0.iec958-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
    state: RUNNING
    suspend cause: 
    priority: 9958
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 24.26 ms
    max request: 4 KiB
    max rewind: 344 KiB
    monitor source: 3
    sample spec: s16le 2ch 48000Hz
    channel map: front-left,front-right
                 Stereo
    used by: 1
    linked by: 1
    configured latency: 25.00 ms; range is 0.50 .. 1837.50 ms
    card: 1 <alsa_card.pci-0000_00_1b.0>
    module: 7
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "ALC887-VD Digital"
        alsa.id = "ALC887-VD Digital"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "1"
        alsa.card = "0"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0xf5130000 irq 30"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1b.0"
        sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "1e20"
        device.product.name = "7 Series/C216 Chipset Family High Definition Audio Controller"
        device.form_factor = "internal"
        device.string = "iec958:0"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "iec958-stereo"
        device.profile.description = "Digital Stereo (IEC958)"
        device.description = "Built-in Audio Digital Stereo (IEC958)"
        alsa.mixer_name = "Realtek ALC887-VD"
        alsa.components = "HDA:10ec0887,1458a002,00100302"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
            properties:

    active port: <iec958-stereo-output>

Die Frage ist also offensichtlich: Wie kann ich das Intel HDA-Audio in PulseAudio mit Debian 10 wieder zum Laufen bringen? Kann ich dies vom Konfigurationsstandpunkt aus beheben oder handelt es sich um ein Treiberproblem, das entweder von den ALSA- oder PulseAudio-Betreuern behoben werden muss?

blihp
quelle
1
Debian 10 Buster befindet sich noch im Test. Das Beste, was Sie hier tun können, ist, einen Fehlerbericht einzureichen und zu warten, bis er offiziell veröffentlicht wurde und tatsächlich unterstützt wird.
Nasir Riley
Aber ein Fehlerbericht für was? (dh die Kerneltreiber? ALSA? PulseAudio?) Es ist klar, dass sich das Verhalten geändert hat, aber mir ist überhaupt nicht klar, woher das Problem stammt. Ich weiß auch nicht, ob das Problem für meine aktuelle Konfiguration spezifisch ist oder ob sich eine vollständige Neuinstallation (die ich derzeit nicht ausführen kann) reproduzieren würde. Debian-Paketbetreuer möchten ein bestimmtes Paket, dessen Reproduktionsschritte fehlerhaft sind ... Ich glaube nicht, dass ich noch da bin.
Blihp
Sie müssen PulseAudio beheben und prüfen, ob ein Problem mit dem Kernel oder etwas anderem vorliegt. Sie können auch einfach warten, bis es offiziell veröffentlicht wurde, und prüfen, ob das Problem behoben ist.
Nasir Riley
@blihp hast du dein Problem gelöst? Ich erlebe genau das gleiche…
Nicoco
1
@nicoco funktioniert die Lösung, die ich gefunden habe, für Sie?
Blihp

Antworten:

10

Ich bin wegen des gleichen Problems hier gelandet. Nach dem Upgrade von Stretch verschwand das Audio. Ähnliche Symptome und Ausgänge (Nvidia-Karte und Intel HDA-Sound). Beim Befolgen der Anweisungen habe ich jedoch festgestellt, dass ich diesen Schritt nicht zum Laufen bringen konnte:

root@desk:~# aplay -D plughw:0,0 /usr/share/sounds/alsa/Front_Center.wav
aplay: main:828: audio open error: Device or resource busy

Ich fand, dass der Schuldige Schüchternheit war:

root@desk:~# fuser -v /dev/snd/*
                     USER        PID ACCESS COMMAND
/dev/snd/pcmC0D0p:   timidity   1274 F...m timidity
/dev/snd/seq:        timidity   1274 F.... timidity

Sobald ich es getötet hatte, konnte ich mit der Bearbeitung fortfahren /etc/pulse/default.paund alles rastete ein. Ich bin mir immer noch nicht sicher, ob das Problem die fehlende PA-Senke oder die Übernahme der Schüchternheit war.

Ich habe auch überlegt, einen Fehlerbericht einzureichen, bin mir aber nicht sicher, wo dies angemessener wäre. Wenn Sie Vorschläge haben, folge ich gerne Ihrem Beispiel und füge dem Bericht meine Unterstützung hinzu.

Vielen Dank, dass Sie die Lösung geteilt haben!

Ntropia
quelle
2
Gerade Schüchternheit aus meinem System entfernt - danke!
dsz
Genau das gleiche Problem, das Entfernen hat das Problem behoben. Wahrscheinlich habe ich in der Vergangenheit Schüchternheit verwendet, aber nicht in letzter Zeit. Selbst wenn es eine bessere Lösung gibt, ist das Entfernen in Ordnung :)
muni764
Ich hatte es überhaupt nicht installiert und habe immer noch ähnliche Probleme.
Martin Ueding
In meinem Fall war es das muroard, was das Audiogerät band. Zur Erinnerung: fuserWahrscheinlich können Sie nichts Nützliches sagen, wenn Sie nicht daran denken, es als auszuführen root.
Rakslice
Zu Ihrer Information: Ich hatte das gleiche Problem. Und ich habe es genauso repariert - aber fuser -v /dev/snd/*nichts ergeben. Trotzdem habe ich es behoben, indem ich Schüchternheit deinstalliert habe!
christianparpart
8

Ich hatte gerade genau dieses Problem und die Deinstallation von Timidity löste es. Als das Paket von apt entfernt wurde, sah ich buchstäblich eine Benachrichtigung, dass ich eine Soundkarte habe (interpretiert als Lautstärkeänderung).

Debianuser
quelle
2
Genau das gleiche Problem auch hier. Ich bin ein Debian-Entwickler, daher kann ich Ihnen sagen, wo Sie suchen müssen. Siehe bugs.debian.org/910048 ("Schüchternheit: Upgrade auf 2.14.0-2 brach Sound über pulseaudio")
Steve McIntyre
gleiche Ausgabe, danke
muni764
@SteveMcIntyre Der Fehler ist bugs.debian.org/901148
LatinSuD
In der Tat löste ein einfacher apt-get purge timidityalle meine Probleme, nachdem ich stundenlang herumgespielt hatte ... Vielen Dank, dass Sie Ihre Lösung geteilt haben.
Clément
Ich habe ein System und timiditywar zunächst nicht installiert. Trotzdem habe ich auch danach keinen Ton pulseaudio --start. Und mit aplaybekomme ich ein paar Geräusche.
Martin Ueding
5

Sollte jemand anderes darauf stoßen, finden Sie hier eine Problemumgehung, um PulseAudio zur Verwendung des ALSA-Geräts zu zwingen ...

Stellen Sie zunächst sicher, dass Sie die richtige Soundkarte und das richtige Gerät kennen, indem Sie Audio direkt über ALSA abspielen:

aplay -D plughw:<CARD#>,<DEVICE#> /usr/share/sounds/alsa/Front_Center.wav

In meinem Fall wollte ich die optische Audioausgabe so basierend auf meiner aplay -lAusgabe, wie in meiner obigen Frage gezeigt, war es:

aplay -D plughw:0,1 /usr/share/sounds/alsa/Front_Center.wav

Notieren Sie sich die Karten- und Gerätenummer und fügen Sie einen Eintrag hinzu /etc/pulse/default.pa(ersetzen Sie 0,1 durch das, was im vorherigen Schritt für Sie funktioniert hat):

load-module module-alsa-sink device=plughw:0,1

Ich habe diese Zeile unmittelbar vor der Zeile .ifexists module-udev-detect.so in der Datei hinzugefügt (dh unter dem statischen Kommentar ### Audio-Treiber laden ).

Führen Sie dann Folgendes aus, während der Benutzer, unter dem Ihre Desktopsitzung angemeldet ist (dh nicht als root):

pulseaudio --kill
pulseaudio --start

Dann sollten Sie in der Lage sein, die Toneinstellungen zu öffnen, um die Karte anzuzeigen und auszuwählen:

Geben Sie hier die Bildbeschreibung ein

Zu diesem Zeitpunkt sollte die Audiowiedergabe über PulseAudio wieder funktionieren. (Mir ist aufgefallen, dass die Karte pacmd list-cardsimmer noch nicht aufgelistet wird, obwohl sie jetzt funktioniert.) Erinnerung: Dies ist eine Problemumgehung und keine langfristige Lösung. Machen Sie sich also eine Notiz, um dies zu einem späteren Zeitpunkt rückgängig zu machen wenn es richtig repariert wurde. Aber Audio funktioniert vorerst.

blihp
quelle
0

Ich hatte nur ein Dummy-Sink und überhaupt kein Audio nach dem Upgrade von Debian 9 auf Debian 10

aplay -l fehlgeschlagen, Fehler beim Öffnen der 99-puls.conf gemeldet

Ich habe /etc/alsa/conf.d/99-pulse.confmit den Inhalten einer Xubuntu-Installation erstellt:

# PulseAudio alsa plugin configuration file to set the pulseaudio plugin as
# default output for applications using alsa when pulseaudio is running.
hook_func.pulse_load_if_running {
    lib "libasound_module_conf_pulse.so"
    func "conf_pulse_hook_load_if_running"
}

@hooks [
    {
        func pulse_load_if_running
        files [
            "/usr/share/alsa/pulse-alsa.conf"
        ]
        errors false
    }
]

Dies löste meine Probleme

nd34567s32e
quelle
Diese Datei existiert bereits auf dem System, das ich mit Debian 9 installiert und auf Debian 10 aktualisiert hatte.
Martin Ueding