暂停笔记本电脑后触摸板无法正常工作


14

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

眼镜:

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

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

有什么想法吗?

更新:

如果我休眠而不是挂起,则不会观察到此问题。我不确定该怎么做...

当前的解决方法:

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



嗯...感谢您的快速回复,但我没有走运就遵循了该线程中的所有步骤。无论出于何种原因,sudo modprobe psmouse暂停后我都无法恢复触摸板的使用。简而言之,似乎什么也没发生。我在日志文件中找不到任何不适当的地方
Ross Allen

我认为您的解决方法是一个答案。您应该这样写它,因为它可能会帮助他人,并且将答案嵌入您的问题中可能会更难找到。
年长者极客2015年

Answers:


8

此错误在启动板中报告:Elantech触摸板在挂起后停止工作。挂起后,OP尝试运行# modprobe -r psmouse# modprobe psmouse并且不起作用。但是,如果在挂起之前将psmouse删除并在挂起之后插入psmouse,该怎么

如果此操作手动完成,则可以通过在/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

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

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


我认为这将是更好地使用标准SUSPEND_MODULES的功能pm-utils为这个linux.die.net/man/8/pm-suspend
cgogolin

此解决方案对我不起作用。带有“ SYNA8004:00 06CB:CD8B触摸板”的Ubuntu 18.04,联想X1 Carbon Gen7。从休眠状态恢复后,我的触摸板行为异常活跃。
SaTa

7

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

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


1
请注意,默认情况下禁用休眠模式,因为硬盘损坏的可能性很大。休眠失败后,我不得不重新安装操作系统两次。现在再次禁用它。
crobar

1
将BIOS中的触摸板设置从ADVANCED更改为BASIC,在功能上没有任何区别,并且从挂起状态恢复后,触摸板仍然可以工作。
pst007x

4

以下解决方案可在运行Ubuntu 18.04(5.0.0-36-通用)的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
  1. 使其可执行- chmod +x /lib/systemd/system-sleep/touchpad

从挂起状态唤醒后,这基本上会重新启动i2c_hid设备。

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


很好的答案,这对我有用,谢谢。“ psmouse”模块对我而言不是一个模块,“ i2c_hid”模块对我来说不是。Dell Inspiron,我在dmesg中遇到了这个问题:[24063.094911] psmouse serio1:elantech:elantech_send_cmd查询0x02失败。[24063.094918] psmouse serio1:elantech:无法查询功能。[24064.645952] psmouse serio1:无法在isa0060 / serio1上启用鼠标[24065.383423]输入:ImPS / 2 Logitech Wheel鼠标为/ devices / platform / i8042 / serio1 / input / input38 [24240.449885] psmouse serio1:elantech:假定硬件版本为4 (固件版本为0x4f5001)
David Robson

3

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

sudo rmmod psmouse; 须藤modprobe psmouse

这是有关如何“自动” 执行此操作的精彩讨论: 如何从挂起恢复后执行命令?

另一种方法是在挂起之前杀死模块,避免在恢复后锁定模块(这显然是导致问题的原因,正如WinEunuuchs2Unix所强调的那样)。

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

sudo rmmod psmouse; 须藤pm暂停

然后,在恢复便携式计算机之后,您应该通过键入以下内容重新启用该模块:

须藤modprobe psmouse

您可以随时修改默认pm-suspend脚本,但我不建议您这样做。生成这些临时的小命令序列既简单又安全。

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

希望它能对我有用,尽管以这种方式处理确实很不舒服。HP和Asus笔记本电脑都存在此问题。


这对我有用,其他什么也没做-谢谢!
daboross

干杯! 很高兴这很有帮助!; D
罗(Rho)


1

这为我工作:

  1. 引导进入BIOS,在系统引导时按住F2或ESC

  2. 将BIOS中的触摸板设置从ADVANCED更改为BASIC(功能上没有任何区别)

现在,从暂停状态恢复后,触摸板仍应可以工作。


0

我有几台Asus笔记本电脑,我不得不在所有笔记本电脑上禁用触摸板。它们会导致锁定问题以及其他问题。


不是我希望听到的,但我感谢您的回应
Ross Allen

它的Elan触摸板。从字面上看,这使我使用ctrl-alt-f1 / 2/3进行更改,然后再更改回以使其冻结。一旦禁用它,就没有问题。如您所知,您可以短暂使用它,并使用上面提到的我的方法摆脱锁定。希望能有所帮助。
ChangosMuertos 2015年

0

不管使用哪种操作系统,对挂起都不满意的驱动程序很常见。我很高兴您通过休眠找到了解决方法。

由于挂起无法完全关闭电源,而休眠却可以完全休眠,因此这似乎表明驱动程序对挂起的“ 1/2寿命”没有很好的响应,但是完全有能力在上电周期内上电唤醒时会提供休眠。

来源:http : //manpages.ubuntu.com/manpages/trusty/man8/pm-action.8.html


您可以加入唤醒例程,以重新启动驱动程序……就像重新加载网络管理器一样。只是我自己还没有想过怎么做。我确实有它的工作来重启pulseaudio,但在两天前就成功打破了:(
WinEunuuchs2Unix

1
@ WinEunuuchs2Unix我很乐意看到这一点。如果知道了,请ping我。
年长者极客

肯定的东西。我可能会在大约六个月的时间里以大约6周的速度完成其中一项“回答您自己的问题”的工作。
WinEunuuchs2Unix

1
我已经发布了答案,但出于某些奇怪的原因,我似乎可以对除您(Geek老人)以外的所有人进行ping操作。
WinEunuuchs2Unix
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.