pstils
August 1, 2025, 3:16pm
1
I’m having trouble getting a wireguard vpn connection on my partners new fairphone 6 running e/os andoird 15, /e/ OS version 3.0.4-a15-20250708507307-official-FP6. It’s a completely fresh install.
I have a home server running the wireguard VPN. It’s working on all other devices (iPhone, couple of macbooks), configured in the same way (pivpn -a).
When I import the conf file (directly, or using the QR code) I get the connection request, and wireguard shows in the VPN list in the Network and Internet settings. It’s not toggled to “always-on VPN”, but doesn’t work either way. There are no other VPNs in the list.
I’ve tried the WG Tunnel app, I’ve tried side-loading the wireguard app - same results.
The conf file looks like this:
[Interface]
PrivateKey = [redacted]
Address = 10.58.127.3/24,fd11:5ee:bad:c0de::3/64
DNS = 208.67.222.222, 208.67.220.220
[Peer]
PublicKey = <server_public_key_redacted>
PresharedKey =
Endpoint = [MY_IP_REDACTED]:51820
AllowedIPs = 0.0.0.0/0, ::0/0
Any help with this would be much appreciated.
tcecyk
August 1, 2025, 7:07pm
2
while both the official wireguard app and wg-tunnel can use a usermode userspace implementation and built-in kernel wireguard (5.6+), only wg tunnel exposes a user switch for this through the settings. Is your experience any different if you explicitly run the usermode userspace implementation?
pstils
August 2, 2025, 6:40am
3
In WG Tunnel the switch to run using the kernel module rather than in userspace is set to usermode, but when I try to switch it to kernel mode it says “Root shell denied”.
The phone is not rooted, and I’d rather not root it, but if there’s a way to temporarily do so to enable the kernel module then I’d be happy to try.
smu44
August 2, 2025, 7:05am
4
In WG Tunnel there is a “Local logging” setting, maybe something of interest will show then?
pstils
August 2, 2025, 9:47am
5
Here’s what I’m getting from the logs:
1754127741.621 29746 29746 W WindowOnBackDispatcher: sendCancelIfRunning: isInProgress=false callback=b.w@f25a4dd
1754127742.865 29746 31827 I AmneziaWG/GoBackend: Bringing tunnel ml_ff UP
1754127742.868 29746 31827 D AmneziaWG/GoBackend: Requesting to start VpnService
1754127742.878 29746 31827 I AmneziaWG/GoBackend: FD already closed
1754127742.904 29746 31827 D AmneziaWG/GoBackend: Go backend v0.2.11
1754127742.906 29746 31827 D AmneziaWG/ml_ff: Attaching to interface tun0
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: decryption worker 1 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: encryption worker 1 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: decryption worker 5 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: handshake worker 1 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: encryption worker 2 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: decryption worker 2 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: handshake worker 2 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: encryption worker 3 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: decryption worker 3 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: handshake worker 3 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: encryption worker 4 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: decryption worker 4 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: handshake worker 4 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: encryption worker 5 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: decryption worker 7 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: handshake worker 5 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: encryption worker 6 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: decryption worker 6 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: handshake worker 6 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: encryption worker 7 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: decryption worker 8 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: handshake worker 7 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: encryption worker 8 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: handshake worker 8 - started
1754127742.907 29746 29761 D AmneziaWG/ml_ff: Routine: TUN reader - started
1754127742.907 29746 31827 D AmneziaWG/ml_ff: UAPI: Updating private key
1754127742.910 29746 31827 D AmneziaWG/ml_ff: UAPI: Removing all peers
1754127742.910 29746 31827 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - UAPI: Created
1754127742.910 29746 31827 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - UAPI: Adding allowedip
1754127742.911 29746 31827 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - UAPI: Updating endpoint
1754127742.911 29746 31827 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - UAPI: Updating persistent keepalive interval
1754127742.911 29746 31827 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - UAPI: Updating preshared key
1754127742.911 29746 31827 E AmneziaWG/ml_ff: UAPIOpen: mkdir /data/data/org.amnezia.awg: permission denied
1754127742.913 29746 29966 D AmneziaWG/ml_ff: Routine: event worker - started
1754127742.916 29746 31827 D AmneziaWG/ml_ff: UDP bind has been updated
1754127742.917 29746 29966 D AmneziaWG/ml_ff: Routine: receive incoming v4 - started
1754127742.917 29746 29965 D AmneziaWG/ml_ff: Routine: receive incoming v6 - started
1754127742.925 29746 31827 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Starting
1754127742.925 29746 31827 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending keepalive packet
1754127742.925 29746 31827 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127742.925 29746 29966 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Routine: sequential receiver - started
1754127742.925 29746 29966 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Routine: sequential sender - started
1754127742.928 29746 31827 D AmneziaWG/ml_ff: Interface state was Down, requested Up, now Up
1754127742.928 29746 31827 D AmneziaWG/ml_ff: Device started
1754127746.338 29746 29750 I guardautotunnel: Compiler allocated 4319KB to compile java.lang.Object C.m.j(java.lang.Object, java.lang.Object)
1754127748.087 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127748.087 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127753.319 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127753.320 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127758.446 29746 29761 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127758.446 29746 29761 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127763.777 29746 29761 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127763.777 29746 29761 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127764.262 29746 29746 D InsetsController: hide(ime(), fromIme=false)
1754127764.262 29746 29746 I ImeTracker: com.zaneschepke.wireguardautotunnel:97d1aa5: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
1754127766.585 29746 29746 D VRI[MainActivity]: visibilityChanged oldVisibility=true newVisibility=false
1754127766.605 29746 29746 W WindowOnBackDispatcher: sendCancelIfRunning: isInProgress=false callback=b.w@f25a4dd
1754127769.086 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127769.086 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127774.331 29746 29966 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127774.331 29746 29966 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127779.640 29746 29968 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127779.640 29746 29968 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127784.830 29746 29968 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127784.831 29746 29968 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127790.133 29746 29761 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 3)
1754127790.133 29746 29761 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127795.180 29746 29966 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 4)
1754127795.180 29746 29966 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127800.201 29746 29968 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127800.201 29746 29968 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127805.505 29746 29761 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127805.505 29746 29761 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127810.802 29746 29966 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127810.802 29746 29966 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127816.124 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127816.124 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127817.673 29746 29746 D ViewRootImpl: Skipping stats log for color mode
1754127817.820 29746 29746 D InsetsController: hide(ime(), fromIme=false)
1754127817.820 29746 29746 I ImeTracker: com.zaneschepke.wireguardautotunnel:8cbeb73c: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
1754127821.218 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 3)
1754127821.218 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127826.311 29746 29966 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 4)
1754127826.312 29746 29966 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127831.502 29746 29761 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 5)
1754127831.503 29746 29761 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127835.471 29746 29746 D VRI[MainActivity]: visibilityChanged oldVisibility=true newVisibility=false
1754127835.498 29746 29746 W WindowOnBackDispatcher: sendCancelIfRunning: isInProgress=false callback=b.w@f25a4dd
1754127836.665 29746 29968 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 6)
1754127836.665 29746 29968 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127841.698 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Handshake did not complete after 5 seconds, retrying (try 2)
1754127841.698 29746 29967 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Sending handshake initiation
1754127842.371 29746 29746 D ViewRootImpl: Skipping stats log for color mode
1754127842.474 29746 29746 D InsetsController: hide(ime(), fromIme=false)
1754127842.474 29746 29746 I ImeTracker: com.zaneschepke.wireguardautotunnel:10149b36: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
1754127844.697 29746 29750 I guardautotunnel: Compiler allocated 4658KB to compile void O2.u.d(V5.a, Z5.L, U.o, int)
1754127844.699 29746 29746 W WindowOnBackDispatcher: sendCancelIfRunning: isInProgress=false callback=b.w@f25a4dd
1754127846.637 29746 31784 I u : Stopping tunnel ml_ff userspace
1754127846.646 29746 31784 I AmneziaWG/GoBackend: Bringing tunnel ml_ff DOWN
1754127846.646 29746 31784 D AmneziaWG/ml_ff: Device closing
1754127846.646 29746 29966 D AmneziaWG/ml_ff: Routine: event worker - stopped
1754127846.693 29746 29967 D AmneziaWG/ml_ff: Routine: TUN reader - stopped
1754127846.693 29746 29761 D AmneziaWG/ml_ff: Routine: receive incoming v4 - stopped
1754127846.694 29746 29761 D AmneziaWG/ml_ff: Routine: receive incoming v6 - stopped
1754127846.694 29746 31784 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Stopping
1754127846.694 29746 29761 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Routine: sequential sender - stopped
1754127846.694 29746 29966 D AmneziaWG/ml_ff: peer(PtXX…DIzI) - Routine: sequential receiver - stopped
1754127846.695 29746 31784 D AmneziaWG/ml_ff: Device closed
1754127846.695 29746 29966 D AmneziaWG/ml_ff: Routine: decryption worker 1 - stopped
1754127846.695 29746 29967 D AmneziaWG/ml_ff: Routine: decryption worker 6 - stopped
1754127846.696 29746 29967 D AmneziaWG/ml_ff: Routine: handshake worker 3 - stopped
1754127846.696 29746 29967 D AmneziaWG/ml_ff: Routine: handshake worker 4 - stopped
1754127846.696 29746 29965 D AmneziaWG/ml_ff: Routine: decryption worker 8 - stopped
1754127846.696 29746 29965 D AmneziaWG/ml_ff: Routine: handshake worker 2 - stopped
1754127846.696 29746 29965 D AmneziaWG/ml_ff: Routine: handshake worker 7 - stopped
1754127846.696 29746 29771 D AmneziaWG/ml_ff: Routine: handshake worker 5 - stopped
1754127846.696 29746 29965 D AmneziaWG/ml_ff: Routine: handshake worker 8 - stopped
1754127846.696 29746 29965 D AmneziaWG/ml_ff: Routine: handshake worker 6 - stopped
1754127846.696 29746 29965 D AmneziaWG/ml_ff: Routine: decryption worker 7 - stopped
1754127846.696 29746 29771 D AmneziaWG/ml_ff: Routine: decryption worker 4 - stopped
1754127846.696 29746 29761 D AmneziaWG/ml_ff: Routine: handshake worker 1 - stopped
1754127846.696 29746 29966 D AmneziaWG/ml_ff: Routine: decryption worker 2 - stopped
1754127846.696 29746 29759 D AmneziaWG/ml_ff: Routine: decryption worker 3 - stopped
1754127846.696 29746 29759 D AmneziaWG/ml_ff: Routine: encryption worker 3 - stopped
1754127846.696 29746 29967 D AmneziaWG/ml_ff: Routine: decryption worker 5 - stopped
1754127846.696 29746 29967 D AmneziaWG/ml_ff: Routine: encryption worker 2 - stopped
1754127846.696 29746 29967 D AmneziaWG/ml_ff: Routine: encryption worker 7 - stopped
1754127846.696 29746 29967 D AmneziaWG/ml_ff: Routine: encryption worker 8 - stopped
1754127846.696 29746 29967 D AmneziaWG/ml_ff: Routine: encryption worker 6 - stopped
1754127846.696 29746 29966 D AmneziaWG/ml_ff: Routine: encryption worker 5 - stopped
1754127846.696 29746 31784 D AmneziaWG/GoBackend: Service is now active
1754127846.699 29746 29759 D AmneziaWG/ml_ff: Routine: encryption worker 4 - stopped
1754127846.699 29746 29761 D AmneziaWG/ml_ff: Routine: encryption worker 1 - stopped
1754127848.459 29746 29746 D VRI[MainActivity]: visibilityChanged oldVisibility=true newVisibility=false
1754128055.884 29746 29746 D ViewRootImpl: Skipping stats log for color mode
1754128055.997 29746 29746 D InsetsController: hide(ime(), fromIme=false)
1754128055.998 29746 29746 I ImeTracker: com.zaneschepke.wireguardautotunnel:454eab36: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
1754128072.593 29746 29746 D VRI[MainActivity]: visibilityChanged oldVisibility=true newVisibility=false
1754128072.622 29746 29746 W WindowOnBackDispatcher: sendCancelIfRunning: isInProgress=false callback=b.w@f25a4dd
1754128080.288 29746 29751 W guardautotunnel: Reducing the number of considered missed Gc histogram windows from 105 to 100
1754128080.778 29746 29746 D ViewRootImpl: Skipping stats log for color mode
1754128080.794 29746 29777 I AdrenoGLES-0: QUALCOMM build : 6c4e93ae0c, Id536f549c1
1754128080.794 29746 29777 I AdrenoGLES-0: Build Date : 02/21/25
1754128080.794 29746 29777 I AdrenoGLES-0: OpenGL ES Shader Compiler Version: E031.47.18.24
1754128080.794 29746 29777 I AdrenoGLES-0: Local Branch :
1754128080.794 29746 29777 I AdrenoGLES-0: Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.VENDOR.14.3.0.11.00.00.973.839
1754128080.794 29746 29777 I AdrenoGLES-0: Remote Branch : NONE
1754128080.794 29746 29777 I AdrenoGLES-0: Reconstruct Branch : NOTHING
1754128080.794 29746 29777 I AdrenoGLES-0: Build Config : S L 16.1.2 AArch64
1754128080.795 29746 29777 I AdrenoGLES-0: Driver Path : /vendor/lib64/egl/libGLESv2_adreno.so
1754128080.795 29746 29777 I AdrenoGLES-0: Driver Version : 0800.31
1754128080.795 29746 29777 I AdrenoGLES-0: Process Name : com.zaneschepke.wireguardautotunnel
1754128080.802 29746 29777 I AdrenoGLES-0: PFP: 0x01100067, ME: 0x00000000
1754128080.868 29746 29746 D InsetsController: hide(ime(), fromIme=false)
1754128080.868 29746 29746 I ImeTracker: com.zaneschepke.wireguardautotunnel:ac9d1280: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
1754128097.399 29746 29746 D InsetsController: hide(ime(), fromIme=false)
1754128097.399 29746 29746 I ImeTracker: com.zaneschepke.wireguardautotunnel:410d8f42: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
pstils
August 2, 2025, 10:17am
6
I think the problem might be there.
tcecyk
August 2, 2025, 10:27am
7
imo most relevant is
Handshake did not complete after 5 seconds
Can you ssh into the pivpn and tcpdump on the interface to look what arrives?
When you transfered a config per QRcode - was that same file known to be working elsewhere on the other devices you mention, just as sanity check?
pstils
August 2, 2025, 12:04pm
8
tcecyk:
just as sanity check?
SMH, I’m an idiot - pivpn -a was configuring the endpoint incorrectly. Used a known working conf worked, and then manually correcting that in the conf fixed it. IDK if it’s possible to delete the thread - this has nothing to do with /e/os and everything to do with my idiocy.
1 Like
tcecyk
August 2, 2025, 12:09pm
9
troubleshooting threads have their own worth.
I fumbled many wireguard configs and banged my head until realizing I switched private, public or preshared key in some field. They all have the same damn length. A key prefix would make it obvious…