View unanswered posts    View active topics

All times are UTC - 6 hours

Post new topic Reply to topic  [ 1 post ] 
Print view Previous topic   Next topic  
Author Message
Search for:
PostPosted: Tue Jul 20, 2010 1:39 pm 
Joined: Wed Jul 25, 2007 7:56 pm
Posts: 103
Location: Arlington, VA, USA
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*
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

$ 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/ --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:

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]

MBE/FE: R6, P4 2.8 GHz/2 GB/2 TB, GeForce 6200 512 MB, PVR-150, Cisco RNG-100 cable box
FE: R6, P4 2.0 GHz/1 GB, GeForce4 MX 420 64 MB, diskless netboot


Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 6 hours

Who is online

Users browsing this forum: No registered users and 2 guests

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group

Theme Created By ceyhansuyu