My TVs are kept on a their own VLAN with only access to my docker host running Jellyfin and Channels DVR. I got a new TV recently which has a real annoying “no internet connection” popup that can’t be disabled. My initial assumption was that I could watch its traffic and make DNS records for the hostnames it tries to contact that redirect to my firewall. Assuming it’s just a ping check, that should do it. I have all that set up and pinging the addresses the TV tries to hit over ADB works fine.

hengshan:/ $ ping google.com                                                                                      
PING google.com (192.168.20.1) 56(84) bytes of data.
64 bytes from 192.168.20.1: icmp_seq=1 ttl=64 time=1.23 ms
64 bytes from 192.168.20.1: icmp_seq=2 ttl=64 time=0.885 ms
64 bytes from 192.168.20.1: icmp_seq=3 ttl=64 time=7.57 ms
64 bytes from 192.168.20.1: icmp_seq=4 ttl=64 time=1.04 ms
64 bytes from 192.168.20.1: icmp_seq=5 ttl=64 time=7.50 ms
64 bytes from 192.168.20.1: icmp_seq=6 ttl=64 time=7.57 ms

I’m using defreitas/dns-proxy-server in docker as a simple listener and forwarder. The host is on the same VLAN with no internet access and is set to use itself for DNS. So the whole thing is one big loop. Again, assuming all the TV needs is a ping check, then this should work, right? Just a box that points all the DNS requests I’ve found to my firewall and the firewall echos the request, but I’m still getting sporadic “no internet” popups

Is my setup missing something or is it safe to say the TV is doing something other than a ping check to verify connectivity?

  • cruzaderNO@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    Would not expect it to just ping something like google.com, maybe use their dns tho.

    The ones ive dealt with have a rotation of urls it tries to load.

    Bonus joy is when you use the TV longer than they expect and some of them stop responding, so even with no firewall/vlan etc segmentation it still needs this spoofing done.