Thinkpad 13 2G - i7-7500U - 唤醒后冻结

Thinkpad 13 2G - i7-7500U - 唤醒后冻结

我发现我的 Thinkpad 13 2G - i7-7500U 与 Ubuntu 17.4 开箱即可运行,除了睡眠模式:唤醒完成后它会立即冻结。

有人能重现这个问题吗?

答案1

我发现问题是由触摸屏驱动程序引起的。在唤醒期间,模块 i2c_hid 会丢失大量错误,这些错误在内核日志中可见:

Apr 20 20:25:46 domenico-T132G kernel: [  230.882336] i2c_hid i2c-RAYD0001:00: i2c_hid_get_input: incomplete report (58/16946)

这个问题使内核处于一些奇怪的状态,导致它出现 OOPS。

解决方法是在进入睡眠状态之前卸载模块并在唤醒后重新加载。

我在 /lib/systemd/system-sleep/disabletouch 中创建了一个脚本来执行以下操作:

#!/bin/sh
set -e

if [ "$2" = "suspend" ] || [ "$2" = "hybrid-sleep" ]; then
    case "$1" in
        pre)
                modprobe -r i2c_hid
                sleep 1
                ;;
        post)
                sleep 1
                modprobe i2c_hid
                ;;
    esac
fi

如果有人可以将这个问题发送给内核人员我将非常感激。

相关内容