Some YouTube videos don't load on Apple TV



  • Strange issue since I've implemented pfSense:

    Some YouTube videos do not load when trying to watch them via my Apple TV. Same issue when I try to AirPlay that same video to the Apple TV. These specific videos play just fine on the MacBook's and iPhone's in the same network.

    I tried a fresh install of pfSense with everything set to default (no funky settings). Same issue.
    I placed back the previous router. Issue resolved.

    Where should I start troubleshooting this very strange problem?



  • Are your DNS server settings the same on both the Pfsense box and your old router?

    Jeff



  • Good question, they're not. The old router pushed Cloudflare's DNS service to the clients. The pfSense runs Unbound at the default settings provisioned by pfSense.

    So I switched off Unbound and pushed Cloudflare DNS to the clients. Same issue.

    There's another difference I notice tho. I have a dual stack connection and it seems like all my clients have 3 (pfSense) instead of 2 (previous router) IPv6 addresses. That might mess something up?


  • Netgate Administrator

    3 v6 addresses seems odd. I expect one global address and one local address if they have just one interface.

    Hard to imagine what else might be different in a default install..

    Something upnp related? Seems unlikely...

    Steve



  • Disabling IPv6 resolves the issue... damn.

    Could it have something to do with MTU? I have a VDSL bonding connection. The modem is configured in full bridge mode. MTU size on the pfSense WAN interface is 1492. The LAN interface 1500. These are defaults, I did not set them myself. And I guess it needs 1492 because of the PPPoE session and VLAN 6 on WAN as required by the ISP.

    Altho that still would not explain why some videos do play and some don't? And it only seems to affect Apple TV.

    Now that I'm thinking of MTU, I have the feeling that my internet is slower with IPv6 enabled.

    Complex issue this one.


  • Netgate Administrator

    How is the bonding accomplished? ML-PPP? Is that on some external device?

    Steve



  • The bonding is accomplished by the modem (AVM FRITZ!Box 7581). The PPPoE session is initiated by the pfSense. I've configured the modem in full bridge mode to avoid double NAT.


  • Netgate Administrator

    Ok. The 3 v6 IPs seems weird though. Are 2 of those public IPs?

    It could be an MTU issue, though I wouldn't really have expected that to affect different Youtube videos in different ways.

    Steve



  • Yeah, it seems to be an Apple TV issue since other devices are not affected by the behavior.

    And the 3 IPv6 IP's, they are all public. Two long ones, one short one.


  • Netgate Administrator

    Hmm, I mean if it doesn't affect anything else it could be a v6 problem with the Apple TV itself.

    The easiest solution here is to just prevent it using v6. It would be nice to know why though.

    Steve



  • I agree.

    If anyone knows a possible root cause and/or solution I'd appreciate that. For now I'm done troubleshooting and I accept the fact YouTube on Apple TV is 'hit-and-miss' because everything else works like a charm.



  • Apple devices do DNS queries using IPv6 FIRST and then fall back on IPv4. However, their implementation is flakey, and you'll always get odd results.

    I had to disabled IPv6 on my entire network to get all of their gear to work happily. I experienced a ton of issues running DNS on macOS X Server, even though it was supposed to be a standard bind installation.

    This is a known issue to Apple, but they're not going to change the behavior of their devices. I've already escalated this to Apple via a bug report and they basically told me to go pound sand.

    Full discloser: I am a former Apple Consultant and Developer. I used to deploy OS X Server into education and business.



  • There is a noticeable difference tho when using pfSense compared to the router provided by my ISP.

    With pfSense I have strange issues like the one described here. When using the ISP's router it's all fine. Yes, with IPv6 and an Apple ecosystem. It makes me wonder why.

    I now have found a new issue; streaming on of my favorite radio stations does not work when using pfSense. And yes, it also seems to be IPv6 related. If I stream via an IPv4 source, it's working fine.

    Argh....

    WAN:

    IPv6 Configuration Type: DHCP6
    Request a IPv6 prefix/information through the IPv4 connectivity link
    Only request an IPv6 prefix, do not request an IPv6 address
    DHCPv6 Prefix Delegation size: 48

    LAN:

    IPv6 Configuration Type: Track Interface
    IPv6 Interface: WAN
    IPv6 Prefix ID: 0

    Everything else default.

    No clue what I need to adjust to make things work. Still could be MTU if some videos/streams work and some don't?

    -edit-

    Despite earlier, it looks like I actually do have the issues with IPv4 as well. Also with Unbound disabled. I think it is something MTU related. Argh....


  • Netgate Administrator

    Still only on the AppleTV though?

    Steve



  • @tomcruise said in Some YouTube videos don't load on Apple TV:

    And the 3 IPv6 IP's, they are all public. Two long ones, one short one.

    Are you sure they're all public? Normally, you'd have 1 or more public addresses and 1 link local, which starts with fe80.



  • What are you using for DNS?

    I have three Apple TVs and a boatload of Apple gear. I set my LAN to IPv4 and my ISP doesn’t support IPv6, so that’s disabled too. I am also running a MacOS X Server DNS service and also use pfSense for DNS. I am actually migrating DNS to pfSense since OS X Server is losing most of its features in the latest release.

    By shutting off IPv6, I eliminated all issues with Apple gear.



  • I've been isolating and troubleshooting some more and it seems like it's an IPv6 issue after all.

    Fully disabling IPv6 resolves all issues.

    So, now I need to find out which pfSense settings need adjustments. There are some tutorials for my ISP (XS4ALL) but none of those resolve the issue.

    I'm going to dive into a config export of the ISP's router and see if I can discover something funky. Because that one works.