- For the CableCARD-based device, see Silicondust HDHomeRun Prime.
The HDHomeRun, by Silicondust USA (a wholly owned subsidiary of Silicondust Engineering, New Zealand), is an external HDTV tuner for personal computers. It actually has 2, 3 or 6 independent tuners, and interfaces to the computer via ethernet. The device is supported by MythTV (since v0.20), as well as many other PVR software packages.
Since it tunes only digital signals (OTA HDTV as well as "Clear" QAM digital cable), which are already MPEG2 encoded, it has no MPEG encoding hardware.
- Silicondust HDHomeRun (also lists sellers)
- Silicondust Channel Search (lets you see what channels are available for your zip code)
- Official HDHomeRun Forum (hosted by silicondust.com) Official HDHomeRun Forum
- HDHomeRun Forum (hosted by 9thtee.com) HDHomeRun Forum
- Ubuntu Wiki's instructions (includes screen shots) 
- HDHomeRun Development Guide.
Watch over-the-air digital & unencrypted digital cable TV from all computers in your home network
Two, three or six tuners, depending on model - record/watch multiple channels at once
Gets IP address via DHCP
(White case version only) IR Receiver - use most standard remotes to signal your PC
- Windows Media Center:
- MCE 2005 (beta).
- Vista MCE 32-bit (beta).
- Vista MCE 64-bit (beta).
- SnapStream BeyondTV (beta)
- SageTV - DVR for Windows.
- MediaPortal - DVR for Windows (beta).
- GB-PVR - DVR for Windows (beta).
- MythTV - DVR for Linux, Windows, OSX.
- Pluto - Home automation & media system.
- VLC - Multi-platform media viewer.
- 8-VSB (ATSC over-the-air digital HDTV)
- QAM64/256 (unencrypted digital cable TV)
- Single or dual HDTV tuners, depending on model
- IR Receiver (38kHz)
- 100baseTX high speed network
- Networked Digital HDTV Tuner
- Power supply
- 7' RJ45 Patch Cable
Instructions (from HDHomeRun Forum)
If you are running an older version of MythTV you will need to upgrade to 0.20 (or later).
If you are using the MythTV 0.20 Ubuntu/Debian package then you will need to update /usr/lib/libmythtv-0.20.so.0.20.0 once mythtv has been installed. http://www.silicondust.com/hdhomerun/libmythtv-0.20.so.tgz
mythtv-setup - Capture device Add a new capture card with the following configuration: Card type: HDHomeRun DTV tuner box Device ID: <number from back of HDHomeRun> Tuner: 0 Finish: <enter>
Shortcut - if there is only one HDHomeRun on the local network you can use the wildcard FFFFFFFF device ID.
Repeat adding a second capture card for tuner 1: Card type: HDHomeRun DTV tuner box Device ID: <number from back of HDHomeRun> Tuner: 1 Finish: <enter>
Setting up IR Forwarding
The older HDHomeRun with the white case is capable of forwarding IR commands via your LAN to LIRC. This can save you some money on purchasing an additional IR receiver for your frontend. However, the IR receiver is very directional and may require you to aim the remote directly at the HDHR. These instructions come from the Silicondust website.
If you don't have them installed already, you need the hdhomerun_config tools installed. If you're using Ubuntu or one of its derivatives, you can install this by entering the following within a terminal:
sudo apt-get install hdhomerun-config
Now that you have the HDHR software installed, you need to figure out what the <device id> of your box is. Do this by entering the following command:
You should get a result that follows this format:
hdhomerun device <device id> found at <device IP address>
Now you need to tell the HDHR to send IR commands to your frontend's IP address via a specific port. Port 5000 is used below, but it can be set to any unused port. Just make sure you remember what you set it to because we'll be using that when setting up LIRC.
hdhomerun_config <device id> set /ir/target "<frontend IP address>:5000 no_clear"
NOTE: Silicondust's website says that you can save the IR target to the HDHR's flash memory using the following command. I've had difficulty getting this to work, but here's the command. If this doesn't work either, you'll just need to issue the above command whenever your HDHR is unplugged and sometimes if your router gets reset.
hdhomerun_config <device id> set /ir/target "<frontend IP address>:5000 store"
The last thing to do is to get LIRC listening for IR commands being sent from your HDHR. We'll kill any lircd processes first, just to be sure. Then we'll get LIRC listening on the proper port. We're using port 5000 again here, because that's what we told the HDHR to use. If you used another port, you'll need to specify that same port here.
sudo killall lircd sudo lircd -H udp -d 5000
That's it. If mythfrontend is already running on your machine, you'll need to exit out of it and restart the frontend (just the application, not the computer) for it to work.
North America Digital Antenna
mythtv-setup - Video sources Add a new video source with the following configuration: Video source name: Antenna Listings grabber: No grabber (will come back and change this later) Channel frequency table: us-bcast mythtv-setup - Input connections Configure HDHomeRun Port 0 as follows: Video source: Antenna External channel change command: <blank> Preset tuner to channel: <blank> Scan for channels: <enter> Scan for channels page: Scan type: Full scan Frequency table: Broadcast ATSC modulation: Terrestrial (8-VSB) Channel seperator: Period Existing channel treatment: Minimal updates Next: <enter> Back on "Connect source to input page": Starting channel: <choose a valid channel> Finish <enter> Repeat for HDHomeRun Port 1. mythtv-setup - Channel Editor Note list of channels for source "Antenna" Schedules Direct Create an account here. The price is $25/year with first 7 days free. http://www.schedulesdirect.org/ Create a channel lineup and enable/disable channels based on channels listed in the Channel Editor in mythtv-setup. mythtv-setup - Video sources Change the configuration for antenna as follows: Listings grabber: North America (Schedules Direct) (Internal) User id: <login name for Schedules Direct> Password: <password for Schedules Direct> Retrieve lineups: <enter> Data direct lineup: <select correct listing> Finish <enter>
North America Digital Cable
Note: you may find Scte65scan to be an alternative option that may more easily align channel numbers.
mythtv-setup - Video sources Add a new video source with the following configuration: Video source name: Digital Cable Listings grabber: No grabber (will come back and change this later) Channel frequency table: us-cable mythtv-setup - Input connections Configure HDHomeRun Port 0 as follows: Video source: Digital Cable External channel change command: <blank> Preset tuner to channel: <blank> Select "Scan for channels" <enter> Scan for channels page: Scan type: Full scan Frequency table: Cable ATSC modulation: Cable (QAM-256) Channel seperator: Period Existing channel treatment: Minimal updates Next: <enter> Back on "Connect source to input page": Select "Scan for channels" <enter> Scan for channels page: Scan type: Full scan Frequency table: Cable ATSC modulation: Cable (QAM-64) Channel seperator: Period Existing channel treatment: Minimal updates Next: <enter> Back on "Connect source to input page": Starting channel: <choose a valid channel> Finish <enter> Repeat for HDHomeRun Port 1. mythtv-setup - Channel Editor Note list of channels for source "Digital Cable" Schedules Direct Create an account here: http://schedulesdirect.org/ Create a channel lineup and enable/disable channels based on channels listed in the Channel Editor in mythtv-setup. Make sure the channel name and number in Schedules Direct matches the display channel name and number in the Channel Editor in MythTV. Note that MythTV uses the ATSC channel numbering as specified in the transport stream, not the remapped cable channel numbering so you will need to select OTA/Antenna as the source in Schedules Direct. However a mapping must be made to ensure that the listings correspond to the correct channels. mythtv-setup - Video sources Change the configuration for digital cable as follows: Listings grabber: North America (Schedules Direct) (Internal) User id: <login name for Schedules Direct> Password: <password for Schedules Direct> Retrieve lineups: <enter> Schedules Direct lineup: <select correct listing> Finish <enter>
If you're replacing previous connections and channels, make sure you download a complete new listing using:
Without that option you'll find yourself still missing guide data.
What to do if you get no channels
If you know you for a fact that you should be getting some channels, but mythtv's scanning isn't working - you can try to fix it by doing these two things:
- Install the hdhomerun-config utility ( For recent distributions of Ubuntu it's as simple as
sudo apt-get install hdhomerun-config)
hdhomerun_config discoverand make note of the actual device ID, use this instead of FFFFFFF
- delete the HDHR tuners and re-add them
For at least one user, the above set of steps solved the problem of getting 0 channels reported. The hdhomerun-config may be required for the scanner to work properly?
If you still get nothing try the command:
hdhomerun_config DeviceID scan 0
Which should do a scan on tuner 0 of the hdhomerun box and show it with output looking like:
SCANNING: 653000000 (us-bcast:44)
LOCK: none (ss=35 snq=0 seq=0)
SCANNING: 647000000 (us-bcast:43)
LOCK: 8vsb (ss=60 snq=52 seq=100)
PROGRAM 3: 44.2 World
PROGRAM 4: 44.3 Create
PROGRAM 5: 44.4 Kids
PROGRAM 7: 44.1 WGBX-HD
and so on.
Can't Connect to HDHR?
You may have a firewall in the middle blocking traffic. If so, an easy solution is adding a firewall rule that permits all traffic to and from the HDHR.
The following example uses the HDHR's mac address to avoid any hassles with IP changes:
-A INPUT -m mac --mac-source HDHR:MAC:ADDRESS -j ACCEPT
It is convenient (or maybe required for your OS flavor when using a GUI to edit the rules) to store this rule in an external file. For example, on Fedora, /etc/sysconfig/iptables-hdhomerun, and add a custom rule that refers to that file.
The HDHomeRun normally expects to obtain a DHCP lease. However, with the latest firmware it is also possible to configure it statically. This is particularly convenient if you want to connect the HDHomeRun directly to a NIC on your MythTV system, rather than through a switch on your network. To do this, configure your local interface with a static IP address in the range of 169.254.x.x (eg. 169.254.1.10) with a subnet mask of 255.255.0.0 and no gateway.
The HDHomeRun uses UDP to communicate to the backend. Since UDP is connectionless, it does not retry if a packet is lost. This can cause a problem with hubs, especially with multiple HD video streams and other traffic. Any collision on the network generally results in part of the video stream being lost. This shows up as random blocks in the video being corrupt, generally with colors that stand out against the video. Switches resolve this problem since they break up the network into more collision domains, although this problem will still appear if then network becomes fully saturated with traffic.
When connecting to the HDHomeRun, it is recommended that you use the Device ID and not the IP address to specify the HDHomeRun to MythTV-setup. There may be an issue with in addressing the second tuner of the HDHomeRun, which will result in existing recordings terminating aburptly when the other tuner is accessed by MythTV. See #9247.
Ensure that the HDHomeRun device is properly detected on the network using the
hdhomerun_config discover command. If it is not, then resolve the connection issue before attempting to add the HDHomeRun in mythtv-setup. If things are configured correctly, the mythtv-setup program should automatically detect the device ID of the HDHomeRun when adding the tuner.
In one case, although the IP of the HDHomeRun could be pinged from the MythTV machine, different netmasks between the MythTV machine and the HDHomeRun caused mythtv-setup and hdhomerun_config not to autodetect the device. Other causes might include a firewall on the MythTV box blocking access.