LinHES Forums
http://forums.linhes.org/

Cisco/Comcast/SA RNG-100 Cable Box IR Blasting
http://forums.linhes.org/viewtopic.php?f=23&t=21241
Page 1 of 1

Author:  langelgjm [ Tue Jul 20, 2010 1:39 pm ]
Post subject:  Cisco/Comcast/SA RNG-100 Cable Box IR Blasting

My old SA Explorer 2200 recently died, so I traded it in at the Comcast office for a new box. Expecting the same, I was surprised when they handed me a slim, fancy looking cable box with "Cisco" on the front. "Cool! A nice new box."

Excitement soon turned to dismay when I discovered that this box is a complete PITA when it comes to remotes and IR. It uses the XMP protocol, which presents a problem for using other remotes with the box, but also potentially for IR blasting.

If you are using a stand-alone blaster (such as the $12 serial version), it's just a matter of using the codeset found here.

However, if you have a PVR-150 (MCE version excluded) and you're using its IR blaster, this won't work. The PVR-150 uses special codesets and is limited to those, so you cannot send arbitrary codes.

The only solution is a new IR blaster. You can buy the $12 version or make your own; I made my own.

Once you've done that, you need to configure lircd to deal with two separate devices: your PVR-150 for IR reception, and the serial blaster for IR transmission. The startup script for lircd is designed to handle exactly this situation, but it seems to me there's a problem: it determines whether you have multiple IR devices by counting lirc[0-9] entries in /dev. Yet it will only load the lirc_serial module (which creates the device file in /dev) AFTER it has counted the number of devices.

My solution was just to insert the lines loading lirc_serial directly before the number of devices is counted in the /etc/sv/lircd/run file. Restarting lircd now shows the correct number of devices in /dev, and the correct number of lircd processes.

$ ls -l /dev/lirc*
Code:
lrwxrwxrwx 1 root root     5 2010-07-20 14:55 /dev/lirc -> lirc0
crw-rw---- 1 root root 61, 0 2010-07-20 14:55 /dev/lirc0
crw-rw---- 1 root root 61, 1 2010-07-20 14:56 /dev/lirc1
srw-rw-rw- 1 root root     0 2010-07-20 14:56 /dev/lircd
srw-rw-rw- 1 root root     0 2010-07-20 14:56 /dev/lircd1


Code:
$ ps aux | grep lircd
root      4244  0.0  0.0   1548   316 ?        Ss   14:56   0:00 runsv lircd
root      4273  0.0  0.0   3056   856 ?        S    14:56   0:00 /usr/sbin/lircd -r -n -d /dev/lirc0 --output /dev/lircd --connect=localhost 8761
root      5139  0.0  0.0   3012   556 ?        Ss   14:56   0:00 /usr/sbin/lircd -r -d /dev/lirc1 --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid --listen=8761
gjm       8876  0.0  0.0   3640   832 pts/1    S+   15:31   0:00 grep lircd



Assuming you have inserted the device codeset (Comcast Custom-3-Device) linked to above somehow (either including it in one of the preexisting templates, or making a new directory with that file, etc.) so that your /etc/lircd.conf includes it, you should now be able to receive remote control signals through the PVR-150 and transmit IR through the serial blaster using irsend. You need to specify the device and address when using irsend, something like this:

Code:
sudo irsend -d /dev/lirc1 -a localhost:8761 SEND_ONCE Comcast_Custom-3-Device 5


For me, this changes the RNG-100 box to channel 5. At this point you'll need to update your channel changing script.

I am not going to make this into a HOWTO because I'm not sure this is the "correct" way of doing things; e.g., if the run script for lircd is really broken, or if I'm just not specifying to load the serial module in some other place. (FWIW I tried specifying this in /etc/systemconfig but it didn't work). But if someone else wants to chime in and see whether they think /etc/sv/lircd/run has a bug, then I'll be more confident about filing a bug report.

PS: I made the "simple version" of the homebrew IR transmitter (three discrete components) and it works without issue. Range was not a problem for me since I was taping the PVR-150's IR blaster to the cable box anyway. I used an IR LED from an old remote, a 1N4148 signal diode, and a 2200 Ohm resistor.[/url]

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/