Using an IR Blaster with MythTV
The mission: Get MythTV to change channels on my Cable provided STB (Set Top Box). I connected a cable from the STB to my tuner card, but you cannot tune/change stations using the TV tuner built into the card. Instead you need an Infra Red emitter to send signals to your set top box whenever Myth needs to change channels.
You can build your own serial port IR emitter very inexpensively or you can buy one.
- MyBlaster - $45 - $50 - Reportedly very easy to set up and use. Does not use lirc. However it is a large item. Scripts for changing the channel on your box included in the Myth contrib directory. Info and purchase here.
- irblaster.info - $12 - $15 - inexpensive serial IR blaster similar to what you might build yourself. I used this one. You stick it with included double sided tape right to the STB pointing at the STB's IR reciever.
- DIY - with parts from Radio Shack. Wish I had a good link!
Recommended IR Blaster HOWTOs
Andy's HOWTO is the easiest to follow, but is Fedora specific. It says Fedora Core 3, however I have used it on Fedora Core 4, and it should work for most Fedorae. It expects that Myth has been setup according to Jarod Wilson's Guide.
If you have a Hauppauge PVR-150, it may include a built-in IR output capability. See Hauppauge PVR-150.
Installing the IR Blaster
This is the serial IR blaster from irblaster.info
Use the links above for detailed instructions. You will plug one end of the IR Blaster into a serial port on the Myth backend, and the other side with the diode is pointed at the STB. Normally you put it right over the STB's IR eye as pictured below from Geoff Holden's blog.
You have to load lirc_serial at boot. There are instructions in the links above. The way I do it on Fedora is to edit modprobe.conf. Since you likely also have an IR receiver, such as on the hauppage cards, you need two lirc modules loaded, the lirc_i2c module for the IR receiver, and lirc_serial for the IR emitter. Again please see the details instructions in the links above.
Once the modules are loaded, you run two instances of the lirc daemon lircd. One instance uses device /dev/lircd0 and the other /dev/lircd1.
Configuring Myth Backend
Instructions in the HOWTO links show you how to make a channel change script. You need to use MythTV setup to tell Myth to use the script to change channels.
Run the mythtvsetup by opening an X window console and typeing mythtvsetup.
Once you have defined your input connection, select it and find the following setup page:
You will enter the command for changing channels here. Note the box "Preset Tuner to channel" which says 3. This is important, just as your TV has to be set to channel 3 to recieve signals from the STB, so does your PVR card. Furthermore, I found that this did not work. In order to actually tune my PVR-250 to channel 3 I used this command in my rc.local, which runs after startup:
iv-tune -c 3 -d /dev/video1
to change the PVR 250 to channel 3.
Note that MythTV sends frequency IDs to the external channel changer script and not the channel number. If you see some weird four/five digit numbers being sent through the IR blaster, you will need to go to the channel editor in setup and change the freqid for the channels to match the ones that you expect to receive through the IR blaster.
Note: You can get MythTV 0.20 to send out channel numbers as the parameter. First, get EPG working. Then using, mythtvsetup, channel-editor, remove all your channels. To add the channels again, this time, instead of scanning for channels, get the channel list from the epg service and readd those channels.
When using the script and setup at http://losdos.dyndns.org:8080/public/mythtv-info/IR-BLASTER-HOWTO.html
- do not* be tempted to change the configure options to set COM1/IRQ4 in the pre-make configuration. Rather, follow the directions and pass those options through /etc/modules.conf or /etc/modprobe.d/aliases.
Changing the settings at the earlier stage will produce a module that conflicts with the standard lirc (and a frustrating string of errors in dmesg: ledxmit_dev: register_chrdev failed ledxmit_serial: Unknown symbol ledxmit_register_plugin).
MyBlaster setup -- does not require LIRC
If you prefer not to have to mess around with LIRC there are alternatives. One of these is the MyBlaster serial. (See the vendor list below.) It is a commercial product but the linux drivers are GPL. The latest driver can be found on SourceForge. To set up, simply edit the perl based driver script for your port and device and call the script using the external channel change script configuration option in mythtv-setup. It is that easy.
IR Blaster Vendors
In the USA
Mythblasterz offer an inexpensive IR blaster with 5+ meter range.
IRblaster offer serial port IR blasters, as do:
MyTVStore sells the MyBlaster products.
IguanaWorks also sell IR blasters.
CommandIR sells a hardware-based USB multi-blaster. Available in Canada and the US.
Dvbshop.net sell IR remotes, receivers & blasters
IRtrans sell IR transceivers (combined receiver/blaster) & LAN equipped units too
RedEyeRemote They don't look much, but these IR transmitters work via serial port with NTL PACE and Samsung STBs.