1) For WiFi, netctl.service needs to be restarted.

2) For the touchpad, the kernel module elan_i2c needs removed and reloaded, so

3) Create a custom systemd service

  • (suspend-resume.service) that, on resume from suspend,
  • executes a script (/usr/bin/suspend-resume.sh) containing the necessary commands.
  • Then make the script executable and load the systemd service.
$ sudo nano /etc/systemd/system/suspend-resume.service
Description=Local system resume actions


$ sudo nano /usr/bin/suspend-resume.sh```
# resume wifi and touchpad after suspend

# restart wireless service
systemctl restart netctl

# remove and reload touchpad kernel module
rmmod elan_i2c
modprobe elan_i2c
$ sudo chmod u+x /usr/bin/suspend-resume.sh
$ sudo systemctl enable suspend-resume
$ sudo systemctl start suspend-resume

Savagezen's Blog

A minimalist guide to my many projects.