PulseAudio не распознает Intel HDA после обновления до тестирования Debian (Buster)

9

Я заметил проблему летом после обновления стабильной версии Debian 9 до тестирования Debian 10: PulseAudio больше не распознавал мои аудиоустройства Intel HDA. В то время я смог переключиться на звук моего монитора, подключенного через nVidia HDMI, поэтому я обошел проблему, надеясь, что в будущем обновлении это исправит. Они не имеют. Перенесемся на несколько месяцев вперед, и я перестроил свое рабочее пространство, и теперь мне нужно снова запустить Intel HDA.

Вот что я посмотрел до сих пор ...

Тестирование Debian 10

Ядро видит это:

# 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 видит это:

# 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

Speaker-Test воспроизводит аудио нормально, как и aplay -D по умолчанию: CARD = PCH /usr/share/sounds/alsa/Front_Left.wav

Однако PulseAudio не видит устройство вообще:

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

Когда я захожу в настройки звука, все, что я вижу, это устройство Dummy Output. (Устройства nVidia здесь больше не перечислены, потому что при перестановке я использую другой монитор без звука, поэтому в настоящее время не подключено аудиоустройство HDMI.)

Я попытался очистить конфигурацию PulseAudio, думая, что у меня может быть какая-то устаревшая путаница:

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

Debian 9 Stable

У меня есть другой раздел на этой машине, на котором все еще работает стабильная версия Debian 9, где Intel HDA работает под управлением PulseAudio, и, похоже, существуют различия в драйверах ALSA по сравнению с Debian 10, поэтому ниже приведены различия, которые я заметил ...

# 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

И, конечно же, Debian 9 видит Intel HDA в 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>

Таким образом, вопрос очевиден: как мне заставить звук Intel HDA снова работать в PulseAudio с Debian 10? Это что-то, что я могу исправить с точки зрения конфигурации, или это проблема с драйвером, которая должна быть исправлена ​​сопровождающими ALSA или PulseAudio?

blihp
источник
1
Debian 10 Buster все еще находится в стадии тестирования. Максимум, что вы можете здесь сделать - это подать отчет об ошибке и подождать, пока он официально не выйдет и не получит реальную поддержку.
Насир Райли
Но сообщение об ошибке для чего? (т.е. драйверы ядра? ALSA? PulseAudio?) Ясно, что поведение изменилось, но мне совершенно не ясно, каков источник проблемы. Я также не знаю, является ли проблема специфической для моей текущей конфигурации или полная переустановка (не то, что я могу сделать прямо сейчас) воспроизвела бы. Сопровождающие пакетов Debian хотят, чтобы конкретный пакет был ошибочным с шагами для воспроизведения ... Я не верю, что я там еще.
Блихп
Вам нужно будет устранить неполадки PulseAudio и посмотреть, есть ли проблема с ядром или что-то еще. Вы также можете просто подождать, пока он будет официально выпущен, и посмотреть, решена ли проблема.
Насир Райли
@blihp ты решил свою проблему? Я испытываю точно такой же…
Никоко
1
@nicoco помогает ли вам найти решение, которое я нашел?
Блихп

Ответы:

10

Я оказался здесь из-за той же проблемы, после обновления с Stretch звук исчез. Аналогичные симптомы и выходы (карта Nvidia и звук Intel HDA). Следуя инструкциям, я обнаружил, что не смог заставить этот шаг работать:

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

Я обнаружил, что виновником была робость

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

Как только я убил его, я мог приступить к редактированию, /etc/pulse/default.paи все встало на свои места. Я все еще не уверен, была ли проблема в пропущенном приемнике ПА или робости.

Я также подумал о том, чтобы подать отчет об ошибке, но я не уверен, что будет более подходящим. Если у вас есть какие-либо предложения, я буду рад последовать вашему примеру и добавить поддержку в отчет.

Спасибо, что поделились решением!

Ntropia
источник
2
Только что удалил робость из моей системы - спасибо!
1818 года
точно такая же проблема, устранение ее решило проблему, вероятно, я использовал робость в прошлом, но не в последнее время, так что, даже если есть более правильное решение, удалить его просто отлично :)
muni764
Я не установил его в первую очередь и все еще сталкиваюсь с подобными проблемами.
Мартин Уединг
В моем случае это было muroardто, что связывало звуковое устройство. Напоминание: fuserвероятно, не сможет рассказать вам ничего полезного, если вы не запустите его как root.
Ракслице
К вашему сведению: у меня была та же проблема. И я все исправил - впрочем, fuser -v /dev/snd/*ничего не дало. Тем не менее я исправил это, удалив робость!
КристианПарпарт
8

У меня была именно эта проблема, и удаление Timidity решило ее. Буквально, когда пакет был удален apt, я увидел уведомление, показывающее, что у меня звуковая карта (интерпретируется как изменение громкости).

Debianuser
источник
2
Точно такая же проблема и здесь. Я разработчик Debian, поэтому могу сказать, где искать. См. Bugs.debian.org/910048 («робость: обновление до 2.14.0-2 прерывистого звука с помощью pulseaudio»)
Стив Макинтайр
та же проблема, спасибо
muni764
@SteveMcIntyre Ошибка: bugs.debian.org/901148
LatinSuD
Действительно, простое apt-get purge timidityрешило все мои проблемы, поигравшись часами… Большое спасибо за то, что поделились своим решением.
Клеман
У меня есть система, и я timidityне был установлен с самого начала. Тем не менее, у меня нет звука даже после pulseaudio --start. И используя aplayя получаю некоторые звуки.
Мартин Уединг
5

Если кто-то еще столкнется с этим, вот обходной путь, чтобы заставить PulseAudio использовать устройство ALSA ...

Во-первых, подтвердите, что вы знаете правильную звуковую карту и устройство, которое хотите, проиграв аудио напрямую через ALSA:

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

В моем случае я хотел, чтобы оптический аудиовыход основывался на моем aplay -lвыводе, как показано в моем вопросе выше:

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

Запишите номер карты и устройства и добавьте запись /etc/pulse/default.pa(замените 0,1 на то, что работало для вас на предыдущем шаге):

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

Я добавил эту строку непосредственно перед строкой .ifexists module-udev-detect.so в файле (то есть под ### Загрузка аудиодрайверов со статическим комментарием)

Затем запустите следующее как пользователь, с которым вы вошли в сеанс рабочего стола (т.е. не как пользователь root):

pulseaudio --kill
pulseaudio --start

Тогда вы сможете открыть Настройки звука, чтобы увидеть и выбрать карту:

введите описание изображения здесь

На этом этапе воспроизведение аудио через PulseAudio должно работать снова. (Я заметил, что карта по- прежнему не pacmd list-cardsбудет отображаться в списке, даже если она теперь работает). Напоминание: это обходной путь, а не долгосрочное исправление, поэтому обязательно сделайте заметку для себя, чтобы отменить это в какой-то момент в будущем, чтобы увидеть если это было исправлено правильно. Но это заставляет звук работать в настоящее время.

blihp
источник
0

у меня была только пустышка и никакого звука после обновления с Debian 9 на Debian 10

aplay -l не удалось, сообщив об ошибке открытия 99-pulse.conf

я создал /etc/alsa/conf.d/99-pulse.confс содержимым, взятым из установки 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
    }
]

это решило мои проблемы

nd34567s32e
источник
Этот файл уже существует в системе, которую я установил с Debian 9 и обновил до Debian 10.
Martin Ueding