Problem with video streaming services and IPv6

Hi! Since two days ago, I've observed that I have some problems with video streaming with my Android phones and an Android TV:

  • Netflix works perfectly.
  • Prime video takes some time to load a video, can be near 1 minute.
  • HBO Max takes a lot of time to load a video or the app, can be 2 minutes or more.

Using one internet browser in a laptop HBO Max works.

I have observed that if I disable the IPv6 wan interface, then Prime Video and HBO Max work again, but I don't know exactly why.

My setup, Xiaomi AX3600 as router, with latest OpenWrt master, connected to the ONT of the ISP. The protocol is PPPoE and the ISP gives a IPv4 address, a IPv6 address and a 56 prefix IPv6.

Someone knows what is the problem? Some configuration/bug with OpenWRT? Some with the ISP? Something that I can test to get more information?

Thanks in advance!

Maybe there is some misconfiguration from the ISP side and although the devices have IPv6 it is actually not working and the delay you experience is the timeout of IPv6?

2 Likes

Yes on a client machine try some ping -4 and ping -6 to different sites. If one IP family seems to not be working, repeat the test on the router itself.

1 Like

The IPv6 was working (at least until two days ago), tested with ping, access from internet to one internal server using IPv6, several pages that test IPv6, etc.

Yesterday I disabled the IPv6 during several hours, to make HBO max work again, and enabled it again later to test the ping with IPv6 as requested, but, for my surprise, HBO max is working again. I don't know if the problem was fixed on the ISP side, or for some reason HBO is now using the IPv4 and ignoring the IPv6 that produced the problem.

I will keep an eye on it in the next days, and I will report back if it fails again.

Thanks to both for your suggestions!

1 Like

As a quick and dirty test for which application uses which IP protocol version I simply run:
iftop -i pppoe-wan on my router (use opkg update ; opkg install iftop if you have not already installed it)
then run the streaming application you want to test (preferably on a quiet network to make the relevant flows easier to find) and look whether the new traffic reveals IPv4 or IPv6 addresses in iftop. Sure that is hardly scientific, but requires no storage for a capture file and will be quick and dirty for applications that cause noticeable sustained traffic like vide streaming.

4 Likes

Thanks for the iftop suggestion! I didn't know about this command... very useful for this.

Tried with it and I discovered some things:

  • The TV was streaming using IPv4 with HBO Max
  • Looking at the connection properties on the TV, it did not appear any IPv6 assigned. Strange. I restarted the TV and then it has several IPv6 (like habitual).
  • I tested again HBO Max, and the streaming was working correctly.
  • Tested again with iftop and now the streaming is being made using IPv6.

So it seems now it works, with IPv4 and IPv6.

1 Like

It has happened again. HBO max, and others don't work now. I've tried with ping for IPv4 and IPv6 and both work.

Some suggestion to try before restarting all, that seemed to work the latest time?

More info: the ping ipv6 works from the devices that don't have any problem. But if I do the same from the devices with problems, like my Android phone, the ping IPv6 fails.
So yes, the IPv6 fails but only from some devices.

Make note of your prefix. If the ISP changes your prefix, you probably will need to restart things to acquire the new prefix and get IPv6 to work again.

1 Like

That seems to be the underlaying problem here. The devices are biased towards using IPv6 and if that does not work as expected take a long time to either fix their IPv6 config (once they started to stream, does IPv6 ping to/from these devices work again) or more likely to fall back to using IPv4.

The most bang for your buck/time is trying to make these devices aways have working IPv6....

It seems the problem is bigger than that. Rebooting the device (so I suppose it must take new "ipv6" config) does not fix the problem.

Here are my tests:

  • I have two Xiaomi AX3600 in mesh. One as a router and the other as plain AP. If I do a ping with IPv6 from any of them, the ping works. So it seems the real connectivity is there.
  • I've tried from my Android TV, Android Phone and Windows 10 latptop. Neither of them work with IPv6.
  • I tried to `service network restart', it does not fix the issue.
  • I tried to reboot the router, it does not fix the issue.
  • I tried to reboot the TV, Android phone and Windows laptop, it does not fix the issue.

Does your ISP rely on 6rd tunneling for IPv6?

What happens if you try with larger packets (say 1500 bytes) with ping6, and work your way down?

I've had problems with path MTU discovery on IPv6 via 6rd with my ISP and some services and had to force it to 1280 in the Advanced tab of the settings for the IPv6 WAN interface.

I don't know what is this :thinking:

I can't do more tests. My daugher come from the school and wanted internet, so I let the router with IPv4 for some time. And like the last time, now I've enabled IPv6 again to test it and IPv6 is working again.
When it fails again I will try to do more tests. The latest time it last 5 days.

Look at your IPv6 WAN interface in the list of interfaces. If it's using 6rd the protocol will be "IPv6-over-IPv4 (6rd)"

Understood. I can't see that. I have a PPPoE connection, and I have the IPv4 over it, and a DHCPv6 over it too.

Please run the following commands (copy-paste the whole block) and paste the output here, using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have

ubus call system board; \
uci export network; \
uci export dhcp; uci export firewall; \
ip -4 addr ; ip -4 ro li tab all ; ip -4 ru; \
ip -6 addr ; ip -6 ro li tab all ; ip -6 ru; \
ls -l  /etc/resolv.* /tmp/resolv.* /tmp/resolv.*/* ; head -n -0 /etc/resolv.* /tmp/resolv.* /tmp/resolv.*/*

Do you need this data when it fails, or now that it is working?

I suppose configuration remains the same, so you can take a snapshot of the previous to last with ip -6 before and after.

Hey any updates on this @McGiverGim ? I'm currently having more or less the same issues.
If I get an IPV6 address from my ISP some apps and services don't load. It seems like the IPv6 is not valid and it hangs the connection.

I have the exact setup as you (down to the isp giving me a /56 address), I guess we have the same ISP (digi in my case).

At the moment I disabled getting a IPv6 from the wan interface and it seems to do the trick and all services are loading again. I will update if it happens again.

I'm not super knowledgeable when it comes to IPv6 so if anyone can help I will appreciate it.

I've not suffered the problem again since my latest message. I was waiting to see if it happens again to post the whole output asked.
And yes, my ISP is digi too, so the problem is a digi/openwrt problem I suppose.

1 Like