wowlan: move the implementation into sxmo_suspend.sh instead of a systemd service
This commit is contained in:
@@ -23,12 +23,6 @@
|
|||||||
sane.zsh.showDeadlines = false; # unlikely to act on them when in shell
|
sane.zsh.showDeadlines = false; # unlikely to act on them when in shell
|
||||||
sane.services.wg-home.enable = true;
|
sane.services.wg-home.enable = true;
|
||||||
sane.services.wg-home.ip = config.sane.hosts.by-name."moby".wg-home.ip;
|
sane.services.wg-home.ip = config.sane.hosts.by-name."moby".wg-home.ip;
|
||||||
sane.wowlan.enable = true;
|
|
||||||
sane.wowlan.patterns = [
|
|
||||||
{ tcp.destPort = 22; } # wake on SSH
|
|
||||||
{ tcp.sourcePort = 2587; } # wake on `ntfy-sh` push from servo
|
|
||||||
{ arp.destIp = "10.78.79.54"; } # wake when somebody is doing an ARP query against us
|
|
||||||
];
|
|
||||||
|
|
||||||
# XXX colin: phosh doesn't work well with passwordless login,
|
# XXX colin: phosh doesn't work well with passwordless login,
|
||||||
# so set this more reliable default password should anything go wrong
|
# so set this more reliable default password should anything go wrong
|
||||||
|
@@ -91,7 +91,7 @@ let
|
|||||||
suspend = pkgs.static-nix-shell.mkBash {
|
suspend = pkgs.static-nix-shell.mkBash {
|
||||||
pname = "sxmo_suspend.sh";
|
pname = "sxmo_suspend.sh";
|
||||||
src = ./hooks;
|
src = ./hooks;
|
||||||
pkgs = [ "util-linux" ];
|
pkgs = [ "coreutils" "rtl8723cs-wowlan" "time" "util-linux" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env nix-shell
|
#!/usr/bin/env nix-shell
|
||||||
#!nix-shell -i bash -p util-linux
|
#!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
|
# yeah, this isn't technically a hook, but the hook infrastructure isn't actually
|
||||||
# restricted to stuff that starts with sxmo_hook_ ...
|
# restricted to stuff that starts with sxmo_hook_ ...
|
||||||
@@ -9,9 +9,20 @@
|
|||||||
|
|
||||||
suspend_time=300
|
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"
|
echo "calling suspend for duration: $suspend_time"
|
||||||
|
|
||||||
rtcwake -m mem -s "$suspend_time" || exit 1
|
# 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
|
sxmo_hook_postwake.sh
|
||||||
|
|
||||||
|
@@ -56,6 +56,9 @@
|
|||||||
# - CONFIG_ROAMING_FLAG = 0x3
|
# - CONFIG_ROAMING_FLAG = 0x3
|
||||||
# - may fail to wake on LAN, even without any signature like the above
|
# - may fail to wake on LAN, even without any signature like the above
|
||||||
# - observed after a suspension of 10 minutes, trying to contact from laptop (laptop would have previously not contacted moby)
|
# - observed after a suspension of 10 minutes, trying to contact from laptop (laptop would have previously not contacted moby)
|
||||||
|
#
|
||||||
|
# TODO: remove this file
|
||||||
|
# it's been obsoleted by hosts/modules/gui/sxmo/hooks/sxmo_suspend.sh
|
||||||
|
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
Reference in New Issue
Block a user