Samsung phones block WiFi IPv6 when sleeping, delayed notifications

John Mann john.mann at monash.edu
Thu Jun 11 08:00:36 CEST 2015


Lorenzo

On 10 June 2015 at 18:23, Lorenzo Colitti <lorenzo at google.com> wrote:

> John,
>
> are *all* IPv6 packets blocked, or just multicast packets? I know that a
> number of devices will drop multicast IPv6 packets. This eventually
> blackholes connections because the device stops receiving RAs and thus
> loses its default route, but that can be worked around by setting long
> timers in the RA. I wasn't aware of devices dropping all inbound IPv6
> packets, that really seems like a bad bug.
>

Probably *all* IPv6 packets. The phone drops IPv6 ICMP pings, and IPv6
TCP/IP packets (at least)

How I tested:
- Install "Network Info II", "JuicsSSH" and "Netstat Plus" apps.
- Connect the phone and a test PC/server to a dual-stack IPv4/IPv6 network
- use "Network Info II" to find out the phone's global unique IPv6 "wlan0"
WiFi addresses (they begin 2xxx: )
  and wlan0 IPv4 address (nnn.nnn.nnn.nnn)

Test 1: ping
- From a PC command prompt do a continuous ping to a phone IPv6 address,
  and from another command prompt do a continuous ping to the phone's IPv4
address
- Turn phone screen off, IPv6 pings stop, turn phone screen on, IPv6 pings
re-start, ...

Test 2: TCP/IP
- Run JuicsSSH on phone
- ssh to IPv6 host(name)
- on the IPv6 host start a tcpdump or wireshark looking for the phone's
privacy address (doesn't have ..ff:fe..in it)
- run a command like "vmstat 5 60" to generate a low rate of TCP/IP traffic
over IPv6.
- turn phone screen off
- packet capture shows host re-sends the next line of output multiple times
...
- turn phone screen on
- packet capture shows output catching up

I tried using Netstat Plus to try and work out what connections the phone
had open,
and what they were used for, but it wasn't obvious.
- Google Play services connecting to a IPv4 server on port 5228, and IPv6
server on port 443
- Samsung Push Service connecting to a IPv4 server on port 5223


FWIW, if you need an existence proof that it's possible to make this work,
> recent Nexus device should not have either problem. Feel free to ask
> Samsung to get in touch with me if they want to know how it works on Nexus.
>
> A network that is configured to send RAs every 15 seconds will have a
> devastating effect on battery life, and such networks are part of the
> reason that manufacturers drop all multicast packets during sleep. Please
> don't do that. Nexus devices rate-limit RAs in firmware in order to survive
> on such aggressive networks, but that's not perfect.
>
> Cheers,
> Lorenzo
>

Thanks,
    John

On Wed, Jun 10, 2015 at 2:33 PM, John Mann <john.mann at monash.edu> wrote:
>
>> Hi,
>>
>> We have noticed that Samsung Android phones and tablets on dual-stack
>> IPv4/IPv6 WiFi experience delayed Google notifications when the screen is
>> off.
>> This issue is blocking the enabling of IPv6 across our large campus WiFi
>> network.
>>
>> Has anyone else experienced this behaviour and escalated this to Samsung,
>> or found a fix?
>>
>> Our Samsung liaison person today said
>> ===
>>
>> ---
>>
>> IPv6 packets are getting filtered due to the current consumption issue
>> while device is in sleep mode.
>>
>>
>>
>> *IPv6 Concept of Samsung models:*
>>
>>
>>
>> When device enters the sleep mode, current implementation is that all the
>> IPv6 packets from AP are getting blocked. All IPv4 and IPv6 packets are
>> received while the LCD is on, however LCD off will be in blocked mode.
>>
>> This is because some of the current AP in markets introduces unnecessary
>> IPv6 Multicast packets, which in turn wake up the devices which are in
>> sleep mode, causing the issue of increase in the current consumption.
>>
>> Therefore a feature is applied on WiFi driver to filter off all IPv6 packets
>> while in sleep mode.
>>
>> ---
>>
>>
>>
>> I have requested , How to activate that filter on for all IPv6 packets
>> even when device at sleep mode. So far, it seems like it’s a permanent
>> implementation and filter is not customizable for configuration.
>> ===
>>
>>
>> This problem has been raised before.  See
>>     http://commandline.ninja/2014/01/02/samsung-galaxy-s4-ipv6-borked/
>>
>>
>> http://developer.samsung.com/forum/board/thread/view.do?boardName=General&messageId=239890
>> ---
>> Hi, this is a serious bug in the WIFI driver of several Samsung Android
>> phones, which prevents IPv6 enabled WLAN networks to work correctly. The
>> phone is almost unuseable (while in standby mode) if it is part of a IPv6
>> enabled wireless, because the lower level link protocol misses to update
>> routing information and neighbourhood discovery.
>> ...
>>
>> *This is really a serious IPv6 problem on the broadcom-wifi samsung
>> phones that should be solved by a coming firmware update for the wifi radio
>> firmware or kernel driver. In the current state, Samsung phones with that
>> problem cannot be used in IPv6 enabled wifi networks - and you have no
>> chance to disable IPv6 on the phone!!!*
>> ---
>> developers.samsung , Jul 31, 2013 08:46
>> Hello,
>>
>> Blocking packets of IPv6 when screen is off is intended because battery
>> runs down rapidly due to increasing standby power.
>>
>> End-users can connect to networks continually by IPv4.
>>
>> Best Regards,
>> Samsung Developers
>> ---
>>
>> See also
>>    https://code.google.com/p/android/issues/detail?id=32662
>>
>> Thanks,
>>     John
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.cluenet.de/pipermail/ipv6-ops/attachments/20150611/7751ad0d/attachment-0001.html 


More information about the ipv6-ops mailing list