标题是不言自明的:全新安装 Debian 11 后,根本没有声音。
电脑送修时电源烧坏了,结果发现主板也被烧坏了,当它返回时,主板的芯片似乎不被 Debian 识别,也不被 Ubuntu 识别(我也尝试安装)。
当我全新安装 Debian 11 时,结果是根本没有声音。没有嘟嘟声,没有噪音,没有嗡嗡声,什么都没有,绝对没有。在“设置”中,我可以看到“虚拟输出”,除此之外什么也没有。播放 .mp3 文件时,均衡器中的音量指示器会移动,但没有声音。
该芯片是Realtek ALC887-VD。我看到互联网上有几种解决此特定硬件的解决方案,但没有一个有效。
由于字符限制,我将把我运行的命令及其结果放在注释中。
我该怎么做才能让 Debian 中的声音再次正常工作?
$ lspci -nnk | grep -A2 音频
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
Subsystem: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
$ 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
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
$ lshw -c 声音
*-multimedia
description: Audio device
product: 6 Series/C200 Series Chipset Family High Definition Audio Controller
vendor: Intel Corporation
physical id: 1b
bus info: pci@0000:00:1b.0
version: 05
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:27 memory:f7c00000-f7c03fff
$ lsmod | grep 's(ou)?nd'
Module Size Used by
snd_seq 86016 0
snd_seq_device 16384 1 snd_seq
snd_hda_codec_hdmi 73728 1
snd_hda_codec_realtek 159744 1
snd_hda_codec_generic 98304 1 snd_hda_codec_realtek
ledtrig_audio 16384 1 snd_hda_codec_generic
snd_hda_intel 57344 4
snd_intel_dspcfg 28672 1 snd_hda_intel
soundwire_intel 45056 1 snd_intel_dspcfg
soundwire_generic_allocation 16384 1 soundwire_intel
snd_soc_core 315392 1 soundwire_intel
snd_compress 32768 1 snd_soc_core
soundwire_cadence 36864 1 soundwire_intel
snd_hda_codec 172032 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core 110592 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep 16384 1 snd_hda_codec
soundwire_bus 90112 3 soundwire_intel,soundwire_generic_allocation,soundwire_cadence
snd_pcm 135168 8 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_compress,snd_soc_core,snd_hda_core
snd_timer 49152 2 snd_seq,snd_pcm
snd 110592 19 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm
soundcore 16384 1 snd
$ 扬声器测试 -c2 -t 波 -D hw:1,0
speaker-test 1.2.4
Playback device is hw:1,0
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)
ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card
Playback open error: -2,Arquivo ou diretório inexistente
$ pactl 统计
Currently in use: 12 blocks containing 111,0 KiB bytes total.
Allocated during whole lifetime: 675722 blocks containing 1,0 GiB bytes total.
Tamanho do cache para amostragem: 24,0 KiB
$ 脉冲音频-vvvv
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operação não permitida
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operação não permitida
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.
D: [pulseaudio] core-util.c: RealtimeKit worked.
I: [pulseaudio] core-util.c: Successfully gained nice level -11.
I: [pulseaudio] main.c: This is PulseAudio 14.2
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -ffile-prefix-map=/build/pulseaudio-eJtUKc/pulseaudio-14.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto
D: [pulseaudio] main.c: Running on host: Linux x86_64 5.10.0-11-amd64 #1 SMP Debian 5.10.92-1 (2022-01-18)
D: [pulseaudio] main.c: Found 4 CPUs.
I: [pulseaudio] main.c: Page size is 4096 bytes
D: [pulseaudio] main.c: Compiled with Valgrind support: no
D: [pulseaudio] main.c: Running in valgrind mode: no
D: [pulseaudio] main.c: Running in VM: no
D: [pulseaudio] main.c: Running from build tree: no
D: [pulseaudio] main.c: Optimized build: yes
D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.
I: [pulseaudio] main.c: Machine ID is c2b85c79587e4109a5887f6571d1d2b1.
I: [pulseaudio] main.c: Using runtime directory /run/user/1000/pulse.
I: [pulseaudio] main.c: Using state directory /home/fernanda/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-14.2/modules.
I: [pulseaudio] main.c: Running in system mode: no
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() falhou.
$ 热熔器-v -u /dev/snd/*
USUÁRIO PID ACESSO COMANDO
/dev/snd/controlC0: fernanda 10038 F.... (fernanda)pulseaudio
/dev/snd/pcmC0D1p: fernanda 10038 F...m (fernanda)pulseaudio
$ alsa-信息
http://alsa-project.org/db/?f=0fcdb88ddbb6177a4ba074c5d38628a493bf0de6
$ 脉冲音频
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() falhou.
$ rm ~/.config/pulse/* && 重新启动
No results
$ echo "选项 snd-hda-intel dmic_detect=0" | sudo tee -a /etc/modprobe.d/alsa-base.conf
No results
$ echo "黑名单 snd_soc_skl" | sudo tee -a /etc/modprobe.d/blacklist.conf
No results
$ sudo usermod -a -G 音频用户名
No results (yes, I've changed USERNAME for my real username before running the command)
我可以通过运行来获得声音:
$ pulseaudio --kill
$ pulseaudio --start
我用这两个命令制作了一个启动脚本,这样我就不必在每次重新启动时记住它们。
但这并没有说明问题的原因。 Debian 11 安装是全新的。至少在理论上,pulseaudio 没有理由不工作。
问题的原因是什么?有人可以给予指导吗?
答案1
我简直不敢相信偶然发现一个临时解决方案是多么简单:
$ pulseaudio --kill
$ pulseaudio --start
瞧!声音再次工作。
我之前已经尝试过pulseaudio --kill
,但我不知道如何重新启动它。
我用这两个命令制作了一个启动脚本,这样我就不必在每次重新启动时记住它们。
但这并没有说明问题的原因。 Debian 11 安装是全新的。至少在理论上,pulseaudio 没有理由不工作。
问题的原因是什么?有人可以给予指导吗?