[mythtv-users] IPTV and routing problems

Robert Johnston anaerin at gmail.com
Thu Oct 7 04:09:00 UTC 2010

On 06/10/2010 9:27 PM, Rob Susmilch wrote:
> Hello all, having a problem with routing and IPTV.  I've done quite a
> bit of googling about multicast, IPTV, etc.  I have it almost
> working, but not quite there. Sorry it's long winded, but I believe
> in supplying as much information up front as possible.
> Setting up IPTV for mythtv on mythbuntu. I have fiber to the house
> which then splits to ethernet which feeds both TV and internet on the
> same line. I followed guides on iptv and mythtv, used wireshark to
> get all the dhcp address information for the cable box and can
> successfully receive any streaming show I want.
> However, both IP addresses are dhcp as far as I know, on different
> subnets and gateways.  I currently have two NIC's installed and
> simply connect both to a switch and all works for a bit.  I can
> stream VLC to my hearts content, but mythtv has a weird problem.  The
> first time I watch live tv it works correctly, if I change the
> channel it will sometimes lock on and stream the new channel
> correctly, but the third time it changes it locks up and seems to
> hang up the backend.  If I kill the frontend I can neither stream
> with vlc or ping anything on the net. It seems that sometimes the
> internet will come back after a long while, but the backend locks up
> the tv ethernet.  Restarting /etc/init.d/networking complains that it
> can't release or bring up eth0 (IPTV NIC).
> The interesting part is if I disconnect the internet ethernet and
> restart networking I can stream and change channels to my hearts
> content, even up to three at a time so far. I believe I may have a
> routing problem.  I did have issues receiving anything until I echoed
> 0>  rp_filter.  I tried a 'route add netmask dev
> eth0' but it seemed to do little to nothing before I did the
> rp_filter.  I would appreciate any help to get this to route the
> multicast and internet correctly.
> ETH0 is the IPTV interface, ETH1 is meant for internet

<snip />

> I have lspci and lshw if needed.

First thing I'd suggest is swapping eth0 and eth1, so the system isn't
trying to connect to the internet over the IPTV interface (You might 
also want to not request a "default-route" on the IPTV interface).

It also looks like you don't have a default gateway set. This may be 
related to the previous point.

Next, it may be an issue with your IGMP version. You can set the version
using "sysctl -w net.ipv4.conf.eth0.force_igmp_version=2" (Chances are
you want 2, as 3 is the latest, though not the best supported. That's 
for eth0, incidentally. You can set it to eth1 or "all" in the same way).

As you found, rp_filter blocks multicast traffic. This is kinda correct
(it blocks any packets not addressed directly to the interface) but it
should have an exception for multicast. I'm fairly sure this has been
reported to the kernel devs, but as switching the filter off mitigates
the issue, it's no real problem.

It also seems (potentially) that Myth is not releasing it's stream (and 
therefore not unsubscribing from the multicast group). I don't know if 
this is livetv related or something else, but that is definitely 
something to look into (It'd probably be the reason why you're having 
difficulty taking eth0 offline. If you're using LiveTV, chances are Myth 
isn't tearing down the old recorder before starting the next one, so the 
backend is recording both (or more) recordings, there could be your problem.

Beyond that, I'm not familiar enough with the code to say definitively 
that it is X or Y. It does seem like a Myth problem, though, as VLC is 
working fine. Try a wireshark capture of changing channels in Myth to 
see if you get the correct multicast join and parts.

Let me know how this turns out for you, and out of interest, which 
provider is this with? It could be a good subject for a Wiki page (Like 
the Sasktel one).

More information about the mythtv-users mailing list