Mythtv on Burlington Telecom

From MythTV Official Wiki
Revision as of 00:13, 15 July 2011 by Protocoldoug (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Burlington Telecom (BT) is a local cable TV provider and ISP based in Burlington, Vermont USA. They offer fiber to your home, and cable television is delivered over CAT5 ethernet, into an IPTV cable box. Despite the fact that Burlington Telecom is a smaller, local provider which uses less popular equipment -- it is possible to have a MythTV setup using their equipment.

Scope

This HOW-TO document covers how to setup MythTV for use with Burlington Telecom high-definition television through using the following software and hardware:

This document DOES NOT cover how to setup MythTV as an IPTV receiver with the CAT5 provided by BT. However, it has been documented in the MythTV mailing lists that this was accomplished in late 2006. However at this time it is un-tested and there may be some DRM-like encryption. If one is able to accomplish this (or fails at it), please update this wiki article with your findings.

Nor does this cover the Amino standard definition STB, however besides the video outputs available on the STB's the only difference is the IR code.

This article also stops at the point where the linux box outputs from it's video card to your television. However the MythTV wiki offers a great deal of insight into this. Also if you follow the Fedora based instructions in this guide -- the article about Installing MythTV on Fedora offers a great deal of information on how to setup a nVidia graphics card under Fedora.

Additionally, outside of Burlington Telecom, this HOW-TO may be useful for others using a ADB-3800W STB.

General Hardware Connections

In this setup, we will use component output from the STB to to the HD-PVR. The connection will be as follows:

  1. CAT5 delivered from BT into home, into ethernet switch provided by BT.
  2. CAT5 cable from ethernet switch into ADB-3800W set-top box.
  3. Component cable output from ADB-3800W input into Hauppauge HD-PVR
  4. Hauppauge HD-PVR USB output into linux box USB.
  5. Output from linux box via video card into your TV.

Software Configuration

In order to get started, it is recommend that you follow that guides that are available regarding Installing MythTV on Fedora and also the setup portions in the article on the Hauppauge HD-PVR

Important.png Note: As of June 2011 the HD-PVR does NOT have the correct codes for controlling the ADB-3800W STB. Also the HD-PVR at this time does not have the correct driver support with lirc_zilog to learn IR codes. In order to control the ADB-3800W STB one must use a MCE Remote kit (with an IR blaster) in order to send IR codes to the STB

IR Transmission to ADB-3800W

Follow the instructions to install the MCEUSB receiver/transceiver with LIRC, again very fine instruction is given from the MCE Remote article. Once you confirm that your device is recognized with your system with:

lsusb

and that the proper driver modules are installed with:

lsmod | grep mceusb

You can move along towards setting up your lirc configuration to blast the codes to STB provided by BT. Firstly configure the actual MCE Remote, using an lircd.conf downloaded from [1]. After that is installed, you will need to add a section to your lircd.conf (in /etc/lirc/).

This set of raw codes has been shown to control the numbers 0-9 on the STB. At this time the OK & Enter buttons for the STB have not been successfully captured, but inputting just a string of numbers that match a valid number on the STB will cause the STB to successfully change channels (after a short delay). Were the enter button known, the channel change would be more instantaneous.

NB: You must restart your lirc service to have these changes take effect. In fedora:

service lirc restart

You may then test that the IR blaster is transmitting these codes by once issuing:

irsend SEND_ONCE blaster KEY_3

And seeing that you have changed the channel to channel 3.

SchedulesDirect.org

Burlington Telecom schedules are in fact listed by [2], simply create an account and while logged in choose to "Add a new lineup" and select 05401 for your zip code. There should be a listing for "Burlington Telecom Digital".

You will then need to run:

mythfilldatabase

(This will take a long time to run)

External Channel Change Script

While running mythtv-setup, you must specify an "external channel change script" which is in your input sources. A script shown to work with how schedulesdirect.org has populated the mythconverg schedules database (using the default settings while running mythfilldatabase) follows.

Create this script as /usr/local/bin/channel.pl & set the "external channel change script" in mythtv-setup to /usr/local/bin/channel.pl

#!/usr/bin/perl
# ---- Channel changing script for MythTV for use with Burlington Telecom (and may well work with other providers)
# ---- Author: Doug Smith (6/29/2011)
# $logfile = "/home/your_user/channel.out"; # uncomment this line and the bottom three lines to enable logging.

# For quickly sleeping between irsend commands
use Time::HiRes;

# Initialize variables
$output = "";
$idx = -1;
$channel = 0;

# Cycle through each command line argument.
foreach $a(@ARGV) { 
	$idx++;
	if ($idx == 0) {
		# it's the channel, which sits as the first command line argument; grab it
		$channel = $a;
	}
	# $output .= $idx.": ".$a."\n"; # uncomment if debugging.
}

if ($channel != 0) {
	# Cycle each number passed by command line argument and send the IR code for it to the STB with the irsend command.
	for ($i = 0; $i < length($channel); $i++) {
		$number = substr($channel,$i,1);
		$output .= "sending ir code: KEY_".$number."\n";
		`irsend SEND_ONCE blaster KEY_$number`;
		Time::HiRes::sleep(0.3);  # sleep for .3 seconds between ir-sends. 
	}
} else {
	$output .= "Channel = 0, This is an error\n";	
}

# ------ Uncomment below to enable logging.
# open (MYFILE, '>>'.$logfile);
# print MYFILE $output."\n";
# close (MYFILE); 

Be sure to make sure the script is executable by running:

chmod 0755 /usr/local/bin/channel.pl