PulseAudio no reconoce Intel HDA después de actualizar a las pruebas de Debian (Buster)

9

Noté un problema durante el verano después de actualizar de Debian 9 estable a las pruebas de Debian 10: PulseAudio ya no reconocía mis dispositivos de audio Intel HDA. En ese momento pude cambiar al audio de mi monitor conectado a través de nVidia HDMI, así que evité el problema con la esperanza de que una futura actualización lo solucionara. No lo han hecho. Avancé unos meses y reorganicé mi espacio de trabajo y ahora necesito que Intel HDA vuelva a funcionar.

Esto es lo que he visto hasta ahora ...

Prueba de Debian 10

El núcleo lo ve:

# 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 ve:

# 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

prueba de altavoz reproduce audio normalmente como lo hace aplay -D predeterminado: CARD = PCH /usr/share/sounds/alsa/Front_Left.wav

Sin embargo, PulseAudio no ve el dispositivo en absoluto:

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

Cuando voy a Configuración de sonido, todo lo que veo es el dispositivo de salida ficticia. (Los dispositivos nVidia ya no se enumeran aquí porque al reorganizar las cosas, estoy usando un monitor diferente sin audio, por lo que no hay ningún dispositivo de audio HDMI conectado actualmente).

Traté de limpiar la configuración de PulseAudio pensando que podría tener algunos problemas heredados a través de:

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

Debian 9 estable

Tengo otra partición en esta máquina que todavía está ejecutando Debian 9 estable, donde Intel HDA funciona bajo PulseAudio, y parece haber diferencias en los controladores ALSA frente a Debian 10, así que a continuación están las diferencias que noté ...

# 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

Y, por supuesto, Debian 9 ve Intel HDA en 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>

Entonces, la pregunta es obviamente: ¿cómo hago para que el audio Intel HDA vuelva a funcionar en PulseAudio con Debian 10? ¿Es esto algo que puedo solucionar desde el punto de vista de la configuración o se trata de un problema de controlador que debe ser solucionado por los mantenedores de ALSA o PulseAudio?

blihp
fuente
1
Debian 10 Buster todavía está en pruebas. Lo máximo que puede hacer aquí es presentar un informe de error y esperar hasta que se lance oficialmente y tenga soporte real.
Nasir Riley
¿Pero un informe de error para qué? (es decir, los controladores del kernel? ALSA? PulseAudio?) Está claro que el comportamiento ha cambiado, pero no estoy del todo claro cuál es el origen del problema. Tampoco sé si el problema es específico de mi configuración actual o si se reproduciría una reinstalación completa (algo que no puedo hacer ahora). Los mantenedores de paquetes de Debian quieren un paquete específico que tenga la culpa de los pasos para reproducirse ... No creo que esté allí todavía.
blihp
Tendrá que solucionar problemas de PulseAudio y ver si hay un problema con el kernel u otra cosa. También puede esperar hasta que se lance oficialmente y ver si se resuelve el problema.
Nasir Riley
@blihp ¿resolvió su problema? Estoy experimentando exactamente el mismo ...
nicoco
1
@nicoco, ¿la solución que he encontrado funciona para ti?
blihp

Respuestas:

10

Terminé aquí por el mismo problema, después de actualizar desde Stretch, el audio desapareció. Síntomas y resultados similares (tarjeta Nvidia y sonido Intel HDA). Sin embargo, al seguir las instrucciones, descubrí que no podía hacer que este paso funcionara:

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

Descubrí que el culpable era la timidez:

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 vez que lo maté, pude continuar con la edición /etc/pulse/default.pay todo encajó en su lugar. Todavía no estoy seguro de si el problema fue la pérdida de PA o la timidez.

También he considerado presentar un informe de error, pero no estoy seguro de dónde sería más apropiado. Si tiene alguna sugerencia, me complacerá seguir su ejemplo y agregar mi apoyo al informe.

¡Gracias por compartir la solución!

Ntropia
fuente
2
Acabo de eliminar la timidez de mi sistema, ¡gracias!
dsz
exactamente el mismo problema, eliminarlo resolvió el problema, probablemente usé timidez en el pasado, pero no recientemente, por lo que incluso si hay una solución más adecuada, eliminarla está bien :)
muni764
En primer lugar, no lo tenía instalado y todavía enfrento problemas similares.
Martin Ueding
En mi caso fue muroardque estaba atando el dispositivo de sonido. Un recordatorio: fuseres probable que no pueda decirte nada útil a menos que recuerdes ejecutarlo como root.
rakslice
FYI: tuve el mismo problema. Y lo arreglé de la misma manera, sin embargo, fuser -v /dev/snd/*no produjo nada. ¡Aún así lo arreglé desinstalando la timidez!
christianparpart
8

Acabo de tener este problema exacto, y desinstalar Timidity lo resolvió. Literalmente, cuando apt eliminó el paquete, vi una notificación que mostraba que tenía una tarjeta de sonido (interpretada como un cambio de volumen).

Debianuser
fuente
2
Exactamente el mismo problema aquí también. Soy un desarrollador de Debian, así que puedo decirte dónde buscar. Ver bugs.debian.org/910048 ("timidez: la actualización a 2.14.0-2 rompió el sonido a través de pulseaudio")
Steve McIntyre
mismo problema, gracias
muni764
@SteveMcIntyre El error es bugs.debian.org/901148
LatinSuD
De hecho, un simple apt-get purge timidityresolvió todos mis problemas, después de jugar durante horas ... Muchas gracias por compartir su solución.
Clément
Tengo un sistema y timidityno estaba instalado para empezar. Todavía no tengo sonido incluso después pulseaudio --start. Y usando aplayobtengo algunos sonidos.
Martin Ueding
5

Si alguien más se encuentra con esto, aquí hay una solución para forzar a PulseAudio a usar el dispositivo ALSA ...

Primero, confirme que conoce la tarjeta de sonido y el dispositivo correctos que desea reproduciendo algo de audio directamente a través de ALSA:

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

En mi caso, quería la salida de audio óptico, así que según mi aplay -lsalida, como se ve en mi pregunta anterior, fue:

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

Anote la tarjeta y el número de dispositivo y agregue una entrada a /etc/pulse/default.pa(reemplace 0,1 con lo que funcionó para usted en el paso anterior):

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

Agregué esta línea inmediatamente antes de la línea .ifexists module-udev-detect.so en el archivo (es decir, debajo del comentario ### Cargar controladores de audio estáticamente )

Luego ejecute lo siguiente cuando el usuario en el que su sesión de escritorio haya iniciado sesión (es decir, no como root):

pulseaudio --kill
pulseaudio --start

Entonces debería poder abrir la Configuración de sonido para ver y seleccionar la tarjeta:

ingrese la descripción de la imagen aquí

En este punto, debe tener la reproducción de audio a través de PulseAudio funcionando nuevamente. (Algo que noté es que todavía no pacmd list-cardsaparecerá en la lista de la tarjeta a pesar de que ahora funciona) Recordatorio: esta es una solución alternativa y no la solución a largo plazo, así que asegúrese de tomar nota para deshacer esto en algún momento en el futuro para ver si se ha solucionado correctamente Pero por el momento, el audio funciona.

blihp
fuente
0

Solo tenía un sumidero ficticio y ningún audio después de la actualización de Debian 9 a Debian 10

aplay -l falló, informando error al abrir 99-pulse.conf

Creé /etc/alsa/conf.d/99-pulse.confcon los contenidos tomados de una instalación de 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
    }
]

esto resolvió mis problemas

nd34567s32e
fuente
Este archivo ya existe en el sistema que instalé con Debian 9 y actualicé a Debian 10.
Martin Ueding