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
只读。
更新:
我尝试禁用和,ARPT
只XHC1
保留启用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