编辑: 这似乎已经打开了一组规范的命令来开始诊断音频问题。
我使用 Ubuntu 20.04 已经一个多月了。重新启动后,我没有更多的声音和 WiFi。请注意,这与许多其他帖子不同,这些帖子在升级后似乎根本没有声音。在这种情况下,声音仅在重新启动后才停止工作。
至于声音,我似乎没有合适的内核模块 sound,所以我想最有可能的解决方案是让模块可用(似乎我有两个声卡)。我将尝试在以下 (1) 中包含尽可能多的与具有类似问题的大量帖子相关的信息。
我在下面列出(2)我认为在当前修复工作进行中最有用的帖子。
我在下面列出(3)我在草高时检查的其他帖子。
(1)关于我的损坏系统的信息,以及与我在我设法组装的工作系统中看到的内容的比较。
- 没有
/proc/asound
目录。
相对
$ cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0x604b108000 irq 159
1 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xa4000000 irq 17
$ lsmod | grep snd
什么都不输出。
Versus(也与this比较)
$ lsmod | grep snd_hda_intel
snd_hda_intel 53248 10
snd_intel_dspcfg 24576 3 snd_hda_intel,snd_sof_pci,snd_sof_intel_hda_common
snd_hda_codec 131072 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
snd_hda_core 90112 9 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_pcm 106496 9 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
snd 90112 33 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,thinkpad_acpi,snd_soc_core,snd_pcm,snd_rawmidi
- 内核模块
$ dpkg -L linux-modules-$(uname -r) | grep snd
/lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq-dummy.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq-midi-emul.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq-midi-event.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq-midi.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq-virmidi.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/seq/snd-seq.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/snd-compress.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/snd-hrtimer.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/snd-hwdep.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/snd-pcm-dmaengine.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/snd-pcm.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/snd-rawmidi.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/snd-seq-device.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/snd-timer.ko
/lib/modules/5.4.0-40-generic/kernel/sound/core/snd.ko
/lib/modules/5.4.0-40-generic/kernel/sound/drivers/pcsp/snd-pcsp.ko
/lib/modules/5.4.0-40-generic/kernel/sound/pci/snd-ens1370.ko
与完全相同
我如何检查这是否是我需要的?
我如何检查这些是否与上面第 2 项中列出的英特尔对应?
如何加载这些模块?
inxi
$ inxi -SA
System: Host: Hydrus1 Kernel: 5.4.0-40-generic x86_64 bits: 64 Desktop: Gnome 3.36.1 Distro: Ubuntu 20.04 LTS (Focal Fossa)
Audio: Device-1: Intel 6 Series/C200 Series Family High Definition Audio driver: N/A
Device-2: NVIDIA GF104 High Definition Audio driver: N/A
Versus(也与this比较)
$ inxi -SA
System: Host: ViaLactea Kernel: 5.4.0-40-generic x86_64 bits: 64 Console: tty 0 Distro: Ubuntu 20.04 LTS (Focal Fossa)
Audio: Device-1: Intel Cannon Lake PCH cAVS driver: snd_hda_intel
Device-2: NVIDIA GP107GL High Definition Audio driver: snd_hda_intel
Sound Server: ALSA v: k5.4.0-40-generic
lspci
$ lspci -nnk | grep -A 1 Audio 00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04) DeviceName: Onboard Audio Subsystem: Dell 6 Series/C200 Series Chipset Family High Definition Audio Controller [1028:04a4] 00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b4) -- 01:00.1 Audio device [0403]: NVIDIA Corporation GF104 High Definition Audio Controller [10de:0beb] (rev a1) Subsystem: Dell GF104 High Definition Audio Controller [1028:04a4] 03:00.0 Network controller [0280]: Intel Corporation Centrino Ultimate-N 6300 [8086:422b] (rev 35)
相对
$ lspci -nnk | grep -n -A 4 Audio
49:00:1f.3 Audio device [0403]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
50- Subsystem: Lenovo Cannon Lake PCH cAVS [17aa:225f]
51- Kernel driver in use: snd_hda_intel
52- Kernel modules: snd_hda_intel, snd_sof_pci
53-00:1f.4 SMBus [0c05]: Intel Corporation Cannon Lake PCH SMBus Controller [8086:a323] (rev 10)
--
67:01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1)
68- Kernel driver in use: snd_hda_intel
69- Kernel modules: snd_hda_intel
70-70:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader [10ec:525a] (rev 01)
71- Subsystem: Lenovo RTS525A PCI Express Card Reader [17aa:225f]
系统(与完全相同的内核)
$ uname -a Linux Hydrus1 5.4.0-40-generic #44-Ubuntu SMP Tue Jun 23 00:01:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
测试声音
$ aplay -l aplay: device_list:274: no soundcards found...
相对
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC285 Analog [ALC285 Analog]
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
...
lshw
$ lshw -C multimedia
WARNING: you should run this program as super-user.
*-multimedia UNCLAIMED
description: Audio device
product: GF104 High Definition Audio Controller
vendor: NVIDIA Corporation
physical id: 0.1
bus info: pci@0000:01:00.1
version: a1
width: 32 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: latency=0
resources: memory:e0080000-e0083fff
*-multimedia UNCLAIMED
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: 04
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: latency=0
resources: memory:e1e50000-e1e53fff
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
此处引用(注意驱动程序)
$ sudo lshw -C multimedia
*-multimedia
description: Audio device
product: GP104 High Definition Audio Controller
vendor: NVIDIA Corporation
physical id: 0.1
bus info: pci@0000:01:00.1
version: a1
width: 32 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:17 memory:f7080000-f7083fff
alsa
包$ dpkg -l | grep alsa ii alsa-base 1.0.25+dfsg-0ubuntu5 all ALSA driver configuration files ii alsa-tools-gui 1.1.7-1ubuntu1 amd64 GUI based ALSA utilities for specific hardware ii alsa-topology-conf 1.2.2-1 all ALSA topology configuration files ii alsa-ucm-conf 1.2.2-1ubuntu0.1 all ALSA Use Case Manager configuration files ii alsa-utils 1.2.2-1ubuntu1 amd64 Utilities for configuring and using ALSA ii gstreamer1.0-alsa:amd64 1.16.2-4 amd64 GStreamer plugin for ALSA ii libsox-fmt-alsa:amd64 14.4.2+git20190427-2 amd64 SoX alsa format I/O library
插耳机也没有声音。
我没有
timidity-daemon
删除。尝试重新加载
$ sudo alsa force-reload [sudo] password for user1: Unloading ALSA sound driver modules: (none loaded). Loading ALSA sound driver modules: (none to reload).
模组探针
$ grep intel /etc/modprobe.d/alsa-base.conf options snd-intel8x0m index=-2
(2)相关且可能有用的帖子
https://forums.linuxmint.com/viewtopic.php?t=221745
https://ubuntuforums.org/showthread.php?t=1684576
(3)其他相关职位
https://www.alsa-project.org/wiki/Matrix:Module-hda-intel
https://askubuntu.com/a/1244118/226614。最近的帖子,接受的答案。建议使用 appa
进行修复。我不确定这会让事情变得更糟......
https://askubuntu.com/a/1249071/226614。最近贴文。建议使用 sudo setfacl -mu:user1:rw /dev/snd/* 试过这个,没有帮助。
https://askubuntu.com/a/847954/226614。旧帖子,已接受答案。建议安装alsa-firmware-loaders
和alsa-base
. 我不确定这是否仍然适用...
如何为 Creative Labs Audigy2 声卡安装缺失的固件?. 也是旧帖。还建议UNCLAIMED
设备是由于固件问题。
为什么重启后会出现问题?
升级没有声音(18.04 -> 20.04)只有“虚拟输出”
从 Ubuntu 18.04 LTS 升级后,内部扬声器(音频)在 Ubuntu 20.04 LTS 中不起作用
有同样的问题,我刚刚做了:
然后声音又回来了。
但是重启后又没有声音了。
然后我想出了消除胆怯的正确方法:
尝试检查所有依赖项是否正确:
并检查内核模块是否存在:
顺便说一句,解决 alsa/声音问题的更好论坛是 alsa 论坛(alsa-project.org/wiki/Main_Page)。
顺便说一句:有一个漂亮的脚本可以上传调试声音问题所需的所有信息——> wiki.ubuntu.com/Audio/AlsaInfo;您也可以使用
sudo apt install alsa-utils
. 运行脚本alsa-info
,它将帮助您以最小的努力打印所有必要的信息以解决未来的问题。由于缺少内核模块本身,您必须通过以下软件包安装它:
编辑: 在某些情况下,更新内核时避免丢失内核 linux-modules-extra-XX-generic 可能有助于避免将来出现问题。(实际上我后来在新的自动更新后再次遇到了同样的问题,然后确定了丢失的包)。
摘要:我设法
在尝试了很多事情之后,我已经解决了这个问题。除了我损坏的系统S1之外,还有一个类似的可用系统S2是必不可少的。我很幸运能拥有这个,我想否则可能会花费我大量的额外时间。
详细说明上述步骤列表:
在S1中:
在S2中:
我的S1中有前三个
.ko
文件,但没有后四个文件。所以我检查了S2中的所有者包中的最后四个文件。
这与S1中缺少的其他三个文件相同。我检查了一下,这个包没有安装在S1中。
我
apt-get
的包,重新启动,现在一切似乎恢复正常。我的猜测是该软件包在声音工作期间存在,并且由于某种奇怪的原因它被从
dkpg
数据库中卸载(或删除,或......),或者......?笔记:
我
5.4.0-39
在S1中也有内核,并且在修复之前声音在这个内核中也不起作用。原来linux-modules-extra-5.4.0-39-generic
也没有安装。关于(已编译)内核驱动程序与(可加载)内核驱动程序/模块:请参阅this。
请试试这个
试试看,它对我有用
来源:升级没有声音(18.04 -> 20.04)只有“虚拟输出”
我尝试了 Aiden Turner 的解决方案,因为它似乎是潜在危害最小的。当我进行强制重新加载时,我听到扬声器弹出,我的声音设备出现在控制面板中,并且在将音量控制提高到默认静音级别以上后,我有工作声音。
重新启动系统让我回到了虚拟声音的问题,所以我按照上面 YuanW 的帖子禁用了胆怯服务。我的声卡立即可见,这一次它在重新启动后幸免于难。
所以这两种解决方案的组合对我有用。重新安装pulseaudio和alsa-base,重新初始化,然后禁用胆小。有可能实际上只需要第二步,但我无法撤消它,而且它基本上是无害的,所以我将继续整个过程。
在最近一次硬件升级后,我在 Ubuntu 20.04 上遇到了这个声音问题。
进行以下更改可以解决问题,也许它也适合您。
追加行
在文件末尾
/etc/modprob.d/alsa-base.conf
。我有同样的问题,声音设备列表中只有“虚拟输出”。
我检查了
$ modprobe --show-depends snd_hda_intel
并收到进一步的输出:
modprobe: FATAL: Module snd_hda_intel not found in directory /lib/modules/5.11.0-22-generic
我开始检查文件是否存在(根据上面的正确答案)。这些文件存在于以前的内核 - 5.4.x-xx 和 5.8.x-xx。
终于发现5.11内核的声音设备有问题。
然后我干脆在5.8下重启。
如果有人知道如何解决 5.11 内核的问题,请告诉我。上面的建议没有帮助。