Problems like this can happen even to the largest manufacturers. There are reports of pixel phones losing WiFi connectivity after the recent Android 17 update if IPv6 is disabled. Good luck to those using phones of Google and Fairphone in the same network.
I would love to see a post-mortem after this is resolved to get an idea on what really went wrong, but don’t have high hopes on this.
Currently we do not know if Fairphone already identified the root cause or not. We do not even know how widespread the problem is. A Fritzbox seems reliably triggering the problem, but even this is guesswork.
Would anyone be interested in the workflow i created that checks if v6 is available as soon as the screen gets unlocked? I used tasker and shizuku on unrooted phone. Its just some QoL and only really viable if you don’t reboot the phone as shizuku needs some adb prompts to be able to toggle wifi. Insane how locked up Android is by now, Tasker sadly became very limited.
The task checks IPv6 connectivity by making an HTTP request to ipv6.google.com. If IPv6 or the tasks itself fails (based on HTTP response code), it restarts Wi-Fi using svc wifi disable/enable. Happy to provide the xml if allowed.
This unfixed v6 issue and lack of communication by Fairphobe really is a pure joke by now.
Ok.. for the people who have access to a somewhat decent AI model. I’ve created a dev version of an .apk that forces IPv4, so I don’t need to use actual VPN running all the time.
In summary, give this prompt to your AI:
Drop into any capable AI (Claude, ChatGPT, Gemini):
---
> **Build me an Android app called "IPv4 Enforcer" that forces my phone to use IPv4 only.**
>
> Use Android's `VpnService` API to create a local-only VPN (no external server). The approach:
> - Set a fake DNS server IP (e.g. `10.99.0.2`) and only route that single IP through the TUN interface — this way only DNS traffic enters the VPN, avoiding any traffic loop
> - Intercept DNS queries, forward them to `8.8.8.8` over the real network (using `protect()` on the socket), strip all AAAA (IPv6) records from responses, and return only A (IPv4) records
> - Run as a foreground service with a persistent notification and a "Stop" action
> - Simple Compose UI: toggle button (Start/Stop Protection) + status indicator
>
> Stack: Kotlin, Jetpack Compose, Material 3, minSdk 28, targetSdk 35.
> In the manifest, add `foregroundServiceType="specialUse"` to the service and the `FOREGROUND_SERVICE_SPECIAL_USE` permission to avoid crashes on Android 14+.
Interesting, as it mentions a fix for loading issues of some apps when connected to Wi-fi.
Edit: Well in German it says they solved this problem but the English release notes say they improved loading times of some apps while connected to Wi-fi.