Vic*_*ier 14 sound speakers suspend alsa
我在 Ubuntu 20.04 上有一台小米笔记本专业笔记本电脑(18.04 上有同样的问题)。
笔记本电脑进入睡眠/休眠模式后,扬声器没有声音。系统设置(设置>声音)正在检测正在播放的音乐,睡眠后耳机工作正常。该问题仅与笔记本电脑中集成的扬声器有关。作为快速修复,我需要重新启动才能让扬声器再次工作。
我尝试了以下选项但没有成功:
sudo alsa force-reload
pavucontrol
也安装在我的笔记本电脑上如果您有任何解决问题的想法,请告诉我。
我相信它与驱动程序有关,但我不确定如何解决此问题。
请在下面找到有关硬件的信息。
aplay -l
:
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC256 Analog [ALC256 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
Run Code Online (Sandbox Code Playgroud)
cat /proc/asound/cards
:
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xb4214000 irq 147
Run Code Online (Sandbox Code Playgroud)
lspci -nnk | grep -A2 Audio
:
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:02c8]
Subsystem: Xiaomi Device [1d72:1905]
Kernel driver in use: snd_hda_intel
Run Code Online (Sandbox Code Playgroud)
pacmd list-cards
:
1 card(s) available.
index: 0
name: <alsa_card.pci-0000_00_1f.3>
driver: <module-alsa-card.c>
owner module: 7
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xb4214000 irq 147"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:1f.3"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "02c8"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Run Code Online (Sandbox Code Playgroud)
谢谢。
输入这个命令:
脉冲音频-k
每次您的计算机进入睡眠状态时。
可能与此错误有关: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1888598
我有一个成功的故事(感谢Night Str)!
相同的硬件。睡眠模式后的情况相同。首先获得root权限:
$ sudo su -
Run Code Online (Sandbox Code Playgroud)
比发现您的设备:
# lspci -vvv
...
00:1f.3 Audio device: Intel Corporation Device 02c8 (prog-if 80)
Subsystem: Xiaomi Device 1963
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 148
Region 0: Memory at c4214000 (64-bit, non-prefetchable) [size=16K]
Region 4: Memory at c4000000 (64-bit, non-prefetchable) [size=1M]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_sof_pci
...
Run Code Online (Sandbox Code Playgroud)
所以,我的设备 ID 是 00:1f.3。让我们检查一下:
# ls /sys/bus/pci/devices/ | grep 00:1f.3
0000:00:1f.3
Run Code Online (Sandbox Code Playgroud)
这是诀窍:
# echo 1 > /sys/bus/pci/devices/0000:00:1f.3/remove
# echo 1 > /sys/bus/pci/rescan
Run Code Online (Sandbox Code Playgroud)
第一个命令断开驱动程序与设备的连接,并从树中分离设备。驱动程序(snd_hda_intel)没有卸载,只是断开连接。第二个命令重新扫描 pci 设备。
结果,声音又出现了。
小智 5
我有同样的问题。我找到了一个解决方案,但它在 kde 中不起作用,我不知道为什么。
解决方案:
echo 1 > /sys/bus/pci/devices/<device_address>/remove
sleep 1
echo 1 > /sys/bus/pci/rescan
Run Code Online (Sandbox Code Playgroud)
要搜索设备地址: lspci | grep Audio
更新:
唤醒后应用命令的解决方案:
您可以创建新文件:/lib/systemd/system-sleep/99_restart_sound
并插入以下源代码:
#!/bin/sh
case "$1" in
post)
DEVICE_ID=`lspci -D |grep Audio|awk '{print $1}'`
echo 1 > /sys/bus/pci/devices/${DEVICE_ID}/remove
sleep 1
echo 1 > /sys/bus/pci/rescan
esac
Run Code Online (Sandbox Code Playgroud)
该文件必须是可执行的:
sudo chmod +x /lib/systemd/system-sleep/99_restart_sound
Run Code Online (Sandbox Code Playgroud)