PulseAudio non riconosce Intel HDA dopo l'aggiornamento ai test Debian (Buster)


9

Ho notato un problema durante l'estate dopo l'aggiornamento da Debian 9 stabile a Debian 10 test: PulseAudio non ha più riconosciuto i miei dispositivi audio Intel HDA. Al momento sono stato in grado di passare all'audio del mio monitor collegato tramite nVidia HDMI, quindi ho evitato il problema sperando che un futuro aggiornamento lo avrebbe risolto. Non l'hanno fatto. Avanzamento veloce di alcuni mesi e ho riorganizzato il mio spazio di lavoro e ora ho bisogno di far funzionare nuovamente Intel HDA.

Ecco cosa ho visto finora ...

Test Debian 10

Il kernel lo vede:

# 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 lo vede:

# 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

il test dell'altoparlante riproduce l'audio normalmente come fa aplay -D predefinito: CARD = PCH /usr/share/sounds/alsa/Front_Left.wav

Tuttavia PulseAudio non vede affatto il dispositivo:

$ 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"

Quando vado in Impostazioni audio, tutto ciò che vedo è il dispositivo Dummy Output. (I dispositivi nVidia non sono più elencati qui perché nel riordinare le cose, sto usando un monitor diverso senza audio, quindi non ci sono dispositivi audio HDMI attualmente collegati.)

Ho provato a cancellare la configurazione di PulseAudio pensando che potrei avere qualche legacy legft in giro tramite:

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

Debian 9 Stable

Ho un'altra partizione su questa macchina che esegue ancora Debian 9 stabile, dove Intel HDA funziona con PulseAudio e sembrano esserci differenze nei driver ALSA rispetto a Debian 10, quindi di seguito sono le differenze che ho notato ...

# 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

E, naturalmente, Debian 9 vede 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>

Quindi la domanda è ovviamente: come posso ripristinare l'audio Intel HDA in PulseAudio con Debian 10? È qualcosa che posso risolvere dal punto di vista della configurazione o è un problema del driver che deve essere risolto dai manutentori ALSA o PulseAudio?


1
Debian 10 Buster è ancora in fase di test. Il massimo che puoi fare qui è presentare una segnalazione di bug e attendere fino al suo rilascio ufficiale e al supporto effettivo.
Nasir Riley,

Ma una segnalazione di bug per cosa? (ovvero i driver del kernel? ALSA? PulseAudio?) È chiaro che il comportamento è cambiato ma non mi è affatto chiaro quale sia l'origine del problema. Inoltre non so se il problema è specifico della mia configurazione attuale o se si riprodurrebbe una reinstallazione completa (non qualcosa che posso fare ora). I manutentori di pacchetti Debian vogliono un pacchetto specifico che è in errore con i passaggi da riprodurre ... Non credo di esserci ancora.
blihp

Dovrai risolvere PulseAudio e vedere se c'è un problema con il kernel o qualcos'altro. Potresti anche aspettare fino al rilascio ufficiale e vedere se il problema è stato risolto.
Nasir Riley,

@blihp hai risolto il tuo problema? Sto vivendo esattamente lo stesso ...
Nicoco,

1
@nicoco la soluzione che ho trovato funziona per te?
blihp

Risposte:


10

Sono finito qui per lo stesso problema, dopo l'aggiornamento da Stretch, l'audio è scomparso. Sintomi e risultati simili (scheda Nvidia e suono Intel HDA). Seguendo le istruzioni, però, ho scoperto che non riuscivo a far funzionare questo passaggio:

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

Ho scoperto che il colpevole era la timidezza:

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

Una volta ucciso, ho potuto procedere con il montaggio /etc/pulse/default.pae tutto è andato a posto. Non sono ancora sicuro se il problema fosse il sink PA mancante o la timidezza che stava subentrando.

Ho anche considerato di presentare una segnalazione di bug, ma non sono sicuro di dove sarebbe più appropriato. Se hai qualche suggerimento, sarò felice di seguire il tuo esempio e aggiungere il mio supporto al rapporto.

Grazie per aver condiviso la soluzione!


2
Ho appena rimosso la timidezza dal mio sistema - grazie!
dsz

esattamente lo stesso problema, rimuovendolo risolto il problema, probabilmente ho usato la timidezza in passato, ma non recentemente, quindi anche se c'è forse una soluzione più corretta, rimuoverlo va bene :)
muni764

Non l'ho installato in primo luogo e ho ancora problemi simili.
Martin Ueding,

Nel mio caso è stato muroardquello di legare il dispositivo audio. Un promemoria: fuserprobabilmente non sarà in grado di dirti nulla di utile se non ti ricordi di eseguirlo come root.
rakslice,

FYI: ho avuto lo stesso problema. E l'ho risolto allo stesso modo - tuttavia, fuser -v /dev/snd/*non ha prodotto nulla. Tuttavia l'ho risolto disinstallando timidity!
christianparpart

8

Ho appena avuto questo problema esatto e la disinstallazione di Timidity ha risolto il problema. Letteralmente, poiché il pacchetto è stato rimosso da apt, ho visto una notifica che mostrava che ho una scheda audio (interpretata come una variazione di volume).


2
Lo stesso problema esatto anche qui. Sono uno sviluppatore Debian, quindi posso dirti dove cercare. Vedi bugs.debian.org/910048 ("timidezza: l'aggiornamento a 2.14.0-2 ha rotto il suono tramite pulseaudio")
Steve McIntyre,

stesso problema, grazie
muni764,

@SteveMcIntyre Il bug è bugs.debian.org/901148
LatinSuD

Anzi, un semplice apt-get purge timidityrisolto tutti i miei problemi, dopo aver giocherellato per ore ... Grazie mille per aver condiviso la tua soluzione.
Clément,

Ho un sistema e timiditynon sono stato installato per cominciare. Non ho ancora alcun suono anche dopo pulseaudio --start. E usando aplayottengo alcuni suoni.
Martin Ueding,

5

Se qualcun altro dovesse imbattersi in questo, ecco una soluzione alternativa per forzare PulseAudio a utilizzare il dispositivo ALSA ...

Innanzitutto, conferma di conoscere la scheda audio e il dispositivo corretti desiderati riproducendo un po 'di audio direttamente tramite ALSA:

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

Nel mio caso, volevo che l'uscita audio ottica fosse basata sulla mia aplay -luscita, come visto nella mia domanda precedente:

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

Prendi nota della carta e del numero del dispositivo e aggiungi una voce /etc/pulse/default.pa(sostituisci 0,1 con ciò che ha funzionato per te nel passaggio precedente):

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

Ho aggiunto questa riga immediatamente prima della riga .ifexists module-udev-detect.so nel file (cioè sotto il commento statico ### Load audio drivers )

Quindi esegui quanto segue come utente della sessione desktop come (ovvero non come root):

pulseaudio --kill
pulseaudio --start

Quindi dovresti essere in grado di aprire Impostazioni audio per vedere e selezionare la scheda:

inserisci qui la descrizione dell'immagine

A questo punto, dovresti avere la riproduzione audio tramite PulseAudio funzionante di nuovo. (Qualcosa che ho notato è che pacmd list-cardssarà ancora non elencare la scheda, anche se ora funziona) Promemoria: si tratta di una soluzione e non la correzione a lungo termine in modo da essere sicuri di fare una nota a te stesso per annullare questo ad un certo punto in futuro di vedere se è stato corretto correttamente. Ma per ora funziona l'audio.


0

ho avuto solo un manichino e nessun audio dopo l'aggiornamento da debian 9 a debian 10

aplay -l non riuscito, errore di segnalazione apertura 99-pulse.conf

ho creato /etc/alsa/conf.d/99-pulse.confcon i contenuti presi da un'installazione di Xubuntu:

# 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
    }
]

questo ha risolto i miei problemi


Questo file esiste già sul sistema che avevo installato con Debian 9 e aggiornato a Debian 10.
Martin Ueding il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.