PulseAudio tidak mengenali Intel HDA setelah memutakhirkan ke pengujian Debian (Buster)

9

Saya melihat masalah selama musim panas setelah memutakhirkan dari pengujian Debian 9 stable ke Debian 10: PulseAudio tidak lagi mengenali perangkat audio Intel HDA saya. Pada saat itu saya dapat beralih ke audio monitor saya yang terhubung melalui nVidia HDMI jadi saya menghindari masalah dengan harapan pembaruan di masa depan akan memperbaikinya. Mereka belum melakukannya. Maju cepat beberapa bulan dan saya telah mengatur ulang ruang kerja saya dan sekarang perlu membuat Intel HDA bekerja kembali.

Inilah yang saya lihat sejauh ini ...

10 Debian Pengujian

Kernel melihatnya:

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

# 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 memutar audio secara normal seperti halnya aplay -D default: CARD = PCH /usr/share/sounds/alsa/Front_Left.wav

Namun PulseAudio tidak melihat perangkat sama sekali:

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

Ketika saya pergi ke Pengaturan Suara, semua yang saya lihat adalah perangkat Dummy Output. (Perangkat nVidia tidak lagi tercantum di sini karena dalam mengatur ulang hal-hal, saya menggunakan monitor berbeda tanpa audio sehingga tidak ada perangkat audio HDMI yang terhubung saat ini.)

Saya telah mencoba untuk membersihkan konfigurasi PulseAudio dengan berpikir saya mungkin memiliki beberapa legacy cruft sekitar melalui:

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

Debian 9 Stabil

Saya memiliki partisi lain di mesin ini yang masih menjalankan stabil Debian 9, di mana Intel HDA bekerja di bawah PulseAudio, dan tampaknya ada perbedaan dalam driver ALSA vs Debian 10 jadi di bawah ini adalah perbedaan yang saya perhatikan ...

# 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

Dan tentu saja, Debian 9 melihat Intel HDA di 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>

Jadi pertanyaannya jelas: bagaimana cara mendapatkan audio Intel HDA bekerja kembali di PulseAudio dengan Debian 10? Apakah ini sesuatu yang bisa saya perbaiki dari sudut pandang konfigurasi atau apakah ini masalah driver yang perlu diperbaiki baik oleh pengelola ALSA atau PulseAudio?

blihp
sumber
1
Debian 10 Buster masih dalam pengujian. Yang paling dapat Anda lakukan di sini adalah mengajukan laporan bug dan menunggu hingga dirilis secara resmi dan memiliki dukungan aktual.
Nasir Riley
Tapi laporan bug untuk apa? (yaitu driver kernel? ALSA? PulseAudio?) Jelas bahwa perilakunya telah berubah tetapi sama sekali tidak jelas bagi saya apa sumber masalahnya. Saya juga tidak tahu apakah masalah ini khusus untuk konfigurasi saya saat ini atau jika instal ulang lengkap (bukan sesuatu yang bisa saya lakukan sekarang) akan mereproduksi. Pengelola paket Debian menginginkan paket tertentu yang salah dengan langkah-langkah untuk mereproduksi ... Saya belum yakin saya di sana.
blihp
Anda harus memecahkan masalah PulseAudio dan melihat apakah ada masalah dengan kernel atau sesuatu yang lain. Anda juga bisa menunggu sampai dirilis secara resmi dan melihat apakah masalahnya telah teratasi.
Nasir Riley
@blihp apakah Anda menyelesaikan masalah Anda? Saya mengalami yang sama persis ...
nicoco
1
@nicoco apakah solusi yang saya temukan berhasil untuk Anda?
blihp

Jawaban:

10

Saya berakhir di sini karena masalah yang sama, setelah memutakhirkan dari Stretch, audio menghilang. Gejala dan keluaran yang serupa (kartu Nvidia dan suara Intel HDA). Namun, ketika mengikuti instruksi, saya mendapati bahwa saya tidak bisa menjalankan langkah ini:

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

Saya menemukan bahwa pelakunya adalah pemalu:

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

Setelah saya membunuhnya, saya bisa melanjutkan pengeditan /etc/pulse/default.padan semuanya tersentak pada tempatnya. Saya masih tidak yakin apakah masalahnya adalah tenggelamnya PA yang hilang atau timidity yang mengambil alih.

Saya juga mempertimbangkan untuk mengajukan laporan bug, tetapi saya tidak yakin di mana akan lebih tepat. Jika Anda memiliki saran, saya akan dengan senang hati mengikuti petunjuk Anda dan menambahkan dukungan saya ke laporan.

Terima kasih telah berbagi solusinya!

Ntropia
sumber
2
Baru saja menghapus kegetiran dari sistem saya - terima kasih!
dsz
masalah yang persis sama, menghapusnya menyelesaikan masalah, mungkin saya menggunakan timidity di masa lalu, tetapi tidak baru-baru ini, jadi bahkan jika mungkin ada solusi yang lebih tepat, menghapusnya baik-baik saja :)
muni764
Saya tidak menginstalnya di tempat pertama dan masih menghadapi masalah serupa.
Martin Ueding
Dalam kasus saya itu adalah muroardyang mengikat perangkat suara. Pengingat: fuserkemungkinan tidak akan bisa memberi tahu Anda sesuatu yang berguna kecuali Anda ingat menjalankannya sebagai root.
rakslice
FYI: Saya punya masalah yang sama. Dan saya memperbaikinya dengan cara yang sama - namun, fuser -v /dev/snd/*tidak menghasilkan apa-apa. Tetap saya memperbaikinya dengan mencopot timidity!
christianparpart
8

Saya baru saja mengalami masalah ini, dan menghapus Timidity menyelesaikannya. Secara harfiah, ketika paket itu dihapus oleh apt, saya melihat pemberitahuan yang menunjukkan saya memiliki kartu suara (diartikan sebagai perubahan volume).

Debianuser
sumber
2
Persis masalah yang sama di sini juga. Saya seorang Pengembang Debian, jadi saya dapat memberi tahu Anda ke mana harus mencari. Lihat bugs.debian.org/910048 ("timidity: memutakhirkan ke 2.14.0-2 suara pecah melalui pulseaudio")
Steve McIntyre
masalah yang sama, terima kasih
muni764
@SteveMcIntyre Bugnya adalah bugs.debian.org/901148
LatinSuD
Memang, sederhana apt-get purge timiditymenyelesaikan semua masalah saya, setelah mengotak-atik berjam-jam ... Terima kasih banyak telah berbagi solusi Anda.
Clément
Saya memiliki sistem dan timiditytidak diinstal untuk memulai. Masih saya tidak memiliki suara bahkan setelahnya pulseaudio --start. Dan menggunakan aplaysaya mendapatkan beberapa suara.
Martin Ueding
5

Jika ada orang lain yang mengalami hal ini, inilah solusi untuk memaksa PulseAudio menggunakan perangkat ALSA ...

Pertama, konfirmasikan Anda tahu kartu suara dan perangkat yang Anda inginkan dengan memutar audio langsung melalui ALSA:

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

Dalam kasus saya, saya ingin output audio optik berdasarkan pada aplay -loutput saya seperti yang terlihat pada pertanyaan saya di atas:

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

Catat nomor kartu dan perangkat dan tambahkan entri ke /etc/pulse/default.pa(ganti 0,1 dengan apa yang berfungsi untuk Anda pada langkah sebelumnya):

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

Saya menambahkan baris ini tepat sebelum baris .ifexists module-udev-detect.so di file (yaitu di bawah ### Memuat driver audio komentar statis )

Kemudian jalankan yang berikut ini sebagai pengguna sesi desktop Anda login sebagai (yaitu bukan sebagai root):

pulseaudio --kill
pulseaudio --start

Maka Anda harus dapat membuka Pengaturan Suara untuk melihat dan memilih kartu:

masukkan deskripsi gambar di sini

Pada titik ini, Anda harus memutar audio melalui PulseAudio kembali berfungsi. (Sesuatu yang saya perhatikan adalah bahwa pacmd list-cardsakan tetap tidak daftar kartu meskipun sekarang bekerja) Reminder: ini adalah solusi dan bukan jangka memperbaiki panjang jadi pastikan untuk membuat catatan untuk diri sendiri untuk membatalkan ini di beberapa titik di masa depan untuk melihat jika sudah diperbaiki dengan benar. Tapi itu berfungsi audio untuk saat ini.

blihp
sumber
0

Saya hanya punya dummy-sink dan tidak ada audio apa pun setelah debian 9 hingga debian 10 upgrade

aplay -l gagal, melaporkan kesalahan saat membuka 99-pulse.conf

saya membuat /etc/alsa/conf.d/99-pulse.confdengan konten yang diambil dari instalasi 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
    }
]

ini memecahkan masalah saya

nd34567s32e
sumber
File ini sudah ada pada sistem yang telah saya instal dengan Debian 9 dan ditingkatkan ke Debian 10.
Martin Ueding