Difference between revisions of "Mythtv on Burlington Telecom"

From MythTV Official Wiki
Jump to: navigation, search
m (Software Configuration: POV edition)
m (IR Transmission to ADB-3800W: fix lirc link)
Line 35: Line 35:
 
===IR Transmission to ADB-3800W===
 
===IR Transmission to ADB-3800W===
  
Follow the instructions to install the MCEUSB remote 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:
+
Follow the instructions to install the MCEUSB remote 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:
  
 
<pre>lsusb</pre>
 
<pre>lsusb</pre>

Revision as of 22:04, 30 June 2011

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 it may be possible by altering some of the directions. If you are able to accomplish this, please update this wiki article.

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 remote 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.

# this config file was automatically generated
# using lirc-0.9.0(default) on Wed Jun 29 18:09:51 2011
#
# contributed by: Doug Smith
#
# brand: N/A
# model no. of remote control: 
#	(n/a, the remote provided with the STB is a universal remote 
#	which is programmed by the cable provider)
# devices being controlled by this remote: ADB-3800W (which is an IPTV set-top box)
#

begin remote

  name  blaster
  flags RAW_CODES
  eps            30
  aeps          100

  gap          81191

      begin raw_codes

          name KEY_0
             1000     900     600    1300     350     600
              350     900     350     900     350     850
              400     850     350     900     300     900
              350    1200     400    1500     350     300
              350     550     350     900     350    1850
              350     900     300    6350     950     950
              600    1250     350     600     350     900
              350     850     400     850     350     900
              350     900     350     900     300    1200
              350    1500     350     250     350     600
              350     900     350    1850     350     900
              350

          name KEY_1
             1000     900     650    1250     350     600
              350     900     350     900     350     900
              350     900     300     950     250    1200
              350     900     350    1250     350     600
              300     550     300     950     300    1800
              400     900     300    6350    1000     900
              550    1200     350     600     350     900
              350     900     300     950     300     900
              350     900     350    1200     300     950
              300    1250     350     600     350     600
              350     900     350    1850     350     900
              350

          name KEY_2
             1000     900     600    1300     350     600
              350     900     350     900     350     900
              350     900     300     950     250    1200
              350    1200     300     950     300     600
              300     550     300     950     300     900
              350     900     300    6350    1000     900
              600    1250     350     600     350     900
              350     900     350     900     300     950
              300     900     350    1200     300    1250
              300     900     350     600     350     600
              300     900     350     900     350     900
              350

          name KEY_3
             1000     900     650    1250     350     600
              300     900     350     900     350     900
              350     900     300     950     250    1200
              350    1550     350     600     300     600
              300     550     300     950     300     900
              350    1200     300    6350    1000     900
              600    1250     350     600     350     900
              350     900     350     900     350     900
              300     950     300    1200     300    1550
              350     600     350     600     300     550
              300     950     300     900     350    1200
              350

          name KEY_4
              950     950     600    1250     350     600
              350     900     350     900     350     850
              350     900     350     900     300     900
              350    1200     400    1500     600     950
              350     900     350    1850     350     600
              350

          name KEY_5
             1000     900     600    1250     350     600
              350     900     350     900     350     850
              400     850     350     900     300     900
              350    1550     350    1200     600     950
              350     900     350    1850     300     900
              350

          name KEY_6
             1000     900     650    1250     350     600
              350     900     350     900     350     900
              350     900     300     950     250     900
              350    1850     350     900     650     900
              300     950     300     950     350     900
              350

          name KEY_7
             1000     900     650    1250     350     600
              350     900     350     900     350     900
              350     900     300     950     250    1200
              350     600     350    1850     650     900
              300     950     300     900     350    1200
              350

          name KEY_8
             1000     900     650    1250     350     600
              350     900     350     900     350     900
              350     900     300     950     250    1200
              350     900     350    1550     650     900
              300     950     300     900     350    1500
              300

          name KEY_9
             1000     900     650    1250     350     600
              350     900     350     900     350     900
              350     900     300     950     250    1200
              350    1200     300    1250     650     900
              350     900     300     950     300    1850
              300

          name KEY_CHANNELUP
             1000     900     650    1250     350     600
              300     900     350     900     350     900
              350     900     300     950     250     900
              350    1850     350     600     300     600
              300     600     300     950     300    1850
              300     250     300    6350    1000     900
              600    1250     350     600     300     900
              350     900     350     900     350     900
              350     900     300     950     250    1850
              300     600     300     550     300     600
              300     950     300    1850     300     250
              350

          name KEY_CHANNELDOWN
             1000     900     650    1250     350     600
              300     900     350     900     350     900
              350     900     300     950     250    1250
              350    1550     350     900     350     600
              350     250     300     950     300    1200
              350    1250     250    6350     950     900
              550    1300     300     600     300     900
              350     900     350     900     350     900
              350     900     300    1250     300    1550
              300     900     350     600     350     250
              300     950     300    1250     350    1200
              300

      end raw_codes

end remote

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.

# 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`;
	}
} 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