So when Comcast dropped a bunch of analog channels last month, my mythtv setup got a little less useful. They did unencrypt some digital channels, but I was still down to one tuner for most cable channels.
I got my converter box last week, a Pace DC50X
. It works well enough. Even with the RF output, and the digital to analog back to digital conversion, it still looks better than the old analog signal.
Of course, the problem with a converter box is that mythtv can no longer change the channels. The converter comes with an external IR receiver port, a mono mini-jack. So my first thought was to have a sound card generate the electrical signal the IR receiver would make. But there are already established methods for communicating with IR, so I decided to just use an IR blaster.
There are plans for making your own, but I'm not really up for that. My electronics experience is limited to soldering broken connections, and some basic theory from high school physics class. I would not want to plug a circuit I built directly into my PC.
So I bought the serial port one from irblaster.info. After actually installing a serial port (heh), it works as expected. MythTV can now change the channels, and I have a pretty good DVR again.
There is one thing that kind of bugs me about it though. When it's transmitting, LIRC masks interrupts. So for the ~1 second it takes to change the channel, the sound skips and the system clock drifts a little. I can probably live with that, but it might gradually drive me insane. I'm not sure which yet.
I'm not too familiar with multicore x86 or linux's IRQ handling, but I wonder if it would be possible to keep the LIRC driver on a different core, and only mask IRQs on that core. Otherwise... I have been looking for an excuse to buy an arduino...