我有一台戴尔 G3 15。运行 Xubuntu 18.04。在 2020 年 2 月 26/27 日之前,一切都运行正常。此后音频停止工作,我只在混音器中看到虚拟输出。我猜当时有一个更新。我认为笔记本电脑有 ALC3204 声卡。我发现,如果我插入 hdmi 显示器,我就可以通过 hdmi 播放音频。
我尝试过的事情:
- 重新安装 Pulse Audio 并重新启动。
- 已禁用安全启动。
- 打开终端并运行 sudo apt-get install pavucontrol pavucontrol 然后进入配置文件以将配置设置为模拟立体声输出,却发现“虚拟输出”再次成为唯一的选项。
- 打开终端并运行 sudo alsa force-reload。
- pulseaudio -k && sudo alsa force-reload 没有效果。
- BIOS -> 禁用音频 -> 启动至 Ubuntu -> 重新启动 -> BIOS -> 启用音频 -> 启动至 Ubuntu 不起作用。我仍然将“虚拟输出”作为唯一的声音输出选项。
- 我访问了戴尔网站,查看是否可以下载 Realtek ALC3204 的新驱动程序,但我在网站上找到的唯一驱动程序仅适用于 Windows 10。
- 在 /etc/modprobe.d/alsa-base.conf 中添加了“options snd-hda-intel model=headset-micprobe_mask=0x103”,顺便说一下,这会导致重启后 hdmi 音频停止工作。因此,如果我这样做,无论我做什么,都没有音频。
- 我试过 USB 音频“卡”,它运行正常。
- 我刚刚在 /etc/default/grub 中的 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash mem_sleep_default=deep" 行中添加了 snd_hda_intel.dmic_detect=0,然后运行 update-grub 并重新启动。耳机插孔现在可以用了,但扬声器和麦克风仍然不工作。
一些输出
G3-3590:~$ aplay -L
default
Playback/recording through the PulseAudio sound server
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
dmix:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct sample mixing device
dsnoop:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct sample snooping device
hw:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Direct hardware device without any conversions
plughw:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
Hardware device with all software conversions
G3-3590:~$ sudo inxi -Fxz
System: Host: plakkies-G3-3590 Kernel: 5.3.0-46-generic x86_64
bits: 64 gcc: 7.5.0
Desktop: Xfce 4.12.3 (Gtk 2.24.31) Distro: Ubuntu 18.04.4 LTS
Machine: Device: laptop System: Dell product: G3 3590 serial: <filter>
Mobo: Dell model: 061RYD v: A00 serial: <filter>
UEFI: Dell v: 1.6.0 date: 08/08/2019
Battery BAT0: charge: 46.1 Wh 100.0% condition: 46.1/51.0 Wh (90%)
model: LGC-LGC4.474 DELL 415CG98 status: Full
CPU: 6 core Intel Core i7-9750H (-MT-MCP-)
arch: Skylake rev.10 cache: 12288 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 31199
clock speeds: max: 4500 MHz 1: 1370 MHz 2: 3619 MHz 3: 4391 MHz
4: 3604 MHz 5: 3808 MHz 6: 3193 MHz 7: 4152 MHz 8: 3590 MHz
9: 3847 MHz 10: 3612 MHz 11: 3615 MHz 12: 3585 MHz
Graphics: Card-1: Intel Device 3e9b bus-ID: 00:02.0
Card-2: NVIDIA Device 2191 bus-ID: 01:00.0
Display Server: X.Org 1.20.5
drivers: modesetting,nvidia (unloaded: fbdev,vesa,nouveau)
Resolution: [email protected]
OpenGL: renderer: GeForce GTX 1660 Ti with Max-Q Design/PCIe/SSE2
version: 4.6.0 NVIDIA 435.21 Direct Render: Yes
Audio: Card-1 Intel Cannon Lake PCH cAVS
driver: sof-audio-pci bus-ID: 00:1f.3
Card-2 NVIDIA Device 1aeb driver: snd_hda_intel bus-ID: 01:00.1
Sound: Advanced Linux Sound Architecture v: k5.3.0-46-generic
G3-3590:~$ dmesg |grep audio
[ 3.555373] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[ 3.640969] sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
[ 3.640974] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[ 3.641097] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[ 3.645485] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 3.649680] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[ 3.649682] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[ 3.701574] sof-audio-pci 0000:00:1f.3: Direct firmware load for intel/sof/sof-cfl.ri failed with error -2
[ 3.701577] sof-audio-pci 0000:00:1f.3: error: request firmware intel/sof/sof-cfl.ri failed err: -2
[ 3.701580] sof-audio-pci 0000:00:1f.3: error: failed to load DSP firmware -2
[ 3.701945] sof-audio-pci 0000:00:1f.3: error: sof_probe_work failed err: -2
[ 3.925713] snd_hda_codec_generic hdaudioC0D0: autoconfig for Generic: line_outs=0 (0x0/0x0/0x0/0x0/0x0) type:line
[ 3.925716] snd_hda_codec_generic hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 3.925717] snd_hda_codec_generic hdaudioC0D0: hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 3.925717] snd_hda_codec_generic hdaudioC0D0: mono: mono_out=0x0
[ 3.925718] snd_hda_codec_generic hdaudioC0D0: dig-out=0x7/0x0
[ 3.925718] snd_hda_codec_generic hdaudioC0D0: inputs:
[ 4.755902] usbcore: registered new interface driver snd-usb-audio
感谢您的任何帮助,您可以提供。
答案1
额外的内核参数可能有助于查看音频损坏。
以 root 身份打开 /etc/default/grub 并将“snd_hda_intel.dmic_detect=0”添加到以下行:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash snd_hda_intel.dmic_detect=0"
然后执行
grub-mkconfig -o /boot/grub/grub.cfg
在终端并重新启动。
答案2
在一些帮助下找到了答案。我问了一个比我更了解的人,他指出了这一点。如何使用 HDA 卡获取声音?
它解决了这个问题。
如果该链接消失,请按照以下步骤操作。
以 root 身份打开 alsa-base.conf - 例如:
sudo gedit /etc/modprobe.d/alsa-base.conf
并在文件末尾添加以下几行
options snd-hda-intel single_cmd=1
options snd-hda-intel probe_mask=1
options snd-hda-intel model=basic