PulseAudio ne reconnaît pas Intel HDA après la mise à niveau vers les tests Debian (Buster)

9

J'ai remarqué un problème au cours de l'été après la mise à niveau de Debian 9 stable vers Debian 10: PulseAudio ne reconnaissait plus mes périphériques audio Intel HDA. À l'époque, je pouvais passer à l'audio de mon moniteur connecté via nVidia HDMI, j'ai donc évité le problème en espérant qu'une future mise à jour le corrigerait. Ils ne l'ont pas fait. Avance rapide de quelques mois et j'ai réorganisé mon espace de travail et je dois maintenant faire fonctionner Intel HDA à nouveau.

Voici ce que j'ai regardé jusqu'à présent ...

Test de Debian 10

Le noyau le voit:

# 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 le voit:

# 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

test de haut-parleur lit l'audio normalement comme le fait aplay -D par défaut: CARD = PCH /usr/share/sounds/alsa/Front_Left.wav

Cependant PulseAudio ne voit pas du tout l'appareil:

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

Lorsque je vais dans Paramètres sonores, je ne vois que le périphérique de sortie factice. (Les périphériques nVidia ne sont plus répertoriés ici parce que pour réorganiser les choses, j'utilise un moniteur différent sans audio, donc aucun périphérique audio HDMI n'est actuellement connecté.)

J'ai essayé de vider la configuration de PulseAudio en pensant que je pourrais avoir un héritage autour via:

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

Debian 9 stable

J'ai une autre partition sur cette machine qui exécute toujours Debian 9 stable, où Intel HDA fonctionne sous PulseAudio, et il semble y avoir des différences entre les pilotes ALSA et Debian 10, donc voici les différences que j'ai remarquées ...

# 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

Et bien sûr, Debian 9 voit Intel HDA dans 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>

La question est donc évidente: comment faire pour que l'audio Intel HDA fonctionne à nouveau dans PulseAudio avec Debian 10? Est-ce quelque chose que je peux résoudre du point de vue de la configuration ou s'agit-il d'un problème de pilote qui doit être résolu par les mainteneurs ALSA ou PulseAudio?

blihp
la source
1
Debian 10 Buster est toujours en cours de test. Le mieux que vous puissiez faire ici est de déposer un rapport de bogue et d'attendre qu'il soit officiellement publié et qu'il ait un support réel.
Nasir Riley
Mais un rapport de bug pour quoi? (c'est-à-dire les pilotes du noyau? ALSA? PulseAudio?) Il est clair que le comportement a changé mais je ne sais pas du tout quelle est la source du problème. Je ne sais pas non plus si le problème est spécifique à ma configuration actuelle ou si une réinstallation complète (pas quelque chose que je peux faire maintenant) se reproduirait. Les responsables de paquets Debian veulent un paquet spécifique qui est en défaut avec les étapes de reproduction ... Je ne pense pas que j'y suis encore.
blihp
Vous devrez dépanner PulseAudio et voir s'il y a un problème avec le noyau ou autre chose. Vous pouvez également attendre sa sortie officielle et voir si le problème est résolu.
Nasir Riley
@blihp avez-vous résolu votre problème? Je
ressens
1
@nicoco la solution que j'ai trouvée fonctionne-t-elle pour vous?
blihp

Réponses:

10

Je me suis retrouvé ici à cause du même problème, après la mise à niveau de Stretch, l'audio a disparu. Symptômes et sorties similaires (carte Nvidia et son Intel HDA). Cependant, en suivant les instructions, j'ai constaté que je ne pouvais pas faire fonctionner cette étape:

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

J'ai trouvé que le coupable était la timidité:

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

Une fois que je l'ai tué, j'ai pu continuer le montage /etc/pulse/default.paet tout s'est mis en place. Je ne sais toujours pas si le problème était le puits de son manquant ou la timidité qui prenait le dessus.

J'ai également envisagé de déposer un rapport de bogue, mais je ne sais pas où ce serait plus approprié. Si vous avez des suggestions, je serai heureux de suivre votre exemple et d'apporter mon soutien au rapport.

Merci de partager la solution!

Ntropia
la source
2
Je viens de retirer la timidité de mon système - merci!
dsz
exactement le même problème, le supprimer a résolu le problème, j'ai probablement utilisé la timidité dans le passé, mais pas récemment, donc même s'il existe peut-être une solution plus appropriée, le supprimer est très bien :)
muni764
Je ne l'avais pas installé en premier lieu et je suis toujours confronté à des problèmes similaires.
Martin Ueding
Dans mon cas, c'était ce muroardqui bloquait l'appareil audio. Un rappel: fuserne va probablement pas être en mesure de vous dire quelque chose d'utile à moins que vous vous souveniez de l'exécuter en tant que root.
rakslice
FYI: J'ai eu le même problème. Et je l'ai corrigé de la même manière - mais cela fuser -v /dev/snd/*n'a rien donné. Je l'ai quand même corrigé en désinstallant la timidité!
christianparpart
8

Je viens d'avoir ce problème exact, et la désinstallation de Timidity l'a résolu. Littéralement, comme le paquet a été supprimé par apt, j'ai vu une notification indiquant que j'avais une carte son (interprétée comme un changement de volume).

Debianuser
la source
2
Exactement le même problème ici aussi. Je suis développeur Debian, je peux donc vous dire où chercher. Voir bugs.debian.org/910048 ("timidity: mise à niveau vers 2.14.0-2 cassé le son via pulseaudio")
Steve McIntyre
même problème, merci
muni764
@SteveMcIntyre Le bogue est bugs.debian.org/901148
LatinSuD
En effet, un simple a apt-get purge timidityrésolu tous mes problèmes, après avoir tripoté pendant des heures… Merci beaucoup de partager votre solution.
Clément
J'ai un système et je n'ai timiditypas été installé pour commencer. Je n'ai toujours pas de son même après pulseaudio --start. Et en utilisant, aplayj'obtiens des sons.
Martin Ueding
5

Si quelqu'un d'autre rencontre cela, voici une solution de contournement pour forcer PulseAudio à utiliser le périphérique ALSA ...

Tout d'abord, confirmez que vous connaissez la bonne carte son et l'appareil que vous souhaitez en lisant du son directement via ALSA:

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

Dans mon cas, je voulais que la sortie audio optique soit basée sur ma aplay -lsortie comme vu dans ma question ci-dessus, c'était:

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

Notez le numéro de carte et de périphérique et ajoutez une entrée à /etc/pulse/default.pa(remplacez 0,1 par ce qui a fonctionné pour vous à l'étape précédente):

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

J'ai ajouté cette ligne juste avant la ligne .ifexists module-udev-detect.so dans le fichier (c'est-à-dire sous le commentaire statique des pilotes audio ### Load )

Exécutez ensuite ce qui suit en tant qu'utilisateur auquel votre session de bureau est connectée (c'est-à-dire pas en tant que root):

pulseaudio --kill
pulseaudio --start

Ensuite, vous devriez pouvoir ouvrir les paramètres sonores pour voir et sélectionner la carte:

entrez la description de l'image ici

À ce stade, la lecture audio via PulseAudio devrait fonctionner à nouveau. (Quelque chose que j'ai remarqué est que la carte ne pacmd list-cardssera toujours pas listée même si cela fonctionne maintenant) Rappel: c'est une solution de contournement et non la solution à long terme, alors assurez-vous de vous noter pour annuler cela à un moment donné dans le futur pour voir s'il a été corrigé correctement. Mais le son fonctionne pour le moment.

blihp
la source
0

je n'avais qu'un mannequin et aucun son après la mise à niveau de debian 9 vers debian 10

aplay -l a échoué, signalant une erreur lors de l'ouverture de 99-pulse.conf

j'ai créé /etc/alsa/conf.d/99-pulse.confavec le contenu extrait d'une installation 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
    }
]

cela a résolu mes problèmes

nd34567s32e
la source
Ce fichier existe déjà sur le système que j'avais installé avec Debian 9 et mis à niveau vers Debian 10.
Martin Ueding