Difference between revisions of "User:Rkuris"

From MythTV Official Wiki
Jump to: navigation, search
(Timeline)
(Timeline)
Line 57: Line 57:
 
* Edit the firewall to enable forwarding of UDP packets on the linksys
 
* Edit the firewall to enable forwarding of UDP packets on the linksys
 
* Check your multicast routes to make sure they are correct
 
* Check your multicast routes to make sure they are correct
* Set your cable box to channel 1.  On my box, this is IP 225.1.100.1.
+
* Verify that you can watch video.  Use "mplayer udp://225.1.100.1:2001" 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)
* Hack mplayer or mythtv to support rtp protocol version 1 with SureWest hacks (coming soon!)
+
* Create a 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 225.1.100.1 and channel 255 is 225.1.2.55Your m3u file should look like this:
[[Category:User_Systems]]
+
<pre>
 +
#EXTM3U
 +
#EXTINF:0,1 - LOOR001
 +
#EXTMYTHTV:xmltvid=23309
 +
udp://225.1.100.1:2001
 +
#EXTINF:0,2 - WGNSAT
 +
#EXTMYTHTV:xmltvid=17098
 +
udp://225.1.100.2:2001
 +
#EXTINF:0,3 - KCRA
 +
#EXTMYTHTV:xmltvid=10388
 +
udp://225.1.100.3:2001
 +
#EXTINF:0,4 - KQCA
 +
#EXTMYTHTV:xmltvid=10683
 +
udp://225.1.100.4:2001
 +
...
 +
</pre>
 +
Enjoy!

Revision as of 20:56, 20 June 2008

Hardware

I currently own the following:

Software

Timeline

Most of my stuff shipped on November 14, 2006. I started doing the basic installation on November 16th. My initial bootup attempt was to boot from a flash memory stick, since I have no DVD nor floppy to boot from. Setting up a LiveUSB media stick was a huge challenge.

I started off with SureWest Broadband but found that they used an Amino AmiNET110 box, which is an IPTV box. For HDTV, you only get composite outputs, no digital signal. Back in 2006, support for IPTV was really limited, so I switched to Comcast Cable. They are use a Motorola DCT-6200 Cable Box with firewire support that's been in mythtv forever. This worked really well for almost two years. (Of course, Comcast dug a trench on the day after Thanksgiving, cutting my Surewest fiber and leaving me without internet access for days, but that's another story).

In June of 2008, I decided to investigate the IPTV support for Surewest. It's clear their DVR is lacking but their signal is awesome. I spent some time in early June sniffing their network and checking what was going on.

I had a spare Linksys WRT54G so I decided to set that up as a IGMP router. This was challenging because most of the kernels you find out there don't enable multicast routing. I had to build my own kernel with multicast routing to get this working. Here's an overview of the process:

  • Per the OpenWrt Build Instructions, check out the latest kamikazi product.
  • Patch the sources by adding multicast routing using the following patch:
--- target/linux/generic-2.4/config-default     (revision 11461)
+++ target/linux/generic-2.4/config-default     (working copy)
@@ -208,7 +208,9 @@
 CONFIG_IPV6=m
 # CONFIG_IPX is not set
 CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_MROUTE is not set
+CONFIG_IP_MROUTE=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
 CONFIG_IP_MULTICAST=y
 CONFIG_IP_MULTIPLE_TABLES=y
 CONFIG_IP_NF_AMANDA=m
  • Make the kernel and flash it to your router. During config, include igmpproxy and tcpdump.
  • After booting the router on the new kernel, modify the /etc/config/network file so you can bridge your old cable box:
config switch eth0
        option vlan0    "2 3 4 5*"
        option vlan1    "0 1 5"
  • Get your cable box MAC. You need it to fool SureWest that everything is coming from your registered MAC. Reboot the router, then run tcpdump -n -i eth0.1 -v then plug the router into port 1 (now on vlan1 from the config change). The mac address will appear when the cable box attempts to boot from your box.
  • Set the router's WAN mac address in /etc/config/network like this:
config interface        wan
        option ifname   "eth0.1"
        option macaddr  00:xx:xx:xx:xx:xx
        option proto    dhcp
  • Plug the old feed from SureWest into your router's WAN port and the cable box into port 1. Reboot, and make sure the TV still works. You should see the router pick up a SureWest IP address in the 10.x.x.x range.
  • At this point, you now have access to the digital stream as it passes through your router. However, you'll need to run igmpproxy to forward the multicast packets to the rest of your network. Edit /etc/igmpproxy.conf as follows:

The balance of these instructions are just notes, and need more work... sorry!

  • Turn off the rp_filter (reverse packet filter)
  • Edit the firewall to enable forwarding of UDP packets on the linksys
  • Check your multicast routes to make sure they are correct
  • Verify that you can watch video. Use "mplayer udp://225.1.100.1:2001" 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)
  • Create a 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 225.1.100.1 and channel 255 is 225.1.2.55. Your m3u file should look like this:
#EXTM3U
#EXTINF:0,1 - LOOR001
#EXTMYTHTV:xmltvid=23309
udp://225.1.100.1:2001
#EXTINF:0,2 - WGNSAT
#EXTMYTHTV:xmltvid=17098
udp://225.1.100.2:2001
#EXTINF:0,3 - KCRA
#EXTMYTHTV:xmltvid=10388
udp://225.1.100.3:2001
#EXTINF:0,4 - KQCA
#EXTMYTHTV:xmltvid=10683
udp://225.1.100.4:2001
...

Enjoy!