2013年4月21日

解決休眠時出現的錯誤訊息

你在啟用休眠(suspend/hibernation)時,你可能會看到如下的錯誤訊息
$ dmesg -l err
[  166.420801] dpm_run_callback(): pnp_bus_resume+0x0/0x80 returns -19
[  166.420803] PM: Device 00:0a failed to resume: error -19
[  206.278581] dpm_run_callback(): pnp_bus_resume+0x0/0x80 returns -19
[  206.278583] PM: Device 00:0a failed to restore: error -19

有些網站告訴你要去檢查你的硬體
要去找 Device 00:0a 是什麼東西
不過在我的電腦上我卻沒有這個硬體
$ sudo lspci -vt
密碼:
-[0000:00]-+-00.0  Intel Corporation Mobile 4 Series Chipset Memory Controller Hub
           +-02.0  Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller
           +-02.1  Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller
           +-03.0  Intel Corporation Mobile 4 Series Chipset MEI Controller
           +-19.0  Intel Corporation 82567LF Gigabit Network Connection
           +-1a.0  Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4
           +-1a.1  Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5
           +-1a.2  Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6
           +-1a.7  Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2
           +-1b.0  Intel Corporation 82801I (ICH9 Family) HD Audio Controller
           +-1c.0-[02]--
           +-1c.1-[03]----00.0  Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller
           +-1c.3-[05-0c]--
           +-1c.4-[0d-14]--
           +-1d.0  Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1
           +-1d.1  Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2
           +-1d.2  Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3
           +-1d.7  Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1
           +-1e.0-[15-18]--+-00.0  Ricoh Co Ltd RL5c476 II
           |               \-00.1  Ricoh Co Ltd R5C832 IEEE 1394 Controller
           +-1f.0  Intel Corporation ICH9M LPC Interface Controller
           +-1f.2  Intel Corporation 82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode]
           \-1f.3  Intel Corporation 82801I (ICH9 Family) SMBus Controller

於是又找了一些資料,發現只要停用tpm_tis這個module就可以了,
不太曉得休眠跟tpm_tis有什麼關係
不過只要停用這個module就沒有上面那些錯誤訊息了。
$ sudo vi /etc/modprobe.d/blacklist.conf
內容如下
blacklist tpm_tis
存檔後我重開機
再執行休眠
結果這次出現了下面的錯誤訊息
Sep 4 10:39:26 camserver kernel: Do you have a strange power saving mode enabled?
Sep 4 10:39:26 camserver kernel: Uhhuh. NMI received for unknown reason 29 on CPU 0.
Sep 4 10:39:26 camserver kernel: Dazed and confused, but trying to continue

於是我又找了些資料來修正這個錯誤訊息
$ sudo vi /etc/default/grub
修改
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
變成
GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=/dev/disk/by-uuid/34c112bf-cbe0-4f2c-b324-048a62114537 nmi_watchdog=0 nohpet"
關於resume的部份那串uuid是我的swap分割區
你可以執行這個指令,來得知你的swap分割區的uuid
$ sudo blkid
/dev/sda6: UUID="34c112bf-cbe0-4f2c-b324-048a62114537" TYPE="swap"

這樣子做完以後我的休眠就不再有錯誤訊息了

參考來源:

沒有留言:

張貼留言