Tuesday, May 1, 2007

关于Ubuntu的待机问题

Ubuntu的待机问题好像是个普遍问题,台式机笔记本都无法幸免,好像和显卡有关。而且这方面的问题多种多样,我碰到的有下面两个,这两个应该也是待机问题中最常见的两种了。
一是无法待机(suspend),二是待机了无法唤醒(resume)。

1. 无法suspend的解决办法
这多是由于没有开启laptop_mode造成的。关于如何开启laptop_mode,参见
启用laptop-mode的方法
当然,在这之前最好检查一下acpi是否正确配置。确保 /etc/default/acpi-support 中有下面几条
ACPI_SLEEP=true
ACPI_HIBERNATE=true
ACPI_SLEEP_MODE=mem
我没开laptop_mode时无法待机,开了以后可以待了,但是待完了起不来。解决方法如下。

2. 无法resume的解决办法
我的症状是唤醒的时候屏幕黑屏,按什么键都没用(包括power),但据硬盘灯推测此时系统已经resume了,只是屏幕无显示。这显然跟显卡方面有关,在网上找了一篇解决这个的,主要要干三件事:

  1. In /etc/acpi/sleep.sh, as second line, add the line sudo chvt 1. This forces a switch to the text console before standby.
  2. Likewise, in add to the very end of the file /etc/acpi/resume.sh the line sudo chvt 7.
  3. Finally, the perhaps most important change goes into /etc/default/acpi-support. Change the line POST_VIDEO=true to read POST_VIDEO=. This was the point when it started working on my system.

经我尝试,第3条才是关键,前两条都在我这没必要做。 我把 /etc/default/acpi-support 的 POST_VIDEO=true 的true去掉就可以正常resume了。

附:一些背景知识。
来源:http://kw-gift.com/blog/index.php?entry=entry060928-105807
linux的ACPI定义了不同的睡眠状态,常用的有
S1:STOPGRANT
供给停止,CPU Halts,由CPU停止而引起的相关组件一起停止运作,相当于WINDOWS的Standby[待机]
S2:类似于S3,系统保留状态,当前并没起用此状态。
S3:Suspend to RAM
挂起到内存,相当于WINDOWS的Sleep[睡眠],注S3当前不支持 Kernel 2.4.x。
S4:Suspend to Disk
挂起到硬盘,相当于WINDOWS的Hibernate[休眠],注S3当前不支持 Kernel 2.4.x。
S5:Soft Off
关闭系统,相当于WINDOWS的Shut Down[关机]
关于SlEEP状态 的更多祥情请参况:http://acpi.sourceforge.net/documentation/sleep.html

怎样查看自已的laptop支持那种睡眠状态?
方法1:cat /proc/acpi/sleep(kernel 2.4系列适用)
在我的laptop返回如下结果 :S0 S3 S4 S5
方法2:cat /sys/power/state(kernel 2.4系列适用)
在我的laptop返回如下结果:mem disk
说明我的laptop绝对支持支持S3,S4状态

No comments:

 
/* google analytics */