You are not logged in.
You can view this post on Gist(https://gist.github.com/CyrusYip/470f44e30be261fdb52d3309dc464091).
[Lenovo Miix 510-12IKB](https://www.notebookcheck.net/Lenovo-Id … 214.0.html)'s touchpad does not work after hibernation or sleep. "Touchpad Off" notification is shown at login screen (Kde Plasma) after hibernation or sleep. Arch linux is up-to-date(2021-09-30). Here are methods that does not work:
- ```
sudo modprobe -r psmouse; sudo modprobe psmouse
```
- Put `psmouse.synaptics_intertouch=0` in `GRUB_CMDLINE_LINUX_DEFAULT` and `sudo grub-mkconfig -o /boot/grub/grub.cfg`
- Solution 1 and Solution 2 in [shell script - touchpad not working after hibernate - Unix & Linux Stack Exchange](https://unix.stackexchange.com/a/519827)
Finally, I found a method that works in [Chinese ArchWiki](https://web.archive.org/web/20210929092 … 5%E4%BD%9C)。
---
- Create `/usr/lib/systemd/system/mysleep`
```bash
#!/bin/bash
/usr/lib/systemd/systemd-sleep suspend && modprobe -r i2c_hid && modprobe i2c_hid
```
- Add executable permission
```bash
sudo chmod +x /usr/lib/systemd/system/mysleep
```
- Modify `/usr/lib/systemd/system/systemd-suspend.service`
```bash
❯ cat /usr/lib/systemd/system/systemd-suspend.service
# SPDX-License-Identifier: LGPL-2.1-or-later
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=System Suspend
Documentation=man:systemd-suspend.service(8)
DefaultDependencies=no
Requires=sleep.target
After=sleep.target
[Service]
Type=oneshot
# ExecStart=/usr/lib/systemd/systemd-sleep suspend
ExecStart=/usr/lib/systemd/system/mysleep
```
- Reload systemd manager configuration
```
sudo systemctl daemon-reload
```
---
"Touchpad On" notification is shown at login screen after hibernation or sleep. However, this method only works for serveral hours. It does not work now. I don't know why.
Here are logs of `systemd-suspend.service`:
```
❯ journalctl -xeu systemd-suspend.service
░░ The system has now left the suspend sleep state.
Sep 30 13:58:53 arch mysleep[1710]: modprobe: FATAL: Module i2c_hid is in use.
Sep 30 13:58:53 arch systemd[1]: systemd-suspend.service: Main process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/l … temd-devel
░░
░░ An ExecStart= process belonging to unit systemd-suspend.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
Sep 30 13:58:53 arch systemd[1]: systemd-suspend.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/l … temd-devel
░░
░░ The unit systemd-suspend.service has entered the 'failed' state with result 'exit-code'.
Sep 30 13:58:53 arch systemd[1]: Failed to start System Suspend.
░░ Subject: A start job for unit systemd-suspend.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/l … temd-devel
░░
░░ A start job for unit systemd-suspend.service has finished with a failure.
░░
░░ The job identifier is 1631 and the job result is failed.
```
It seems that `modprobe -r i2c_hid && modprobe i2c_hid` does not execute sucessfully. How can I make the touchpad work after hibernation or sleep? If other logs are needed, please tell me how to get them.
Last edited by Cyrus Yip (2021-10-14 09:01:55)
Offline
My desktop environment is KDE Plasma. I solved this problem by setting the shortcut of the touchpad in "System Settings -> Shortcuts -> Shortcuts -> System Services -> Touchpad -> Toggle Touchpad". When the touchpad is off, I press the shortcut to turn it on.
Last edited by Cyrus Yip (2021-10-14 09:02:23)
Offline