Sorry for this late reply; wasn’t able to post over the weekend due to some Discourse issue.
What exactly have you tried? The script in /etc/pm/sleep.d or in /usr/lib/systemd/system-sleep? If it’s the former, that’s on me, I guess. The latter location seems to be the correct one.
I also was in the process of writing a message when that Discourse issue started, so here is a better solution, using a systemd service:
- Undo all prior changes
- Create a systemd service template:
sudo nano /etc/systemd/system/reload_module@.service
Put this in it:
# /etc/systemd/system/reload_module@.service
[Unit]
Description=unload/load %I
StopWhenUnneeded=yes
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=modprobe -rv %I
ExecStop=modprobe -v %I
[Install]
WantedBy=sleep.target
Save the file (CtrlO) and exit (CtrlX).
- Reload the service manager:
sudo systemctl daemon-reload
- Enable the instance for the module:
sudo systemctl enable reload_module@rtw89_8851be
should output this:
Created symlink /etc/systemd/system/sleep.target.wants/reload_module@rtw89_8851be.service → /etc/systemd/system/reload_module@.service.
- Test it:
sudo systemctl suspend
systemctl status reload_module@rtw89_8851be
should output something like this:
○ reload_module@snd_seq_dummy.service - unload/load snd_seq_dummy
Loaded: loaded (/etc/systemd/system/reload_module@.service; enabled; preset: enabled)
Active: inactive (dead) since Tue 2026-05-12 12:23:55 CEST; 12min ago
Duration: 10.791s
Process: 987107 ExecStart=modprobe -rv snd_seq_dummy (code=exited, status=0/SUCCESS)
Process: 987541 ExecStop=modprobe -v snd_seq_dummy (code=exited, status=0/SUCCESS)
Main PID: 987107 (code=exited, status=0/SUCCESS)
CPU: 12ms
May 12 12:23:44 Roadrunner systemd[1]: Starting reload_module@snd_seq_dummy.service - unload/load snd_seq_dummy...
May 12 12:23:44 Roadrunner modprobe[987107]: rmmod snd_seq_dummy
May 12 12:23:44 Roadrunner systemd[1]: Finished reload_module@snd_seq_dummy.service - unload/load snd_seq_dummy.
May 12 12:23:55 Roadrunner systemd[1]: Stopping reload_module@snd_seq_dummy.service - unload/load snd_seq_dummy...
May 12 12:23:55 Roadrunner modprobe[987541]: insmod /lib/modules/6.17.0-23-generic/kernel/sound/core/seq/snd-seq-dummy.ko.zst
May 12 12:23:55 Roadrunner systemd[1]: reload_module@snd_seq_dummy.service: Deactivated successfully.
May 12 12:23:55 Roadrunner systemd[1]: Stopped reload_module@snd_seq_dummy.service - unload/load snd_seq_dummy.
(I used a different module for my testing)
Credit where credit is due: this solution was inspired by this answer on Stack Exchange.