TV reloaded with HDHomerun


After about two years of complete TV absence both due to technical reasons (TV socket in wrong room on the other side of my flat) as well as the quality of the programme (ads, fake reality shows, lack of real movies), I nevertheless decided to get myself a network-enabled TV-tuner.

Being network-enabled was both an easy way to get around the need for new cabling as well as making TV available to all the machines scattered throughout the flat.


The most interesting device I found and also ordered is a HDHomerun HDHR3-EU from SiliconDust, a small black box with coax input for TV (DVB-C or DVB-T), the usual 5V power-supply and an ethernet port. It contains two tuners so two channels can be watched and/or recorded in parallel.

HDHomerun HDHR3-EU

The good thing about HDHomerun devices is, that they work with a broad range of software. They are also fairly well documented and SiliconDust even has created a library and a cross-platform commandline tool to configure their devices. In fact, the software is even available in Debian Squeeze (hdhomerun-config and libhdhomerun).

Getting the device running network-wise was only a matter of plugging things together. It automatically grabbed an IP-address via DHCP and the hdhomerun-config tool could immediately find the device.


At first I was mostly interested in getting the box working with EyeTV 3 which I used together with my FireDTV in the past. A first channel-scan however did not find a single channel. After some cable unplugging, checking again with trusty FireDTV and attempts to manually set a frequency on one of the tuners I found two settings that were quite important for my DVB-C setup:

$ hdhomerun_config DEVICEID set /sys/dvbc_modulation \
    "a8qam256-9600 a8qam64-6900 a8qam128-6900"
$ hdhomerun_config DEVICEID set /tuner0/channelmap eu-cable
$ hdhomerun_config DEVICEID set /tuner1/channelmap eu-cable

The first command sets the DVB-C modulations used when autotuning on a certain frequency. Unfortunately the current HDHR3 firmware (20111025) seems to have an off-by-one bug that drops the last modulation in the list and I only tried setting the two needed values at first. After adding the unneeded QAM128 value at the end I had all modulations set that I needed. According to the very helpful support-folks at #hdhomerun on FreeNode this should already be fixed in the next firmware release.

The other two lines set the range of channels used when doing a full channel-scan. This might be unneeded for software that has its own list of “interesting” frequencies but at least for scanning with the commandline tool this has a huge impact on the frequency-range that gets scanned.

As I later found out, most of this would have propably been set by the first run of the HDHomerun Config GUI which I did not install on my Mac, d’oh.

First Impressions

So far I’m pretty happy with my current TV setup. Watching TV while recording something else works fine and so does EPG, plus I even found some new HD channels since I last had TV at home. The initial setup was a bit tricky but the extensive documentation as well as the geek-friendly support channel (IRC) pretty much make up for all the tinkering. Also I now have a new network-enabled toy to play with so depending on my free-time maybe I can whip up some helpful software for these devices (GKrellM HDHomerun status plugin anyone?).