Slow performance on Android

I see your default IPv6 route is a link-local address, can you ping IPv6 addresses from your Pi-hole?

ping6 -c 3 2001:4860:4860::8888

Yes, I can.

root@Storage:/# ping6 -c 3 www.google.com
PING www.google.com(ams16s29-in-x04.1e100.net) 56 data bytes
64 bytes from ams16s29-in-x04.1e100.net: icmp_seq=1 ttl=56 time=3.19 ms
64 bytes from ams16s29-in-x04.1e100.net: icmp_seq=2 ttl=56 time=2.20 ms
64 bytes from ams16s29-in-x04.1e100.net: icmp_seq=3 ttl=56 time=2.46 ms

--- www.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2048ms
rtt min/avg/max/mdev = 2.203/2.619/3.194/0.423 ms
root@Storage:/# ping6 -c 3 2001:4860:4860::8888
PING 2001:4860:4860::8888(2001:4860:4860::8888) 56 data bytes
64 bytes from 2001:4860:4860::8888: icmp_seq=1 ttl=56 time=6.24 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=2 ttl=56 time=5.53 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=3 ttl=56 time=5.66 ms

--- 2001:4860:4860::8888 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2031ms
rtt min/avg/max/mdev = 5.536/5.815/6.242/0.306 ms

Thank you so much for figuring this out.
I can confirm that disabling RFC 5006 fixes the performance flaws of Android devices in the network.

1 Like

You're welcome! Glad it helped someone else beyond me!

1 Like

Would be interesting to know what the RA packages look like that are sent by the fritz box. If anyone would like to try that out, I'd appreciate that. If you use e.g. wireshark you can use the following filter to see only ICMPv6 RA packets:

icmpv6.type==134

By the way, I did not solve this issue. Benjiir did :blush:

Yep, that's better.

I'm not familiar with Wireshark or networking, but I ran it for you.
Got 5 packets from the filter from turning RFC 5006 on and back off again. What I see is that the RFC 5006 packets have a length of 166 and without 144.

Hope this output helps. Lemme know if you need anything else or how I should export the data.

41716	191.729741	fe80::3631:c4ff:fe80:b625	ff02::1	ICMPv6	142	Router Advertisement from 34:31:c4:80:b6:25
41895	192.560649	fe80::3631:c4ff:fe80:b625	ff02::1	ICMPv6	166	Router Advertisement from 34:31:c4:80:b6:25
46759	214.714213	fe80::3631:c4ff:fe80:b625	ff02::1	ICMPv6	166	Router Advertisement from 34:31:c4:80:b6:25
134796	626.204757	fe80::3631:c4ff:fe80:b625	ff02::1	ICMPv6	166	Router Advertisement from 34:31:c4:80:b6:25
134977	627.030458	fe80::3631:c4ff:fe80:b625	ff02::1	ICMPv6	142	Router Advertisement from 34:31:c4:80:b6:25

41716:
0000   33 33 00 00 00 01 34 31 c4 80 b6 25 86 dd 60 00  33....41...%..`.
0010   00 00 00 58 3a ff fe 80 00 00 00 00 00 00 36 31  ...X:.........61
0020   c4 ff fe 80 b6 25 ff 02 00 00 00 00 00 00 00 00  .....%..........
0030   00 00 00 00 00 01 86 00 66 20 ff 40 07 08 00 00  ........f .@....
0040   00 00 00 00 00 00 03 04 40 c0 00 00 1c 20 00 00  ........@.... ..
0050   0e 10 00 00 00 00 20 01 09 84 3a f3 00 01 00 00  ...... ...:.....
0060   00 00 00 00 00 00 05 01 00 00 00 00 05 d4 18 01  ................
0070   00 00 00 00 07 08 18 02 30 00 00 00 07 08 20 01  ........0..... .
0080   09 84 3a f3 00 00 01 01 34 31 c4 80 b6 25        ..:.....41...%

41895:
0000   33 33 00 00 00 01 34 31 c4 80 b6 25 86 dd 60 00  33....41...%..`.
0010   00 00 00 70 3a ff fe 80 00 00 00 00 00 00 36 31  ...p:.........61
0020   c4 ff fe 80 b6 25 ff 02 00 00 00 00 00 00 00 00  .....%..........
0030   00 00 00 00 00 01 86 00 9d 99 ff 40 07 08 00 00  ...........@....
0040   00 00 00 00 00 00 03 04 40 c0 00 00 1c 1f 00 00  ........@.......
0050   0e 10 00 00 00 00 20 01 09 84 3a f3 00 01 00 00  ...... ...:.....
0060   00 00 00 00 00 00 19 03 40 c0 00 00 04 b0 20 01  ........@..... .
0070   09 84 3a f3 00 01 02 11 32 ff fe 22 d2 4f 05 01  ..:.....2..".O..
0080   00 00 00 00 05 d4 18 01 00 00 00 00 07 08 18 02  ................
0090   30 00 00 00 07 08 20 01 09 84 3a f3 00 00 01 01  0..... ...:.....
00a0   34 31 c4 80 b6 25                                41...%

46759:
0000   33 33 00 00 00 01 34 31 c4 80 b6 25 86 dd 60 00  33....41...%..`.
0010   00 00 00 70 3a ff fe 80 00 00 00 00 00 00 36 31  ...p:.........61
0020   c4 ff fe 80 b6 25 ff 02 00 00 00 00 00 00 00 00  .....%..........
0030   00 00 00 00 00 01 86 00 9d af ff 40 07 08 00 00  ...........@....
0040   00 00 00 00 00 00 03 04 40 c0 00 00 1c 09 00 00  ........@.......
0050   0e 10 00 00 00 00 20 01 09 84 3a f3 00 01 00 00  ...... ...:.....
0060   00 00 00 00 00 00 19 03 40 c0 00 00 04 b0 20 01  ........@..... .
0070   09 84 3a f3 00 01 02 11 32 ff fe 22 d2 4f 05 01  ..:.....2..".O..
0080   00 00 00 00 05 d4 18 01 00 00 00 00 07 08 18 02  ................
0090   30 00 00 00 07 08 20 01 09 84 3a f3 00 00 01 01  0..... ...:.....
00a0   34 31 c4 80 b6 25                                41...%

134796:
0000   33 33 00 00 00 01 34 31 c4 80 b6 25 86 dd 60 00  33....41...%..`.
0010   00 00 00 70 3a ff fe 80 00 00 00 00 00 00 36 31  ...p:.........61
0020   c4 ff fe 80 b6 25 ff 02 00 00 00 00 00 00 00 00  .....%..........
0030   00 00 00 00 00 01 86 00 9d 98 ff 40 07 08 00 00  ...........@....
0040   00 00 00 00 00 00 03 04 40 c0 00 00 1c 20 00 00  ........@.... ..
0050   0e 10 00 00 00 00 20 01 09 84 3a f3 00 01 00 00  ...... ...:.....
0060   00 00 00 00 00 00 19 03 40 c0 00 00 04 b0 20 01  ........@..... .
0070   09 84 3a f3 00 01 02 11 32 ff fe 22 d2 4f 05 01  ..:.....2..".O..
0080   00 00 00 00 05 d4 18 01 00 00 00 00 07 08 18 02  ................
0090   30 00 00 00 07 08 20 01 09 84 3a f3 00 00 01 01  0..... ...:.....
00a0   34 31 c4 80 b6 25                                41...%

134977:
0000   33 33 00 00 00 01 34 31 c4 80 b6 25 86 dd 60 00  33....41...%..`.
0010   00 00 00 58 3a ff fe 80 00 00 00 00 00 00 36 31  ...X:.........61
0020   c4 ff fe 80 b6 25 ff 02 00 00 00 00 00 00 00 00  .....%..........
0030   00 00 00 00 00 01 86 00 66 21 ff 40 07 08 00 00  ........f!.@....
0040   00 00 00 00 00 00 03 04 40 c0 00 00 1c 1f 00 00  ........@.......
0050   0e 10 00 00 00 00 20 01 09 84 3a f3 00 01 00 00  ...... ...:.....
0060   00 00 00 00 00 00 05 01 00 00 00 00 05 d4 18 01  ................
0070   00 00 00 00 07 08 18 02 30 00 00 00 07 08 20 01  ........0..... .
0080   09 84 3a f3 00 00 01 01 34 31 c4 80 b6 25        ..:.....41...%

Thanks. That worked well, it seems, but those outputs are rather hard to parse for a human :wink: Could you make some screenshots showing the interpreted content?

Like this one (captured on my network):

The highlighted line is the one which tells my devices the address of my Pi-hole (but I'm also using the Pi-hole DHCP server). What you can already see (in the very first line), my packets are 144 bytes long as yours with disabled option.

Hope this parses better:

144 bytes:

166 bytes (RFC 5006):

Yes, Thank you. However, that is quite strange, since for you the version that does not contain the Recursive DNS Server info works better
In contrast, I have found that for me only the version with this makes the DNS server also work with IPv6.
Your configuration simply lets the IPv6 server unspecified and the Android devices will only use the IPv4 address of your Pi-hole to get both, IPv4 and IPv6 query answers - which is perfectly fine by the way!

Maybe it's related to the android version (5.0.2) which is a bit older and uses a different IPV6 to IPV4 implementation from what I'm reading than 5.1+ versions. And maybe it's something in the FritzBox.

Either way, disabling RFC 5006 makes pi-hole run perfectly on my network, so I'm happy.

Could be, I'm using Android 6.0.

I have similar problems with Pi Hole and Android 6.0 and 7.0. The websites load very slow.
When I change the dns network settings on a android device it works with no problems.
I look for a solution in the router settings, but my router have no dns options to change some dns server or ipv6 settings. The router is a Telekom hybrid from Huawei.

This may not reveal much, but can we get a pihole -d run and see if there's anything that may be easy to spot in the configuration?

If you're unable to set the DNS server in the router, try disabling the DHCP server in the router and enable Pi-hole's DHCP server via the web interface.

I'm having the same issue with my fritz.box
But I think mine does not have the ipv6 settings since I might have disabled all ipv6 functions...

Benjiir, where is that setting located.. Or should be located?

Is there any other thing I could do?

Oh and it is not on every page.. Only on some.. And some work faster others slower..
Without they are usually all fast (cable 400mbit)

Hey Chris,

Sorry for my late reply.
You can find this setting here:

Home Network --> Home Network Overview
Click on the [Network Settings] Tab
Scroll down and click on the [IPv6 Addresses] Button
In the DNSv6 Server in the Home Network section disable the checkbox "Also announce DNSv6 server via router advertisement (RFC 5006)".

ugly paint view:

Save your changes and changes should take into effect on your Android device.
I think the changes are instant, but if not you could try and disable / enable your Android's WiFi to get updated DHCP information.

1 Like

I have a similar issue and did some additional investigation. See here: Pi hole slow at loading some sites - #20 by mpve

I checked my captured network traffic and my Android device is using IP4 network addresses...

I also would not be surprised if Android forces ads on you in a method such as:

Thank you for the suggestion, Jacob.

I checked network traffic and see that my desktop Chrome browser uses QUIC but my Android browsers do not..