如果驱动程序无法正确恢复设备,那么我相信您将找到的唯一解决方案是调试并确定问题出在哪里,以便您可以从那里决定要做什么。例如,如果视频卡没有重新初始化,我看不到如何刷新。
ACPI处理暂停/恢复和显示。例如,某些ThinkPad上发生的以下ACPI问题可能会解决您所描述的症状:
从suspend-to-ram恢复时,文本控制台显示的内容可能显示为乱码而不是实际文本。否则,机器仍会响应,并且X可以正常显示。如果所有这些都成立,那么在menu.lst或
lilo.conf中添加内核选项acpi_sleep = s3_bios,s3_mode可能会解决此问题。
ACPI暂停到内存的问题-ThinkWiki
如果您使用的thinkpad_acpi
是上面引用的地址所在的模块,则可能仅此而已。有关此解决方案的更多信息,请参见Suspend2Ram-Powersave文档
首先,有几个内核参数可以尝试。只需将它们添加到/boot/grub/menu.lst中的 “内核”行中即可。关于这些的更多信息可以在/usr/src/linux/Documentation/power/video.txt中找到
。
从video.txt中:
在S3恢复期间,需要重新初始化硬件。对于大多数设备来说,这很容易,内核驱动程序也知道该怎么做。不幸的是,有一个例外:视频卡。这些通常由BIOS初始化,并且内核没有足够的信息来启动视频卡。(内核通常甚至不包含视频卡驱动程序-vesafb和vgacon被广泛使用)。
有关更多信息,请参见video.txt。请参阅此处的表,以查看是否acpi_sleep=<hack>
为您的视频卡型号列出了已知信息。
Debian挂起和KMS
Debian Wiki建议禁用KMS来解决“恢复时的视频损坏”问题。1个
计算机恢复后发现的一个非常常见的问题是视频损坏(或黑屏,或者没有LCD背光灯)。第一步是检查系统是否仍在运行,只需按Capslock按钮,然后检查Capslock LED是否在相应地改变,即可完成操作。如果系统仍在运行,则在大多数情况下,我们需要为您的视频卡添加视频怪癖。
Debian现在为大多数Intel,nVidia和ATI视频卡默认启用了内核模式设置(KMS)。但是pm-utils的视频怪癖还不支持KMS。因此,在大多数情况下,您应该首先尝试禁用KMS。特定视频卡的详细步骤可以在KernelModesetting页面上找到。
禁用KMS后,如果恢复后的视频仍然损坏,则可以尝试使用一些视频怪癖来挂起系统。阅读pm-suspend程序的联机帮助页,以获得对所有可用功能的非常详细的解释,然后从命令行尝试将其组合。如果成功找到一种适用于您系统的怪癖组合,则可以将它们添加到/ usr / lib / pm-utils / video-quirks中,以使其永久存在。同时,请帮助您针对pm-utils软件包提交一个错误,并附上有关您所做更改的补丁程序,以使大量用户受益。
从旧版本的Debian升级系统时发现的一个常见问题是,启用quirk-s3-bios会在挂起期间冻结系统。如果您的系统在挂起期间冻结,请在启用调试后仔细检查pm-suspend.log并确保未使用quirk-s3-bios。
如果您认为这与您的问题有关,则可以尝试根据建议禁用KMS。有关卡的说明,请参见KernelModesetting-Debian Wiki
调试挂起
挂起和恢复过程的日志位于文件
/var/log/pm-suspend.log中。默认情况下,它包含适度的详细信息。通过将行export PM_DEBUG = true插入文件/ usr / lib / pm-utils / pm-functions的开头,
可以启用更多调试信息。
有关更多信息,请查看Suspend-Debian Wiki中提到的有关内核测试工具的信息。这可以帮助您调试和隔离问题。
https://www.kernel.org/doc/Documentation/power/basic-pm-debugging.txt上提供了一些示例和更深入的调试信息,这些信息可以帮助您“无法暂停或恢复其设备的驱动程序”。
一些更调试想法pm-utils
在PM-utils的- ArchWiki和/unix//a/29090/87728
这是内核参数的完整列表,其中许多与acpi和suspend相关。
祝好运。