SureWest IPTV

From MythTV Official Wiki
Revision as of 02:18, 25 June 2008 by Rkuris (talk | contribs) (Clarifications)

Jump to: navigation, search

SureWest uses IPTV by sending the raw MPEG2TS stream directly to a UDP multicast address. This means it's relatively easy to set up mythtv. Their DVR interface is horrible, and so mythtv is a huge step up. If you order their DVR, you should be allowed to record two channels at once by setting up two identical tuners. I've had varying success with this; it works around half the time. It seems that some of the time, mythtv gets confused and records the same channel twice. Most likely this is a bug in the IPTV interface. PIP also works sometimes.

When it does work correctly, on my box, recording two channels at once makes watching a third unusable (too choppy) but with a very fast CPU and disk subsystem you might be able to record perhaps three or four channels and still watch something.

What you need

  • MythTV 0.21 or better with the built-in IPTV tuner
  • SureWest Fiber IPTV
  • An Amino or DVR settop box
  • A spare network port on your mythtv box (sharing with your WAN network is a very bad idea). This card needs to support software setup of the MAC address (most do).

Mythtv Setup

  • Before you shut down your old cable box, it's a good idea to write down the channels you actually get. I boot my old box up occasionally to see if there are any new channels available.
  • Get your cable box MAC. This is written right on the box, usually on the bottom or the side. You need it to fool SureWest that everything is coming from your registered MAC.
  • Force the MAC address on your spare network card to match the one on your set-top box.
  • Set the mythtv box to use DHCP. Do not allow dhcp to set the default route or the DNS. Instead, force a route as follows (substitute ethN for the correct network card name):
route add -net ethN

Specifics of how to get this to work vary per distro; on Gentoo, put something like this in /etc/conf.d/net:

config_eth2=( "dhcp" )
dhcpcd_eth2="-G -R"
routes_eth2=( "" )
  • Switch your system to use IGMP v2:
# echo 2 > /proc/sys/net/ipv4/conf/all/force_igmp_version
  • Make SURE the reverse packet filter (rp_filter) is off (disabled):
# cat /proc/sys/net/ipv4/conf/all/rp_filter
# echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
# cat /proc/sys/net/ipv4/conf/all/rp_filter

Also verify that /proc/sys/net/ipv4/conf/default/rp_filter is off for your next reboot. Packets come from someplace that is not routed to this interface, so you get nothing unless this is disabled.

  • Unplug the network cable from your operating set-top box and plug it into your dedicated mythtv box. Bring up the interface. If all goes well, you should have a private IP address (like something in the 10.x.x.x range), not something on the public network. If not, double check your MAC address.
  • Verify that you can watch video. Use "mplayer udp://" and watch SureWest ads for at least 10 minutes (not a joke; this is to make sure that the IGMP timeouts are all propogating properly). If they are not, double check your IGMP version. If you get nothing, check your rp_filter and make sure there are no firewall rules on your network card.
  • Create an m3u file to correspond to the surewest channels. They use group 225.1.x.y where x=c/100 and y=c%100 (using 100 instead when the result is 0). For example, channel 1 is and channel 255 is Your m3u file should look like this:
#EXTINF:0,1 - LOOR001

It's hard to get the xmltvids for all the channels. I downloaded the "report" from SchedulesDirect and massaged the data (using perl) to get me started.

  • Using mythtv-setup, create a freebox IPTV "network" tuner in mythtv. Use the m3u file you created when prompted. Scan for channels and save your settings.
  • Set up Schedules Direct for your listings. It sure would be nice to sniff the listings direct from SureWest too, but Schedules Direct is cheap and gives you more in the future.