暂停导致断电

暂停导致断电

在 Acer Aspire E5-574 上安装 Ubuntu 15.10(尝试使用安装版和实时 CD 等其他版本)。当您尝试使用电源按钮、fn-f4 或 pm-suspend 暂停计算机时,计算机会立即关闭。pm-suspend.log下面包含的内容没有任何用处:

Running hook /usr/lib/pm-utils/sleep.d/00logging suspend suspend:
Linux aspire 3.19.0-32-generic #37~14.04.1-Ubuntu SMP Thu Oct 22 09:41:40 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Module                  Size  Used by
ctr                    16384  2 
ccm                    20480  2 
rfcomm                 69632  8 
bnep                   20480  2 
arc4                   16384  2 
uvcvideo               90112  0 
videobuf2_vmalloc      16384  1 uvcvideo
ath10k_pci             45056  0 
videobuf2_memops       16384  1 videobuf2_vmalloc
ath10k_core           290816  1 ath10k_pci
videobuf2_core         53248  1 uvcvideo
ath                    32768  1 ath10k_core
v4l2_common            16384  1 videobuf2_core
rtsx_usb_sdmmc         28672  0 
videodev              159744  3 uvcvideo,v4l2_common,videobuf2_core
rtsx_usb_ms            20480  0 
memstick               20480  1 rtsx_usb_ms
rtsx_usb               24576  2 rtsx_usb_sdmmc,rtsx_usb_ms
media                  24576  2 uvcvideo,videodev
binfmt_misc            20480  1 
acer_wmi               20480  0 
sparse_keymap          16384  1 acer_wmi
mac80211              643072  1 ath10k_core
cfg80211              532480  3 ath,mac80211,ath10k_core
x86_pkg_temp_thermal    16384  0 
compat                 28672  4 cfg80211,mac80211,ath10k_pci,ath10k_core
coretemp               16384  0 
snd_hda_codec_hdmi     53248  1 
snd_hda_codec_realtek    81920  1 
snd_hda_codec_generic    69632  1 snd_hda_codec_realtek
kvm_intel             151552  0 
kvm                   479232  1 kvm_intel
snd_hda_intel          36864  6 snd_hda_codec_hdmi
snd_hda_controller     32768  1 snd_hda_intel
snd_hda_codec         143360  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller
snd_hwdep              20480  1 snd_hda_codec
crct10dif_pclmul       16384  0 
btusb                  40960  0 
i915_bpo             1138688  4 
bluetooth             491520  22 bnep,btusb,rfcomm
snd_pcm               106496  5 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
crc32_pclmul           16384  0 
snd_seq_midi           16384  0 
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            32768  1 snd_seq_midi
snd_seq                65536  2 snd_seq_midi_event,snd_seq_midi
intel_ips              20480  1 i915_bpo
snd_seq_device         16384  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              32768  2 snd_pcm,snd_seq
ghash_clmulni_intel    16384  0 
aesni_intel           172032  5 
drm_kms_helper        126976  1 i915_bpo
aes_x86_64             20480  1 aesni_intel
dm_multipath           24576  0 
lrw                    16384  1 aesni_intel
scsi_dh                16384  1 dm_multipath
drm                   344064  5 i915_bpo,drm_kms_helper
gf128mul               16384  1 lrw
snd                    86016  20 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_in
tel,snd_seq_device
joydev                 20480  0 
glue_helper            16384  1 aesni_intel
serio_raw              16384  0 
ablk_helper            16384  1 aesni_intel
i2c_algo_bit           16384  1 i915_bpo
cryptd                 20480  3 ghash_clmulni_intel,aesni_intel,ablk_helper
soundcore              16384  2 snd,snd_hda_codec
shpchp                 40960  0 
i2c_hid                20480  0 
acpi_pad               20480  0 
dell_smo8800           16384  0 
nls_iso8859_1          16384  2 
mac_hid                16384  0 
parport_pc             32768  0 
ppdev                  20480  0 
lp                     20480  0 
parport                45056  3 lp,ppdev,parport_pc
dm_mirror              24576  0 
dm_region_hash         24576  1 dm_mirror
dm_log                 20480  2 dm_region_hash,dm_mirror
uas                    24576  0 
usb_storage            69632  2 uas
hid_generic            16384  0 
usbhid                 53248  0 
hid                   110592  3 i2c_hid,hid_generic,usbhid
psmouse               114688  0 
r8169                  81920  0 
mii                    16384  1 r8169
ahci                   36864  3 
libahci                32768  1 ahci
wmi                    20480  1 acer_wmi
video                  20480  2 i915_bpo,acer_wmi
             total       used       free     shared    buffers     cached
Mem:       8039304    1208708    6830596     360888      50048     738180
-/+ buffers/cache:     420480    7618824
Swap:      8251388          0    8251388
/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/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 '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:
stop: Unknown instance: 
/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.

Sun Dec 27 12:26:35 IST 2015: performing suspend

正如您所看到的,它在机器关闭时突然被切断。

有人见过这种情况吗?有补救措施吗?

答案1

如果您正在使用 grub,您可以尝试修改 /etc/default/grub 中的 GRUB_CMDLINE_LINUX_DEFAULT。(先备份!$ sudo cp /etc/default/grub /etc/default/grub.orig

  1. 使用您最喜欢的文本编辑器打开 /etc/default/grub

    $ sudo vi /etc/default/grub
    or
    $ gksu gedit /etc/default/grub
    
  2. 找到这条线GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 并添加到它(注意:这里可能还有其他内容,例如 acpi_backlight=vendor,好的,只需在最后添加它)

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_sleep=nonvs"
    
  3. 更新 grub,重新启动并尝试。

    $ sudo update-grub
    $ sudo reboot
    

    如果您仍然遇到问题,则可能与图形驱动程序问题有关,例如我的旧 Acer 就是如此(尽管我在 15.10 上没有遇到此问题),因此您可以尝试按照相同的步骤操作,但也将 nomodeset 添加到 /etc/default/grub:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_sleep=nonvs nomodeset"
    

希望其中一种对你有用。我没有 nonvs 系列的良好来源,但基本上 NVS 是非易失性存储,保存它会产生问题,因此 2.x 时代的内核开发人员实现了禁用保存它的功能。如果这对你有用,它的影响应该很小(如果没有,你可以在尝试 nomodeset 之前/之后选择将其删除。

关于 nomodeset 的说明,它会强制系统使用 bios 视频驱动程序,这可以纠正此类问题(我个人发现 Acer 的视频驱动程序问题非常严重)。我听说添加 nomodeset 可能会导致无法检测外部显示器等副作用,但我从未注意到类似的事情。有关 nomodeset 的更多信息:`nomodeset` 有什么作用

更新: 我在各种线索中发现了一些 Acer 特有的问题,这些问题都指向 i8042,但它们大多出现在较旧的机器/内核上。因此,在尝试以下方法之前,我建议先弄清楚具体发生了什么。尝试检查 /var/log/syslog

grep -ni /var/log/syslog -e "Err"

我喜欢使用 grep -n(-i 表示忽略大小写,-e 表示要搜索的表达式),因为它会给我行号,这样我就可以转到文件并在该区域内探索,看看是否能找到更多信息。如果这没有帮助,您可以尝试查看所有日志以查找错误:

grep -rni /var/log -e "Err"

最后,如果其他方法都失败了,您可以尝试我为较旧的 Acer 型号和较旧的内核找到的修复程序:

您可以尝试设置 i8042.reset 内核参数并测试(尝试挂起之前不要重新启动)

# sysctl -e -w i8042.reset

然后,如果它有效,您可以通过编辑 /etc/default/grub 并找到 GRUB_CMDLINE_LINUX="" 使其永久生效(请注意这里的区别!):

GRUB_CMDLINE_LINUX="i8042.reset"

有时 i8042.nomux 也可能是 Acer 机器的罪魁祸首,所以您可以尝试一下。

来源:https://wiki.archlinux.org/index.php/Pm-utils 有关内核参数的更多信息:https://www.kernel.org/doc/Documentation/kernel-parameters.txt

答案2

最终,它被证明是 BIOS 中的错误。您需要进行 BIOS 更新。然而,acer 只提供 .EXE 文件作为更新。它是通过下载FreeDos 10MB 图像并按照以下说明进行操作linux系统。虽然该系统不是基于 archlinux,但他们的指南仍然有效。

当时情况很危急,因为笔记本电脑在从交流电切换到电池供电时容易断电。因此,如果我在 BIOS 更新时遇到断电,笔记本电脑可能就坏了。

相关内容