暂停笔记本电脑后触摸板不工作

Ros*_*len 21 touchpad suspend synaptics asus

这似乎是一个常见问题,但在尝试了我在论坛上找到的所有修复程序后,我仍然不知所措。

眼镜:

  • 电脑:华硕k501LX-EB71
  • 操作系统:Ubuntu 14.04.3
  • 内核:3.19.0-26-通用
  • 触控板:Elantech 触控板
  • 驱动程序:xser​​ver-xorg-input-synaptics-lts-trusty (OR) xserver-xorg-input-synaptics-lts-vivid(不确定正在使用哪个)

我试过的:我可以运行sudo modprobe -r psmouse“关闭”触摸板,然后sudo modprobe psmouse重新打开它。这工作正常。但是,当我暂停时,即使我输入这些命令,也无法“恢复”触摸板。

有什么想法吗?

更新:

如果我休眠而不是挂起,我就不会观察到这个问题。我不知道该怎么做这个线索......

当前的解决方法:

由于休眠似乎不会引起问题并且我有适当数量的交换内存,因此我只是将休眠作为关闭盖子之类的默认操作。以下是我启用 hibernate 所遵循的步骤。我还修改了其他默认电源设置以使用 org>gnome>settings-daemon>plugins>power 下的 dconf 编辑器进入休眠状态

Win*_*nix 16

启动板中报告了此错误:Elantech touchpad 在 suspend 后停止工作。暂停后,OP 尝试# modprobe -r psmouse# modprobe psmouse不起作用。但是如果psmouse在 suspend 之前被移除并在 suspend 之后插入呢?

如果这是手动工作,那么您可以通过在/lib/systemd/system-sleep/包含以下内容的目录中创建一个新文件来自动化 :

#!/bin/sh

case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0` if no pre suspend action required
    modprobe -r psmouse
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
    sleep 2
    modprobe psmouse
    ;;
esac
Run Code Online (Sandbox Code Playgroud)

众所周知,暂停后psmouse模块无法删除。我们也知道它可以在挂起之前删除和插入。因此,此技术在挂起之前将其删除。恢复后插入它,希望内核不会拒绝它。

sleep 2命令来自我自己的问题,其中 systemd 和内核(通过 gnome 或 APM)都在睡眠和唤醒。由于 Ubuntu 16.04/pulseaudio 8.0 中引入的错误,我需要将 pulseaudio 声音重定向回电视。内核和 systemd 需要 2 秒的延迟才能完成唤醒。双暂停双恢复还没搞清楚....


小智 11

以下解决方案在运行 Ubuntu 18.04 (5.0.0-36-generic) 的 Acer Predator Helios 300 上对我有用,而其他所有解决方案都没有 -

检查解决方案是否有效
在触控板不工作时从挂起状态唤醒后尝试运行以下命令 - /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid
如果这使您的触控板正常工作,请按照以下步骤创建一个自动解决方案,每次从挂起状态唤醒时都会运行该解决方案。

永久解决方案
1.创建/lib/systemd/system-sleep/touchpad
2.打开上面的文件并编辑它,sudo vi /lib/systemd/system-sleep/touchpad
3.在文件中保存以下内容-

#!/bin/sh

case $1 in
  post)
    /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid 
  ;;
esac
Run Code Online (Sandbox Code Playgroud)
  1. 使其可执行- chmod +x /lib/systemd/system-sleep/touchpad

这基本上是在从挂起状态唤醒时重新启动 i2c_hid 设备。

礼貌:https : //unix.stackexchange.com/a/526488/283735


Rho*_*Rho 8

我处理这个问题的两种简单方法。第一个并不总是有效(如您所提到的)只是在挂起操作后重新启动鼠标模块。

须藤 rmmod psmouse ; 须藤 modprobe psmouse

这是关于如何“自动”执行此操作的一个很好的讨论: 如何在从挂起恢复后执行命令?

另一种方法是在挂起之前杀死模块,避免在恢复之后锁定模块(这显然是产生问题的原因,正如 WinEunuuchs2Unix 下划线的那样)。

为此,我使用一个简单的命令行来挂起笔记本电脑,而不仅仅是“手动”关闭盖子。当然,这根本不是花哨的,但有效并且是一个直接的解决方案。没有时间参与黑客攻击。

须藤 rmmod psmouse ; 须藤下午暂停

然后,在恢复笔记本电脑后,您应该通过键入以下内容重新启用该模块:

须藤 modprobe psmouse

你总是可以破解默认pm-suspend脚本,但我不会推荐它。生成这些临时小命令序列既简单又安全。

最后,快速执行鼠标模块的“终止/挂起”和“重新启用”的一种简单快捷的方法是将这些步骤与键盘快捷键相关联:如何更改键盘上的键?(如何创建自定义键盘命令/快捷方式?)

希望它有效,它对我有用,尽管以这种方式处理这个问题真的很不舒服。我在惠普和华硕笔记本电脑上都有这个问题。


Ros*_*len 7

建议我发布我的解决方法作为答案:

我发现休眠 ( sudo pm-hibernate) 没有遇到与触摸板重启相同的问题,因此我只是将所有相关的电源选项设置为休眠而不是挂起。这需要一点努力,因为默认情况下休眠是禁用的。这是需要发生的事情

  • 确保您有足够的交换空间(交换内存 > RAM)。我的 SSD 上有足够的交换分区,但您可以添加交换内存而无需重新分区驱动器

  • 按照此处的步骤启用休眠

  • 设置额外的电源选项以唤醒休眠而不是挂起。我使用 dconf 编辑器 ( sudo apt-get install dconf-editor)做到了这一点。要更改相关设置,请打开 dconf 编辑器并导航至:org > gnome > settings-daemon > plugins > power