Skip to content

adding a cablebox to mythtv

I have a working DVR, who cares...

Referred to as the 'digital crush', analog broadcasts will supposedly end in the US on February 17, 2009.  Few people I know are using over the air (i.e. no cable) set-ups, but for those who are, you can get two coupons for $40 each towards an over-the-air receiver for older TVs -- of course, even this step isn't needed if you bought your TV after May 2007, but that may not cover everybody.

Why you need an STB

Now, to the point of this post is that if you're using a homebrew DVR (like MythTv), you'll now need to have your DVR send signals to a cable box or a DTV converter box (often referred to as STB -- set top boxes) because the number of DTV receivers in the US is quite low and even lower if linux suport is required.  Even worse, is that if you do have cable, it's doubtful that these TV cards would be able to decrypt the television signal being sent to you from your provider.  Of course you can still get a card, but there's legal ambiguity stating you may only be able to watch channels you got for free already (like the major broadcasters, not Comedy Central, AMC, etc).  Finally, there are a lot of arguments on the web about the utility/availability of cablecard support for linux a system that was supposed to solve this problem, but it seems that copyright and distribution concerns and the financial interests of television service providers  have stifled progress in this direction.

Common resources

So, if you're like me, you will bite the bullet sometime and switch over your DVR system.  I am collecting a few useful links and notes about the process, but most of the heavy lifting (for howtos) has been by others. Here's my hardware configuration...

  • Card: Hauppauge TV 150 which spits out a nice MPEG stream and works very well with MythTv.  It also has an IR receiver (so I can use a remote) and an IR blaster (so I can control a STB).
  • Linux kernel: 2.6.18-4-k7
  • Linux distro: Debain with unstable/testing circa October 2008
  • Kernel-based lirc driver for i2c: 0.8.3-CVS-pvr150-2;
  • Cable provider: RCN New York
  • STB model: Motorola DCT700 with this remote info
    • STB control code set: '82' - you'll have to choose the right set when you get your blaster to work, for me it was set '82' out of the avaialble .... 106, 80, 81, 82, 84 for my STB model

Easily findable with your favorite search engine, here are a list of links that were of the highest utility.

Following the steps in the first howto should solve almost all of your problems.  As I was going along, here are a few deviations that I noted...

  • /lib/firmware - be sure to put your firmware files in this directory, not /usr/lib/firmware or the like
  • /etc/lirc/lircd.conf NOT /etc/lircd.conf - for some reason, I had two copies of the lircd configuration files; the first was the correct location and the second I replaced with a symbolic link; inspecting the contents, it looks like it just came out of an older debian package.
  • Match your lirc versions!  Don't be tempted to go with newer/possibly more stable versions unless you're upgrading your entire system.  I had to rev back to match my lirc version, but it worked great after that.
  • For my STB model, control set '82' worked correctly.
  • To make sure it works on a reboot, I'd suggest adding a modprobe/load module line to your /etc/modules file.  I already had a few in there, but just adding 'lirc_pvr150' seemed to do the trick.
  • You must reboot (sorry uptime fans) after putting the correct kernel driver in place...  There may be a graceful way to use lsmod/rmmod/modprobe to handle your kernel drivers, but this is much easier and you can verify that it works after a reboot.

What to look for in your /var/log/messages to know things are running correctly.

The first section verifies that the kernel driver was loaded,

Nov 27 22:18:53 localhost kernel: tveeprom 0-0050: has no radio, has IR remote
Nov 27 22:18:53 localhost kernel: ivtv0: Autodetected Hauppauge WinTV PVR-150
Nov 27 22:18:53 localhost kernel: ivtv0: reopen i2c bus for IR-blaster support

the second verifies the irblaster was detected and the firmware was loaded,

Nov 27 22:18:53 localhost kernel: lirc_pvr150: no version for "lirc_unregister_p
lugin" found: kernel tainted.
Nov 27 22:18:53 localhost kernel: lirc_pvr150: chip found with RX and TX
Nov 27 22:18:53 localhost kernel: lirc_dev: lirc_register_plugin: sample_rate: 0
Nov 27 22:18:53 localhost kernel: lirc_pvr150: firmware of size 302355 loaded
Nov 27 22:18:53 localhost kernel: lirc_pvr150: 743 codesets loaded
Nov 27 22:18:53 localhost kernel: lirc_pvr150: Hauppauge PVR-150 IR blaster: firmware version 1.3.0

and the third is what you'd see when you test our a channel change (blaster) or 'irw' run (remote receiver).

Nov 27 22:44:11 localhost lircd-0.8.3[5343]: lircd(userspace) ready
Nov 27 22:44:11 localhost lircd-0.8.3[5343]: accepted new client on /dev/lircd
Nov 27 22:44:22 localhost lircd-0.8.3[5343]: accepted new client on /dev/lircd
Nov 27 22:44:23 localhost lircd-0.8.3[5343]: removed client

All done

  1. hope it worked for you as it did for me.  If so, probably the last thing you need to do is update your channel table on scheuldesdirect for your new lineup.  Enjoy the preservation of your DVR and please send an update if you have it working for HD feeds or a direct linux card that can work with out an STB.

Post a Comment

Your email is never published nor shared. Required fields are marked *