笔记本电脑在挂起或合上盖子几秒钟后自行唤醒

笔记本电脑在挂起或合上盖子几秒钟后自行唤醒

18.04.1我正在运行内核为 的Ubuntu 4.15.0-29-generic,我的笔记本电脑(Macbookpro retina 15inch,2015 年中MacBookPro11,5)在睡眠几秒钟后自动唤醒。当我查看日志时,\var\log\syslogs唤醒事件显示为:Aug 6 15:51:53 Shire NetworkManager[7444]: <info> [1533595913.5200] manager: sleep: wake requested (sleeping: yes enabled: yes)

我已经查看了所有其他问题和答案,但我的问题仍然存在,如下所示:

下列的这个问题及其答案,输出cat /proc/acpi/wakeup

Device  S-state   Status   Sysfs node
PEG0      S3    *disabled  pci:0000:00:01.0
GFX0      S3    *disabled  pci:0000:01:00.0
PEG1      S3    *disabled  pci:0000:00:01.1
PEG2      S3    *disabled  pci:0000:00:01.2
EC        S4    *disabled  platform:PNP0C09:00
GMUX      S3    *disabled  pnp:00:03
HDEF      S3    *disabled  pci:0000:00:1b.0
RP03      S3    *disabled  pci:0000:00:1c.2
ARPT      S4    *enabled   pci:0000:04:00.0
RP04      S3    *disabled  pci:0000:00:1c.3
XHC1      S3    *enabled   pci:0000:00:14.0
ADP1      S4    *disabled  platform:ACPI0003:00
LID0      S4    *enabled   platform:PNP0C0D:00

我已经将问题归结为ARPT条目。如果我通过查找此条目的 pci ,lspci我会得到04:00.0 Network controller: Broadcom Limited BCM43602 802.11ac Wireless LAN SoC (rev 01)与唤醒由网络引起的日志信息相匹配的结果。

奇怪的是:我使用sudo sh -c "echo ARPT > /proc/acpi/wakeup"禁用唤醒功能ARPT,它会正确地将状态更改为禁用,但当我让笔记本电脑进入睡眠状态时,它仍然会在几秒钟后唤醒!更令人惊讶的是,当它唤醒时,我检查 ,/proc/acpi/wakeup发现ARPT条目已自行恢复为启用状态!请注意,这才不是重启后会发生这种情况,但禁用唤醒条目并暂停后立即发生。似乎笔记本电脑处于睡眠状态时,其他一些脚本一直在改变这种情况。

我尝试过但没有结果的其他方法:

  • 通过 停止网络管理器sudo service netwrok-manager stop,但笔记本电脑仍然被唤醒。
  • 禁用 wifi 电源管理sudo iwconfig wlan0 power off
  • 确保 WLAN 唤醒 (WoWLAN) 已关闭,具体操作如下本文
  • 设为\proc\acpi\wakeup只读。

更新:

我尝试禁用和,ARPTXHC1保留启用LID0状态(笔记本电脑盖),系统仍然会在几秒钟后唤醒。但这次唤醒时,中的设置/proc/acpi/wakeup会保持原样,不会自动恢复。

2018 年 8 月 17 日更新:

使用新内核后,4.15.0-32笔记本电脑在盖子关闭时不会再被唤醒,但当盖子打开并进入睡眠状态时,它仍会自动唤醒。至少现在我可以将笔记本电脑放在背包中而不必担心电池耗尽,而且这显然是内核问题,我怀疑我能否在不花费大量时间的情况下解决这个问题。

答案1

2018 年 8 月 8 日更新

内核4.15.0-30已发布。挂起后立即恢复的问题仍然存在。内核4.13.0-36仍能可靠运行。

要尝试的其他步骤

我在 上遇到了同样的问题4.15.0-29-generic。我刚刚安装了 nVidia 驱动程序 384.130,并假设它与此有关。我按照您的所有步骤操作,并修改了:

$ paste <(ls /sys/bus/usb/devices/*/power/wakeup) <(cat /sys/bus/usb/devices/*/power/wakeup) | column -s $'\t' -t
/sys/bus/usb/devices/1-1.4.3/power/wakeup  disabled
/sys/bus/usb/devices/1-1.4/power/wakeup    disabled
/sys/bus/usb/devices/1-1/power/wakeup      disabled
/sys/bus/usb/devices/1-4/power/wakeup      disabled
/sys/bus/usb/devices/1-5/power/wakeup      enabled
/sys/bus/usb/devices/1-9/power/wakeup      disabled
/sys/bus/usb/devices/usb1/power/wakeup     disabled
/sys/bus/usb/devices/usb2/power/wakeup     disabled
/sys/bus/usb/devices/usb3/power/wakeup     disabled
/sys/bus/usb/devices/usb4/power/wakeup     disabled

USB 1-5是 WiFi/蓝牙卡:

$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 009: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 007: ID 1bcf:2b8c Sunplus Innovation Technology Inc. 
Bus 001 Device 005: ID 0cf3:e301 Atheros Communications, Inc. 
Bus 001 Device 003: ID 187c:0528 Alienware Corporation 
Bus 001 Device 008: ID 413c:9016 Dell Computer Corp. 
Bus 001 Device 006: ID 2109:2812 VIA Labs, Inc. VL812 Hub
Bus 001 Device 004: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS
Bus 001 Device 002: ID 2109:2812 VIA Labs, Inc. VL812 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

您也可以检查一下。

拔掉所有电源

英特尔建议拔掉所有东西——所有 USB、网线等,以调试挂起。还有其他可以尝试的方法,列在英特尔的文章

内核4.13.0-36工作了!

我重新编译了我的nvhda.ko内核4.13.0-36-generic并发现现在通过菜单暂停至少可以起作用。

  • 如果您有较旧的内核版本(例如4.15.0-24在高级 Grub 菜单启动中),请使用该版本。
  • 如果你有4.13.0-36这样的引导的话。
  • 如果你没有旧版本,你可以使用以下方法安装sudo apt install linux-image-4.15.0-24*
  • 如果你使用 DKMS,你还需要使用sudo apt install linux-headers-4.15.0-24*
  • 我没有看到存储库中可用的4.15.0-25内核。4.15.0-28

相关内容