IPv6 and Chromecasts, side by side

By Will Angley
05 Dec 2017

After several days of having trouble casting Midsomer Murders from Netflix on my phone, I realized that something might be going wrong. A few Google searches, a look at my phone’s and WiFi router’s status pages, and a prayer to Saint Isidore later, I realized that I was probably encountering a known issue with IPv6-enabled home networks.

I still wanted my computers to have IPv6 when possible, so I didn’t want to disable IPv6 on my home network. What’s the point of running custom firmware on my router if I were just going to do that? :stuck_out_tongue:

Instead, I:

  • logged into the web interface for my router
  • added a new 5GHz wireless network on radio0
  • bridged it with my LAN
  • SSH’ed to the router and disabled IPv6 on that interface, only, by trying sysctl commands until I found the right one
  • updated /etc/sysctl.d/local.conf with the one that worked:

      # local sysctl settings can be stored in this directory
      net.ipv6.conf.wlan0-1.disable_ipv6 = 1
    
  • rebooted my WiFi router to confirm the change was persistent
  • forgot the existing network from my Chromecasts
  • and then set up my Chromecasts with this new network

This solved my problem; a device on my existing network can get both IPv4 and IPv6 addresses, but when it looks for a Chromecast it will find it at an IPv4 address, only, and be happy.

And it only took 20 minutes and two years to figure out; twenty minutes last Saturday night, and two years working on Google Fiber WiFi before.

This was the first thing that worked, and I haven’t tried to refine it. I have a feeling that if I moved this configuration from a network to a VLAN I might be able to keep everything on the same SSID, but I’d have to learn how to do that first, and I wanted to get back to watching Netflix…