push apps failing in Android until you disable IPv6

Ted Mittelstaedt tedm at ipinc.net
Mon May 9 10:37:59 CEST 2016


Sorry for the late reply but there is a bug with Android and IPv6 where 
if the Android device is booted and for whatever reason SLAAC is not
running on the wifi network the Android device is using, then Android 
will not then properly get IPv6 on other wifi networks that ARE enabled.

Typical scenario is user boots their device at home, connects to the
home wifi which does not have IPv6 enabled, or has it enabled but
it's broken, does their thing, then takes the device to a wifi network 
with IPv6 enabled, and associates it.

The Android device will pick up the fe80 link-local address just fine
but it won't then pick up the "actual" IPv6 address.

If the IPv6 router is handing it's OWN address out as an IPv6 DNS server 
via RDNSS, (which might also be fe80 since they are on the
same subnet)  then you have a situation where the Droid device
think's it's on a working IPv6 wifi network (because IPv6 name 
resolution is then working) but it cannot reach IPv6 addresses on the 
Internet via wifi.

Assuming spacebook and friends are ipv6 enabled, that's why the
notifications are failing, the notifier apps try making an IPv6
connection to spacebook, fail, and give up - rather than keeping
at it and switching down to IPv4.

If the Android device boots on a wifi network with SLAAC properly
running, then there is no problem if it travels from IPv6-enabled
wifi network to IPv6 wifi network.

I ran into this when writing an Android app that mucked around
in the arp table.   Also note you won't see the problem unless you
run a terminal app on Android and use ifconfig at the command
line - because the "about phone" under the Settings won't show
any ipv6 if all that there is, is fe80 assigned.

Set your test bed up again to replicate the problem and actually
look at the command line with ifconfig to see what is really
going on when it is failing.

Ted

On 4/30/2016 5:03 AM, JORDI PALET MARTINEZ wrote:
> Hi,
>
> I’m not an Android user, but while doing and IPv6 training, many folks in the meeting room told me that they needed to disable IPv6 in the router/Android devices, otherwise they aren’t getting the notifications from WhatsApp, Facebook, and many other apps.
>
> We have tried disabling energy saving options in Android, and it seems the problems is not there. Basically, if the Android device is in stand-by, notifications don’t come, until you “open” the Android. Apple and Windows devices don’t have this problem.
>
> The scenario seems to happen regardless of the type of CPE (some observed this with ADSL, others with GPON).
>
> Just for having a “stable scenario” were to try, we have actually replicated this problem with Android 4.4 and 5.1, with an ONT Huawei HG8245H, hw v 494.B and firmware v V3R013C00S106.
>
> We have tried using both the ONT as the wireless AP and also disabling the WiFi on the ONT and using an external AP. Same problem in both situations.
>
> Don’t look like an issue related to a specific ISP, because the situation happens in many different ISPs, and of course none of them provides IPv6 :-(
>
> I’m specially worried because the ISPs are telling the users to disable IPv6 everywhere …
>
> Any hints ?
>
> Regards,
> Jordi
>
>
>
>
>
>


More information about the ipv6-ops mailing list