Tôi đã nhận thấy một sự cố xảy ra vào mùa hè sau khi nâng cấp từ bản kiểm tra Debian 9 ổn định lên Debian 10: PulseAudio không còn nhận ra các thiết bị âm thanh Intel HDA của tôi nữa. Vào thời điểm đó, tôi có thể chuyển sang âm thanh của màn hình được kết nối qua nVidia HDMI vì vậy tôi đã khắc phục được sự cố với hy vọng rằng bản cập nhật trong tương lai sẽ khắc phục được. Họ không có. Nhanh chóng chuyển tiếp một vài tháng và tôi đã sắp xếp lại không gian làm việc của mình và bây giờ cần phải làm cho Intel HDA hoạt động trở lại.
Đây là những gì tôi đã nhìn cho đến nay ...
Kiểm tra Debian 10
Nhân nhìn thấy nó:
# 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 nhìn thấy nó:
# 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
kiểm tra loa phát âm thanh bình thường như aplay -D mặc định: CARD = PCH /usr/share/sound/alsa/Front_Left.wav
Tuy nhiên PulseAudio hoàn toàn không thấy thiết bị:
$ 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"
Khi tôi đi đến Cài đặt âm thanh, tất cả những gì tôi thấy là thiết bị Dummy Output. (Các thiết bị nVidia không còn được liệt kê ở đây vì sắp xếp lại mọi thứ, tôi đang sử dụng một màn hình khác không có âm thanh nên hiện tại không có thiết bị âm thanh HDMI nào được kết nối.)
Tôi đã cố gắng xóa cấu hình PulseAudio với suy nghĩ rằng tôi có thể có một số hành trình di sản xung quanh thông qua:
rm ~/.pulse/* ~/.config/pulse/*
Debian 9 Ổn định
Tôi có một phân vùng khác trên máy này vẫn chạy Debian 9 ổn định, trong đó Intel HDA hoạt động trong PulseAudio và dường như có sự khác biệt trong trình điều khiển ALSA so với Debian 10, vì vậy, dưới đây là những khác biệt tôi nhận thấy ...
# 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
Và tất nhiên, Debian 9 thấy Intel HDA trong 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>
Vì vậy, câu hỏi rõ ràng là: làm cách nào để âm thanh Intel HDA hoạt động trở lại trong PulseAudio với Debian 10? Đây có phải là thứ tôi có thể khắc phục từ quan điểm cấu hình hay đây là sự cố trình điều khiển cần được khắc phục bởi các nhà bảo trì ALSA hoặc PulseAudio?