TL;DR: It’s always DNS.

Had a really weird problem pop up two days ago. The Roku we use to watch streaming TV stopped working. Netflix, Amazon, HBO, whatever, just ceased functioning properly. What was really weird is that on my laptop I could stream without issue. At first I thought the Roku itself was “broken” (and by broken, I mean some sort of configuration or software issue. I will spare you the details of my troubleshooting steps, but suffice to say, I tried everything I could think of. I started a support ticket with Roku and as per usual it had to jump through many many hoops at lower level support staff to convince them that I really needed to talk to one of their upper level support staff. This wasn’t a simple problem and I’m not your typical home user. I spent a career building and managing significant components of the Internet. (I used to joke that I don’t work on network devices unless they cost more than my house. Which, for a few decades was true. I wrote and tuned BGP configs for AS11739 on a pair of routers that retailed for close to a $mil in 2002 dollars.)

I finally was escalated to a woman in top level support at Roku and after speaking with her for ninety plus minutes she gave up completely and tried to blame it on my ISP. Why? Because my “speed test” results were in the 8mb/6mb range. She claimed that that is “too slow” for streaming to work(!) Yes, I live just west of the middle of nowhere with a point-to-point 802.11 connection to an antenna atop one of the Cline Buttes which is a fair distance away, but…

We have never had an issue like this before, and we frequently watch two TVs simultaneously, and one of them is showing a live hockey game! Besides, how is my laptop showing Netflix with no issues and the Roku can’t even connect to Netflix? Also, our phone conversation is going over the same network!! But this woman refused to go any further because my “network is too slow”.

I refuse to believe that this was the problem, and basically told her to pound sand. I would figure it out on my own. But, just to be sure I opened a ticket with my ISP specifically asking if they could get on a call with me and troubleshoot it with visibility from both sides of the connection. THANKFULLY I am such an old phart stick in the mud network guy that I refuse to use a legacy telco or cableco for my Internet connection. I use a small, locally owned ISP that has people working there that give a fsck about their customers and don’t treat me like an idiot. I spoke to a front line tech and explained what was going on and he handed me off to their Network Manager and we had a very successful troubleshooting session.

I started the session by literally turning off every single device on our home network, except my laptop, and phone. I had a notion that one device locally perhaps was causing some “network weather” (broadcast storm, been compromised and is part of a DDoS, whatever) so best to eliminate as many variables as possible to begin sorting out the problem.

What caused us to trip over the solution was me, realizing that my laptop connection goes through a VPN by default (something I forgot because it just happens without me having to do anything unless I want to switch the VPN endpoints. Usually I am connected to Seattle, but when I travel sometimes I change that to better manage my connection bandwidth.) Sure enough when I dropped off the VPN my laptop had the same issue as the Roku had been showing. Lightbulb goes off in the ISP guy’s head and we check my router’s DNS configuration. Sure enough SOMEHOW both of the resolvers IP addresses had been deprecated. I’ve been running this configuration for over a decade and probably one of the IPs was not working for a while, but the other finally shut down acting as a resolver the day before. So I re-entered new server IP’s into the config (one from my ISP and another from a public domain name service) and presto! Everything works again.

Now my only problem is rebuilding the Roku’s configuration after one of the troubleshooting steps was a full factory reset.

Anyway, it’s always DNS.