如何在 Linux 上调试 Suspend-to-RAM 问题?

Ste*_*n D 15 linux debugging suspend

我希望获得有关如何调试挂起到 RAM 问题的基于经验的建议。针对我的情况的建议(详见下文)会很好,但我也对如何调试此类问题的一般建议感兴趣。

问题:

通常,当我尝试挂起我的机器时,它会陷入“未挂起但未唤醒”状态。通常屏幕会完全黑屏,但有时会出现以下错误消息:

GLib-WARNING **: getpwuid_r(): failed due to unknown user id (0) 
Run Code Online (Sandbox Code Playgroud)

此外,这种状态也将伴随着球迷的高速运转。摆脱这种状态的唯一方法是手动关闭笔记本电脑。

一些信息

$ uname -a
Linux baltar 2.6.35-22-generic #34-Ubuntu SMP Sun Oct 10 09:26:05 UTC 2010 x86_64 GNU/Linux

$ lsb_release -a
Distributor ID:    Ubuntu
Description:    Ubuntu 10.10
Release:    10.10
Codename:    maverick
Run Code Online (Sandbox Code Playgroud)

我看过/var/log/dmesgand /var/log/pm-suspend.log,但我不知道我在找什么,也没有什么突出的。我不确定它是否相关,但我确实在以下内容中找到了很多/var/log/kern.log

EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro,commit=600
Run Code Online (Sandbox Code Playgroud)

lkr*_*aav 6

PM_DEBUG 和 PM_TRACE显然是目前最深入的调试工具。当您从更高级别的日志中没有得到任何有意义的信息时,AFAIK 这是遇到可怕的“恢复时神秘的空白屏幕”症状时唯一可以依靠的机制。大多数情况下,我们正在处理一个经常巧妙地损坏的设备驱动程序。您还可以查看我的 Broadcom brcmsmac wireless driver debugging saga at kernel bug 34682,了解内核开发人员建议和寻找的内容。


law*_*jam 3

您有英特尔图形芯片组吗?我在运行 Ubuntu 10.10 的 ThinkPad X200 上遇到了听起来同样的问题,这个解决方法(从 2008 年开始!)为我解决了这个问题: http://ubuntuforums.org/showpost.php ?p=6105510&postcount=12