When I built my PVR a few years I bought a
OneForAll
URC-7562
6in1 remote control; with a surround sound amp, TV, NTL cable box, DVD and
PVR the number of remotes around the place was getting a bit ridiculous.
The main reason for choosing this remote was its ability to control the
NTL box, which uses some odd IrDA based format apparently that even lirc
has difficulty making sense of and learning remotes mostly ignore. It
also had the ability to be upgraded remotely by phoning up a support line
and they'd squirt some noise down the phone that the remote would
understand. I had call to use this to enable my Scan DVD player when I
first got the remote and it worked fine and I was quite impressed.
However the remote also features another neat way to do upgrades. It has a
6 pin header in the battery compartment that is know as the
JP1. This exposes the I2C bus that the
configuration EEPROM lives on and there is a good amount of information
out there about understanding the memory layout and adding support for new
remotes etc. I'd been meaning to build the adapter to connect up since
getting the remote but until recently hadn't really had a reason. However
although my new TV is vaguely supported I'd really like to be able to
remap the keys more sanely. So last weekend I discovered I had the
appropriate bits lying around and built one.
Unfortunately most of the software is for Windows; there's a Java app that
will generate the appropriate data to feed to the remote, but the main
communication tool is a Windows app. I found a couple of old Linux tools,
but then I had a thought: it's just i2c. Why not tie it into the proper
i2c subsystem? Turns out the i2c-parport driver makes this sort of
thing easy; all you add is a single entry defining the appropriate
parallel port lines to wiggle and it all magically works.
So now I can talk to my remote using the eeprom driver talking to the i2c
subsystem which talks to the remote over the parallel port adaptor I
built. Which feels wonderfully sick. :) Now I need to actually have a
closer look at getting all the buttons working for my new TV...