WireGuard se na Androidu rozpadne po vypnutí obrazovky

Dobry vecer,

zas si projednou lamu hlavu s tim nejzmrsenejsim OS, co znam... :-)


Telefon (Xperia XZ2C), LineageOS 22 (Android 15), ne-root (pokud muze pomoci, rad provedu), Wireguard v aktualni verzi, LTE.

Ceho chci dosahnout:
Telefon je v nepruhledne krabici, chranen pred vlhkosti zeshora. A ja potrebuju zhasnout displej, nez telefon do krabice vlozim, abych si tam pri manipulaci neco nepomatlal.
Telefon je na Wireguardu, posila KeepAlive a ja se tim padem na to Androidi zarizeni muzu pripojit na dalku a neco tam udelat.


Problem:
Po vypnuti displeje se Wireguard proste odmlci. Mnohdy az tak, ze se Wireguard po odmlce ani nedokaze navazat a musim telefon dat do rezimu Letadlo a zpet.



Ve Wireguardu na strane telefonu je nastaven PersistentKeepalive = 30s. (Zda se vsak, ze je to vlastne celkem fuk a zakopanej pes bude jinde.)
Telefon je v rezimu "Always on VPN".

Relevantni nastaveni, ktereho jsem si tak vsiml:
Settings > Battery > Battery saver: off
Settings > Battery > Battery manager: off
Settings > App > Wireguard > App battery usage: Allow background usage (zapnuto)
Settings > System > Developer options > Mobile data always active: on
Settings > System > Developer options > Background process limit: Standard limit
Settings > System > Developer options > Standby apps: Wireguard je nastaven jako ACTIVE


Problem se nezda byt na strane Wireguardu, Wireguard log ukazuje, ze KeepAlive normalne chodi, dokud je displej zaplej - ale jakmile se vypne, KeepAlive chodit prestava a v logu neni nic...
Cili nejakym zpusobem to zarezava Android sam.



Jasne, jeste muze byt varianta, displej proste nevypinat, pichnout to ke stave a mit zaply "nevypinani displeje, pokud je pripojena nabijecka". Kdyz ja bych ale rad tim vyplym displejem zamezil nejakym nechtenym stiskum na displeji (telefon je nekde venku v krabicce s par dalsima vecma, vlhkost by v te krabici byt asi nemela, ale ani poradne nevim, na co ta dotykova vrstva vlastne reaguje. Nicmene riziko, ze nekam zamatlam pri zandavani do krabice je stale...)


Re:WireGuard se na Androidu rozpadne po vypnutí obrazovky
« Odpověď #1 kdy: 19. 01. 2026, 22:52:10 »
Nedela to povwr saving mode? Mam sice klasicky Android ale musel jsem povolit beh na pozadi a zakazat ukoncovani wireguard kvuli setreni baterie. Jinak by se mi to taky pri zhasnutem displeji po case vypnulo. Takze neni na vine wireguard ale system.


S K

Re:WireGuard se na Androidu rozpadne po vypnutí obrazovky
« Odpověď #3 kdy: 24. 01. 2026, 18:45:35 »
No.. Kdyby se nenašlo řešení, zkusil bych se zeptat AI. jelikož mě téma zaujalo, tak jsem to s ní s dovolením konzultoval a přišlo mi, že k tomu má co říct.

Alternativně se dá mrknout do logcatu. případně i s jeho analýzou AI dokáže dost přesně pomoct :) to při pokročilých problémech se systémem nebo aplikacemi občas využívám též

Re:WireGuard se na Androidu rozpadne po vypnutí obrazovky
« Odpověď #4 kdy: 30. 01. 2026, 13:01:03 »
Po dlouhym hledani jsem se dohrabal existujicich reportu stejneho problemu z Android 14+.

Reseni tak uplne neexistuje, patrne jedine potencialne funkcni reseni je telefon rootnout a zajistit tam trvaly wake_lock.

Nebo to holt nechat bezet furt se zaplym displejem a na displeji aspon nejak hardwarove zneutralizovat touch. Snad to postaci necim obalit a nenadela tam bordel vlhkost. :/


Bugsa

  • ***
  • 150
    • Zobrazit profil
    • E-mail
Re:WireGuard se na Androidu rozpadne po vypnutí obrazovky
« Odpověď #5 kdy: 30. 01. 2026, 13:55:07 »
Tu app co jsem ti doporučoval jsi zkoušel? Jestli ano, zajímalo by mě co s ní bylo za problém? Já přes ni mám aktivní tunel na telefonu co je v šuplíku s vypnutým rozbitým displejem na nabíječce a ještě se mi nestalo, že by ten tunel spadl.

Re:WireGuard se na Androidu rozpadne po vypnutí obrazovky
« Odpověď #6 kdy: 30. 01. 2026, 13:58:50 »
klicovy slovo wakelock mi pripomnelo termux co to nabizi, mozna by byla snadna cesta ho bezet jako budika... a pak me napada nejakej mouse jiggler do usb :))

Re:WireGuard se na Androidu rozpadne po vypnutí obrazovky
« Odpověď #7 kdy: 30. 01. 2026, 16:39:39 »
Tu app co jsem ti doporučoval jsi zkoušel? Jestli ano, zajímalo by mě co s ní bylo za problém? Já přes ni mám aktivní tunel na telefonu co je v šuplíku s vypnutým rozbitým displejem na nabíječce a ještě se mi nestalo, že by ten tunel spadl.
Tam jsem trapne pohorel, nemam tam GApps a z telefonu se mi nedarilo dohledat se mirroru toho APKcka...
Tak jsem hledal znovu z pocitace a to uz jsem nasel https://www.apkmirror.com/apk/zane-schepke/wg-tunnel/wg-tunnel-3-8-1-release/wg-tunnel-3-8-1-android-apk-download/

Tak to jdu prubnout.



Zaroven ale pro sichr dotaz, nemas u toho telefonu na nabijecce aktivni "nespat, pokud se nabiji"?


Re:WireGuard se na Androidu rozpadne po vypnutí obrazovky
« Odpověď #9 kdy: 31. 01. 2026, 18:42:17 »
Nic, chova se to temer stejne. Rozdil je akorat v tom, ze po rozpadnuti spojeni je tento WGTunnel schopen se pripojit znovu, kdezto Wireguard vyzadoval letecky rezim/restart.


Nakolik to stejne bude muset byt po dobu pouzivani vzdycky pripojeny k powerbance, jevi se hardwarova neutralizace dotykove obrazovky jako celkem prijatelne reseni. Pokud to nejakej zaskodnik venku neobjevi a nevypne cudlikem.

Re:WireGuard se na Androidu rozpadne po vypnutí obrazovky
« Odpověď #10 kdy: Dnes v 17:22:27 »
Ahoj nikdy jsem wireguard s keepalivem na smartphonu neprovozoval,ale zkusil jsem to,pouze jsem si v konfiguraci appky vyplnil nenulový keepalive a uvidil co se bude dít. Ale jak čtu dotaz, kouká z toho na mě jedna věc, sice zmiňuješ wireguard x krát, ale prakticky chceš využít nějakou appku co poslouchá, (něco v terminálu, minimalistické nc -L -p 80 ) nebo přímo nějakou appku
 a tím se projeví rozdíl mezi ping a tcp connect = to je má teorie . tím se určí jestli je problém jen s zmraženou appkou nebo "appkou wireguardu"=nejde ani ping

Mé body k tomu:
v čem je problém, v jaké appce?  nebo ani ping nejde?
jsi na ipv4 či ipv6? nebo nějaké další tunely ?
mě to jde - - velice podobný konfig, LTE, IPv4, lineage (to fakt už je verze 22???)
beží wireguard v režimu root nebo userspace (volba v nastavení)

pravidelný ping 200ms (díky pomalýmu master serveru)
první ping po delší době 500ms

případně  sada pingů 2700ms, 1700ms, 122ms,155m,166ms.


... jednou v testování se mi stalo, že telefon neodpovídal ani na ping  ani na primitivní TCP "echo".

Problém je někde v konfigu lineage os, je tam víc úrovní wake lock, teď to asi nedokážu dohledat a jsou to různá doze a  co hůř , ty timeouty běží i k půl hodině, (to znamená, že až po půl hodině  nejpozději od zhasnutí se projeví, že appka odumře)

Asi 15 minut jsem di dal práci a hledal, jak jsem to nastavoval, není to soubor, ale mění se to příkazem:
https://gitlab.com/LineageOS/issues/android/-/issues/3431
 adb shell dumpsys deviceidle whitelist +com.android.messaging
adb shell dumpsys deviceidle whitelist +com.android.phone ...


NIcméně zkusil bych jednodušší test nejdřív,před editycí sys souborů
- wake lock v termuxu - přesně tak se chová skript v termuxu- zhasne obrazovka, skript se uspí bez wake locku
- najít :wireguard (+ aplikace)- Info oaplikaci -  využití baterie -2. položka optimalizace baterie, pokusit se zmenit z Optimalizovanáno na neoptimalizováno (provedení v ui je tristní - místo přepínače vyjede seznam všech appek, nahoře vyber optimalizovanáno- přepni na neoptimalizované, v seznamu vyber wireguard a appku a dej neopotimalizovat), tím pádem první položka Omezit využití zšedne.


PS: pokud má android appka, která naslouchat na portu, být špuštěna, zobrazí se nějaký dialog povolení oprávnění??? Neidky v android os jsem neviděl přes dlouhý seznám oprávnění něco jako povolit poslech na portu xyz.