wowlan: enable CONFIG_ARP_KEEP_ALIVE (experimental)

This commit is contained in:
Colin 2023-10-10 05:24:57 +00:00
parent e28e60769a
commit 114df5efab
2 changed files with 13 additions and 0 deletions

View File

@ -27,6 +27,8 @@
# - CONFIG_SUSPEND_TYPE = 0 (i think this is correct)
# - CONFIG_LPS_MODE = 1 (setting to 0 would disable LPS)
# - maybe ARP gets disabled as part of the power saving features (iw phy ... power-save; CONFIG_POWER_SAVING=y)?
# - driver code hints that some things like wake on arp are conditional on the state of AP association at the `wowlan enable` call.
# so maybe it's proper to call `iw wowlan enable` immediately before *every* suspend instead of just once at boot
# - packet matching happens below the OS, so it's not generic over virtual network devices like tunnels.
# Wake On Lan with a VPN effectively requires that you wake on *every* packet routed via that VPN
# since the meaning within any packet isn't obvious to the chipset.
@ -44,6 +46,7 @@
# wpa_supplicant: wlan0: CTRL-EVENT-CONNECTED - Connection to xx:xx:xx:xx:xx:xx completed [id=0 id_str=]
# ```
# - observed after a suspension of 67 minutes.
# - but also observed after a suspension of just 5 minutes.
# - WiFi chip *should* have a way to wake on connection state change, i just need to enable it?
# - `iw phy phy0 wowlan enable disconnect` => Invalid argument (-22)
# - `iw phy0 wowlan enable net-detect ...` (from man example) => Operation not supported (-95)

View File

@ -154,6 +154,16 @@ let
# hash = "sha256-DnLDseL1Ar5gE31CQUTrGNxxNu88jGCzj8ko99Z8vUA=";
# };
# }
{
# experimental: set CONFIG_ARP_KEEP_ALIVE and CONFIG_GTK_OL if CONFIG_WOWLAN=y
# this patch just uncomments some commented-out #defines.
# they were commented out from the first time megi imported this driver, never touched.
name = "enable-wowlan-offloads";
patch = fetchpatch {
url = "https://git.uninsane.org/colin/linux/commit/c4d2d12e31ae70bb43c6190eccc49e42ad645090.patch";
hash = "sha256-B1rxeVu6y5hP/iMLSbl3ExwrEIXL7WShWsMFh6ko6yk=";
};
}
] ++ lib.optionals (!withModemPower) [
{
# Drop modem-power from DT to allow eg25-manager to have full control.