29 lines
974 B
Bash
Executable File
29 lines
974 B
Bash
Executable File
#!/usr/bin/env nix-shell
|
|
#!nix-shell -i bash -p coreutils -p rtl8723cs-wowlan -p time -p util-linux
|
|
|
|
# yeah, this isn't technically a hook, but the hook infrastructure isn't actually
|
|
# restricted to stuff that starts with sxmo_hook_ ...
|
|
#
|
|
# this script is only called by sxmo_autosuspend, which is small, so if i wanted to
|
|
# be more proper i could instead re-implement autosuspend + integrations.
|
|
|
|
suspend_time=300
|
|
|
|
rtl8723cs-wowlan enable-clean
|
|
# wake on ssh
|
|
rtl8723cs-wowlan tcp --dest-port 22
|
|
# wake on notification (ntfy/Universal Push)
|
|
rtl8723cs-wowlan tcp --source-port 2587
|
|
# wake if someone doesn't know how to route to us, because that could obstruct the above
|
|
rtl8723cs-wowlan arp --dest-ip 10.78.79.54
|
|
|
|
echo "calling suspend for duration: $suspend_time"
|
|
|
|
# XXX: run this in `env` to get the `time` binary instead of the builtin
|
|
elapsed="$(env time -f "%e" rtcwake -m mem -s $suspend_time)" || exit 1
|
|
|
|
echo "suspended for $elapsed seconds"
|
|
|
|
sxmo_hook_postwake.sh
|
|
|