从醒来
$ sudo pm-suspend
导致异常行为取决于笔记本电脑是否连接到外部电源。
以下场景已经过测试可重现:
- 使用交流电源时挂起,唤醒。结果:正常恢复。
- 电池供电时挂起,唤醒。结果:完全重启。
- 使用交流电源时挂起,断开交流电源,唤醒。结果:完全重启。
- 在交流电源上挂起,断开交流电源,重新连接交流电源,唤醒。结果:完全重启。
- 电池供电时挂起,连接交流电源,唤醒。结果:完全重启。
编辑 1:“完全重启”不会跟随干净关闭,启动期间 fsck 运行等证明了这一点。我不相信这是预期的行为。
你能,善良的互联网,请帮助诊断这个问题吗?
基本调试信息如下。请让我知道我可以提供哪些进一步的调试信息。
System: Ubuntu 16.04 LTS
Machine: Asus K501UX
Video Driver: xserver-xorg-video-nouveau
Video Card: NVIDIA GeForce GTX 950M
(使用专有的 nvidia 驱动程序会导致加载驱动程序后出现空白屏幕。)
$ uname -a
Linux robyn-xenail 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
还有两条信息:
- 这个问题过去不存在。我不清楚是什么导致了它的发作。加载 Linux 内核版本 4.2.0-27(我目前安装的最旧版本)并不能解决问题。
我不怀疑这是由 pm-suspend 启动的挂起过程的问题,而是与某些电源设置(acpi 等)有关。我已为上述案例 1的一个实例附加了日志 (/var/log/pm-suspend.log.1) 。对于所有其他情况,日志是相同的(模时间戳等)到该行
2017 年 2 月 15 日星期三 22:38:12 EST:执行暂停
,并且日志的其余部分丢失,即机器永远不会“唤醒”,而是重新启动。
*** 开始日志文件:
Initial commandline parameters:
Wed Feb 15 22:38:11 EST 2017: Running hooks for suspend.
Running hook /usr/lib/pm-utils/sleep.d/000kernel-change suspend suspend:
/usr/lib/pm-utils/sleep.d/000kernel-change suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/000record-status suspend suspend:
/usr/lib/pm-utils/sleep.d/000record-status suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/00logging suspend suspend:
Linux robyn-xenial 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Module Size Used by
drbg 32768 1
ansi_cprng 16384 0
ctr 16384 1
ccm 20480 1
rfcomm 69632 0
bbswitch 16384 0
bnep 20480 2
binfmt_misc 20480 1
nls_iso8859_1 16384 1
joydev 20480 0
i2c_designware_platform 16384 0
i2c_designware_core 20480 1 i2c_designware_platform
asus_nb_wmi 24576 0
asus_wmi 28672 1 asus_nb_wmi
sparse_keymap 16384 1 asus_wmi
uvcvideo 90112 0
arc4 16384 2
intel_rapl 20480 0
videobuf2_vmalloc 16384 1 uvcvideo
videobuf2_memops 16384 1 videobuf2_vmalloc
videobuf2_v4l2 28672 1 uvcvideo
x86_pkg_temp_thermal 16384 0
intel_powerclamp 16384 0
iwlmvm 311296 0
coretemp 16384 0
videobuf2_core 36864 2 uvcvideo,videobuf2_v4l2
snd_soc_skl 49152 0
snd_soc_skl_ipc 32768 1 snd_soc_skl
snd_hda_ext_core 28672 1 snd_soc_skl
snd_soc_sst_ipc 16384 1 snd_soc_skl_ipc
mac80211 737280 1 iwlmvm
snd_soc_sst_dsp 53248 1 snd_soc_skl_ipc
snd_soc_core 212992 1 snd_soc_skl
v4l2_common 16384 1 videobuf2_v4l2
snd_compress 20480 1 snd_soc_core
kvm_intel 172032 0
ac97_bus 16384 1 snd_soc_core
snd_hda_codec_hdmi 53248 1
kvm 540672 1 kvm_intel
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_hda_codec_conexant 24576 1
snd_hda_codec_generic 77824 1 snd_hda_codec_conexant
videodev 176128 4 uvcvideo,v4l2_common,videobuf2_core,videobuf2_v4l2
irqbypass 16384 1 kvm
dw_dmac_core 24576 1 snd_soc_sst_dsp
crct10dif_pclmul 16384 0
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
aesni_intel 167936 2
media 24576 2 uvcvideo,videodev
snd_hda_intel 40960 3
aes_x86_64 20480 1 aesni_intel
snd_hda_codec 135168 4 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel
lrw 16384 1 aesni_intel
gf128mul 16384 1 lrw
iwlwifi 200704 1 iwlmvm
snd_hda_core 73728 7 snd_hda_ext_core,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_soc_skl
snd_hwdep 16384 1 snd_hda_codec
glue_helper 16384 1 aesni_intel
btusb 45056 0
hci_uart 77824 0
snd_pcm 106496 8 snd_hda_ext_core,snd_soc_core,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_soc_skl,snd_pcm_dmaengine,snd_hda_core
btrtl 16384 1 btusb
snd_seq_midi 16384 0
snd_seq_midi_event 16384 1 snd_seq_midi
snd_rawmidi 32768 1 snd_seq_midi
btbcm 16384 2 btusb,hci_uart
btqca 16384 1 hci_uart
snd_seq 69632 2 snd_seq_midi_event,snd_seq_midi
snd_seq_device 16384 3 snd_seq,snd_rawmidi,snd_seq_midi
ablk_helper 16384 1 aesni_intel
snd_timer 32768 2 snd_pcm,snd_seq
cfg80211 565248 3 iwlwifi,mac80211,iwlmvm
snd 81920 19 snd_soc_core,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_compress
mei_me 36864 0
btintel 16384 2 btusb,hci_uart
input_leds 16384 0
cryptd 20480 3 ghash_clmulni_intel,aesni_intel,ablk_helper
soundcore 16384 1 snd
bluetooth 520192 31 bnep,btbcm,btqca,btrtl,btusb,hci_uart,rfcomm,btintel
mei 98304 1 mei_me
elan_i2c 36864 0
serio_raw 16384 0
shpchp 36864 0
idma64 20480 0
virt_dma 16384 1 idma64
processor_thermal_device 16384 0
intel_lpss_pci 16384 0
intel_soc_dts_iosf 16384 1 processor_thermal_device
int3403_thermal 16384 0
tpm_crb 16384 0
intel_lpss_acpi 16384 0
intel_lpss 16384 2 intel_lpss_pci,intel_lpss_acpi
int3402_thermal 16384 0
int3400_thermal 16384 0
mac_hid 16384 0
acpi_thermal_rel 16384 1 int3400_thermal
int340x_thermal_zone 16384 3 int3402_thermal,processor_thermal_device,int3403_thermal
acpi_pad 24576 0
parport_pc 32768 0
ppdev 20480 0
lp 20480 0
parport 49152 3 lp,ppdev,parport_pc
autofs4 40960 2
hid_generic 16384 0
usbhid 49152 0
mxm_wmi 16384 0
i915_bpo 1302528 5
intel_ips 20480 1 i915_bpo
i2c_algo_bit 16384 1 i915_bpo
drm_kms_helper 155648 1 i915_bpo
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
drm 364544 6 i915_bpo,drm_kms_helper
r8169 81920 0
ahci 36864 4
libahci 32768 1 ahci
mii 16384 1 r8169
i2c_hid 20480 0
hid 118784 3 i2c_hid,hid_generic,usbhid
wmi 20480 2 mxm_wmi,asus_wmi
pinctrl_sunrisepoint 28672 0
pinctrl_intel 20480 1 pinctrl_sunrisepoint
video 40960 2 i915_bpo,asus_wmi
fjes 28672 0
total used free shared buff/cache available
Mem: 12193548 1565912 8941824 423648 1685812 9866024
Swap: 26214396 0 26214396
/usr/lib/pm-utils/sleep.d/00logging suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/00powersave suspend suspend:
/usr/lib/pm-utils/sleep.d/00powersave suspend suspend: success.
Running hook /etc/pm/sleep.d/10_grub-common suspend suspend:
/etc/pm/sleep.d/10_grub-common suspend suspend: success.
Running hook /etc/pm/sleep.d/10_unattended-upgrades-hibernate suspend suspend:
/etc/pm/sleep.d/10_unattended-upgrades-hibernate suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/40inputattach suspend suspend:
/usr/lib/pm-utils/sleep.d/40inputattach suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/50unload_alx suspend suspend:
/usr/lib/pm-utils/sleep.d/50unload_alx suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/60_wpa_supplicant suspend suspend:
Selected interface 'p2p-dev-wlan0'
OK
/usr/lib/pm-utils/sleep.d/60_wpa_supplicant suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/75modules suspend suspend:
/usr/lib/pm-utils/sleep.d/75modules suspend suspend: not applicable.
Running hook /usr/lib/pm-utils/sleep.d/90clock suspend suspend:
/usr/lib/pm-utils/sleep.d/90clock suspend suspend: not applicable.
Running hook /usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend:
/usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/95anacron suspend suspend:
/usr/lib/pm-utils/sleep.d/95anacron suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/95hdparm-apm suspend suspend:
/usr/lib/pm-utils/sleep.d/95hdparm-apm suspend suspend: not applicable.
Running hook /usr/lib/pm-utils/sleep.d/95led suspend suspend:
/usr/lib/pm-utils/sleep.d/95led suspend suspend: not applicable.
Running hook /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend:
Kernel modesetting video driver detected, not using quirks.
/usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/99video suspend suspend:
kernel.acpi_video_flags = 0
/usr/lib/pm-utils/sleep.d/99video suspend suspend: success.
Running hook /etc/pm/sleep.d/novatel_3g_suspend suspend suspend:
/etc/pm/sleep.d/novatel_3g_suspend suspend suspend: success.
Wed Feb 15 22:38:12 EST 2017: performing suspend
Wed Feb 15 22:38:18 EST 2017: Awake.
Wed Feb 15 22:38:18 EST 2017: Running hooks for resume
Running hook /etc/pm/sleep.d/novatel_3g_suspend resume suspend:
/etc/pm/sleep.d/novatel_3g_suspend resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/99video resume suspend:
/usr/lib/pm-utils/sleep.d/99video resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler resume suspend:
/usr/lib/pm-utils/sleep.d/98video-quirk-db-handler resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/95led resume suspend:
/usr/lib/pm-utils/sleep.d/95led resume suspend: not applicable.
Running hook /usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend:
/dev/sda:
setting Advanced Power Management level to 0xfe (254)
APM_level = 254
/usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/95anacron resume suspend:
/usr/lib/pm-utils/sleep.d/95anacron resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/94cpufreq resume suspend:
/usr/lib/pm-utils/sleep.d/94cpufreq resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/90clock resume suspend:
/usr/lib/pm-utils/sleep.d/90clock resume suspend: not applicable.
Running hook /usr/lib/pm-utils/sleep.d/75modules resume suspend:
Reloaded unloaded modules.
/usr/lib/pm-utils/sleep.d/75modules resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/60_wpa_supplicant resume suspend:
Selected interface 'p2p-dev-wlan0'
OK
/usr/lib/pm-utils/sleep.d/60_wpa_supplicant resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/50unload_alx resume suspend:
/usr/lib/pm-utils/sleep.d/50unload_alx resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/40inputattach resume suspend:
/usr/lib/pm-utils/sleep.d/40inputattach resume suspend: success.
Running hook /etc/pm/sleep.d/10_unattended-upgrades-hibernate resume suspend:
/etc/pm/sleep.d/10_unattended-upgrades-hibernate resume suspend: success.
Running hook /etc/pm/sleep.d/10_grub-common resume suspend:
/etc/pm/sleep.d/10_grub-common resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/00powersave resume suspend:
/usr/lib/pm-utils/sleep.d/00powersave resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/00logging resume suspend:
/usr/lib/pm-utils/sleep.d/00logging resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/000record-status resume suspend:
/usr/lib/pm-utils/sleep.d/000record-status resume suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/000kernel-change resume suspend:
/usr/lib/pm-utils/sleep.d/000kernel-change resume suspend: success.
Wed Feb 15 22:38:19 EST 2017: Finished.