问题:
内置扬声器没有声音,无法连接蓝牙耳机。最初在检查声音设置时有一个虚拟输出,在尝试了下面解释的各种事情之后,声音设置现在只是空的。
同时我注意到暂停后我无法唤醒笔记本电脑。如果我按 super+L 并锁定它,那么它会正常唤醒 - 但是如果经过足够的时间并且它进入休眠状态,或者它静止一段时间并进入“自动暂停”,那么我无法唤醒它. 我看到键盘亮了起来,甚至可能听到了风扇的声音,但屏幕仍然是黑色的。该命令还pm-suspend
使笔记本电脑冻结,我需要按住电源按钮进行手动重启。我有足够的空间进行交换,并且一切都运行良好大约一年。
所有的问题都是同时开始的,似乎是在一个规律sudo apt-get update
之后sudo apt-get upgrade
。我经常运行这些,到目前为止还没有问题。我在 Lenovo x1 Carbon 7th gen 上运行内核5.3.0-42-generic的Ubuntu 18.04.4 LTS 。alsamixer 的声音规格是:
Card: HDA Intel PCH
Chip: Realtek ALC285
我试过的:
首先,我想提一下,各种论坛上存在很多类似的问题。然而,没有人同时提到休眠/挂起和声音问题。我已经阅读了很多帖子并尝试了很多建议。正如我将解释的那样,我对我的问题有了更多的了解,但无法解决它。作为对我的问题的额外阐述,我发现了一些最相关的帖子:无法重新安装 pulseaudio,依赖错误,PulseAudio bug,
最初我卸载了pulseaudio、alsa-utils、alsa-base、linux-sound-base,然后当我尝试重新安装这些软件包时,系统提示我一条关于libpulse0和未满足的依赖项的消息:
pulseaudio : Depends: libpulse0 (= 1:11.1-1ubuntu7.4) but 1:11.1-1ubuntu7.5 is installed
如果我然后尝试安装一些其他软件包,例如 alsa-utils,然后尝试删除任何软件包,它会告诉我许多其他重要的软件包也将被删除。我自然中止了这个过程。同样在这里,我发现了很多类似问题的类似帖子。然后在尝试了谷歌搜索的各种建议后,没有解决我的问题,而是“虚拟输出”在某个时候变成了......好吧什么也没有。现在系统对声音向上/向下按钮没有响应,并且音轨条看起来像这样:屏幕右上角的音轨条
然后我终于来到这篇文章并执行命令:
apt install libpulse-mainloop-glib0=1:11.1-1ubuntu7.4 libpulse0=1:11.1-1ubuntu7.4 libpulsedsp=1:11.1-1ubuntu7.4 pulseaudio=1:11.1-1ubuntu7.4 pulseaudio-module-bluetooth=1:11.1-1ubuntu7.4 pulseaudio-utils=1:11.1-1ubuntu7.4
虽然它并没有完全解决我的问题,但我至少回到了“虚拟输出”而不是什么都没有——但这意味着我现在可以连接我的蓝牙耳机,它工作得很好。在此期间,我没有测试暂停是否也能正常工作(我想一次只关注一个问题......)。
然后我尝试了其他帖子的建议,进入 BIOS 关闭音频,启动进入 Ubuntu,然后重新启动,再次进入 BIOS 并打开音频(但保持麦克风关闭!),然后启动进入 Ubuntu。
这实际上有效(有点),并且我的声卡被识别并且扬声器工作 - 但是如果我然后返回并在 BIOS 中打开麦克风,那么我们又回到了同样的问题。我可以始终如一地重现这种效果。我不需要先关闭音频,只要我在 BIOS 中打开麦克风,我的声音就可以正常工作了。我注意到,在麦克风关闭且声音正常的情况下——我什至可以毫无问题地挂起:pm-suspend 命令可以正常工作而不会冻结。这些东西到底有什么关系?此外
systemctl suspend
按预期工作正常,但systemctl hibernate
只是关闭笔记本电脑而不存储会话中的任何内容。
简单地在 BIOS 中关闭麦克风当然不是一个可行的解决方法,它也不能像以前那样完全工作(关于休眠、蓝牙等)。所以接下来我尝试的是关注这篇文章:
sudo chown -R $<USERNAME>:$<USERNAME> $HOME/
这显然是一个很大的错误!突然我失去了 sudo 权限,并且没有权限在终端中以 sudo 运行任何东西。我是这台笔记本电脑的唯一用户。我发现这篇文章建议启动到恢复模式并在终端中执行以下命令
usermod -a -G sudo <username>
这完美地工作并恢复了我的 sudo 权利。然而问题并没有解决,我们只是回到了起点。我终于确保再次安装所有驱动程序和相关软件包并保持最新状态:
sudo apt-get install build-essential linux-headers-`uname -r` alsa-base alsa-firmware-loaders alsa-oss alsa-source alsa-tools alsa-tools-gui alsa-utils alsamixergui
我还尝试重新安装内核:
sudo apt-get install --reinstall linux-image-5.3.0-42-generic
成功没有问题,但也没有解决问题。
我也尝试了本指南中的所有步骤,但没有运气,而且该论坛提供了更多建议 -
相关命令输出:
以下是其他用户在类似问题中被询问的命令的一些终端输出:
sudo lspci -vv | grep -i audio
00:1f.3 Audio device: Intel Corporation Device 9dc8 (rev 11) (prog-if 80)
sudo dmesg | grep -i audio
[ 0.290640] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[ 6.483587] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 6.505430] skl_hda_dsp_generic skl_hda_dsp_generic: Unsupported HDAudio/iDisp configuration found
但如果我在 BIOS 中关闭麦克风运行它,我会得到:
[ 0.290463] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[ 5.484223] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 5.553378] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC285: line_outs=2 (0x14/0x17/0x0/0x0/0x0) type:speaker
[ 5.553380] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 5.553382] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 5.553383] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
[ 5.553384] snd_hda_codec_realtek hdaudioC0D0: inputs:
[ 5.553385] snd_hda_codec_realtek hdaudioC0D0: Mic=0x19
aplay -l
aplay: device_list:270: no soundcards found...
如果我在 BIOS 中关闭麦克风时运行相同,那么我得到
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC285 Analog [ALC285 Analog]
Subdevices: 1/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
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
pacmd list-cards
No PulseAudio daemon running, or not running as session daemon.
如果我在 BIOS 中关闭麦克风的情况下运行相同的操作,那么我会收到一条长消息,其中包含大量以开头的信息
1 card(s) available
pavucontrol
opens up window with "Connection to PulseAudio failed. Automatic retry in 5s ..."
当麦克风在 BIOS 中关闭时,同样的事情可以正常工作。
sudo modprobe -v snd-hda-intel
Returns nothing
在 BIOS 中关闭麦克风时也是如此。
当前状态:
现在我回到了我开始的地方,对我的问题有了更多的了解,但是没有什么想法了。令我难以置信的是,我可以找到很多类似的帖子和遇到相同问题的人。然而,有些帖子可以追溯到 2014-2016 年,而有些帖子是最近的。对我来说,这使得我的问题不太可能源于定期更新/升级程序 - 但是我没有对我的系统进行任何重大更改,并且在做普通工作时问题来得非常突然(回复电子邮件等,对系统没有任何干扰)。
我使用 Windows10 进行双启动,这里的音频按预期工作。如果我从 live-usb 运行 Ubuntu,音频也可以按预期工作。
最后,总的来说,我对 Ubuntu 和 Linux 还是很陌生,所以请耐心等待我可能需要用比简单的单行线更多的东西来解释。
这个最近的问题与我的相似,是在我做这个之前几分钟发布的。它有一个答案表明它与内核版本 5.3.42 相关。事实上,如果我使用 5.3.40 一切正常。任何关于为什么会出现这些问题的评论或信息,或者如何使用内核 5.3.42 来修复它们仍然是受欢迎的。目前的解决方案似乎是简单地回滚内核版本并推迟更新,直到这些问题得到解决。
通过在 GRUB 菜单中选择 Ubuntu 的高级选项,可以快速测试此“修复”是否适合您。如果您安装了其他内核,请选择不同的内核。否则有很多安装新内核版本的指南。
我希望这篇文章仍然可以与可能处于相同情况的其他人相关 - 也许其他人也看过许多其他建议但没有运气。
更新
出于某种原因,在我的情况下,仅仅将默认内核更改为
/etc/default/grub
像 5.3.0-40 这样的旧功能版本是不够的。即使在update-grub
. 我最终做的是完全删除有故障的内核: