HDHomeRun is a TV tuner for computers – Ethernet attached. Once connected to your home router you can access the HDHomeRun Tuners from any computer, anywhere in your home. Watch / Record TV from anywhere you have a computer.First, you have to install some per-requisites to build the dvbhdhomerun drivers needed on Fedora.
$ sudo yum -y install asciidoc binutils-devel cmake elfutils-devel gcc-c++ hdhomerun hdhomerun-devel kernel-devel newt-devel python-devel perl-ExtUtils-Embed redhat-rpm-config rpm-build zlib-devel xmlto hmaccalc bison pciutils-devel audit-libs-devel pesign
Then, you should grab the source code from Download latest CVS fromhttp://dvbhdhomerun.cvs.sourceforge.net/viewvc/dvbhdhomerun/ Next, run the following commands to download the kernel source and install it. Replace the kernel/linux directories and filenames to match the ones that you have. At this point become root.
# yumdownloader --source kernel
# rpm -ivh kernel-$(uname -r).src.rpm
# cd ~/rpmbuild
# rpmbuild -bp --target $(arch) --rmsource --rmspec SPECS/kernel.spec
# cd BUILD/kernel-3.9.fc19/linux-3.9.9-301.fc19.x86_64
# cp configs/kernel-3.9.9-x86_64.config .config
Now, in the directory that you are in,do a uname -a and copy the second dash to the end, then open the Makefile with vi or another editor and paste into the EXTRAVERSION line. My paste was “-301.fc19.x86_64″. Then do the next commands, changing the kernel to match your version.
cp /usr/src/kernels/3.9.9-301.fc19.x86_64/Module.symvers .
make prepare scripts
Now, change back to the directory where you downloaded the dvbhdhomerun source package and run the following commands to unbundle it.
tar -xvzf dvbhdhomerun_0.0.15.tar.gz
Then, edit the Makefile in that directory with vi or whatever you prefer and change the KERNEL_DIR line to ~/rpmbuild/BUILD/kernel-3.9.fc19/linux-3.9.9-301.fc19.x86_64/ changing the kernel and linux versions to match your systems. Then run this to get to the next directory you need.
Then edit CMakeLists.txt with vi or whatever and change SET(LIBHDHOMERUN_PATH /usr/lib/libhdhomerun) to SET(LIBHDHOMERUN_PATH /usr/include/hdhomerun)
Now, do the following to compile everything.
cd ../kernel/ && make && make install
cp ../debian/dvbhdhomerun-utils.udev /etc/udev/rules.d/
systemctl restart systemd-udevd.service
After the last command, you should see some lines you can CTRL+C to stop this. Run the next line to install it.
That should have all you need to get going. You will need whatever user you want to run the service as to be a member of the video group. You can start the daemon with the command line if you have a mythtv user or as root if you are not running MythTV. The syntax is:
/usr/local/bin/userhdhomerun -f -u mythtv
/usr/local/bin/userhdhomerun -f -u root
Next we want to load the module at start., in /etc/sysconfig/modules/ create a file called hdhomerun.modules with the following content.
exec /sbin/modprobe dvb_hdhomerun >/dev/null 2>&1
Save the file and set the permissions to 755. This will load the module at reboot. After rebooting you can verify the modules are loaded by executing
$ lsmod | grep dvb_hdhomerun
dvb_hdhomerun 20053 0
dvb_hdhomerun_core 14646 1 dvb_hdhomerun
dvb_core 114934 1 dvb_hdhomerun
Next we need to do a little work with firewalld to allow the system to see the HDHomerun device.
If you have firewalld running you have to to stop and disable it or make a port exception for UDP 65001.
$ sudo sudo systemctl stop firewalld.service
To disable the service
$ sudo sudo systemctl disable firewalld.service
If you want to add the port run the following commands, with the firewalls service still running.
$ sudo firewall-cmd --permanent --zone public --add-port=65001/udp
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --list-all
Now that we have it installed we need to run discovery and then configuration. Running the hdhomerun_config command without any parameters will give you the usage.
$ sudo /usr/bin/hdhomerun_config
hdhomerun_config <id> get help
hdhomerun_config <id> get <item>
hdhomerun_config <id> set <item> <value>
hdhomerun_config <id> scan <tuner> [<filename>]
hdhomerun_config <id> save <tuner> <filename>
hdhomerun_config <id> upgrade <filename>
$ sudo hdhomerun_config discover
hdhomerun device 10329610 found at 192.168.1.121
Now we have the device id, in this case 10329610. Let’s set the channel map
hdhomerun_config 10329610 set /tuner0/channelmap us-cable
Run a channel scan
$ sudo hdhomerun_config 10329610 scan /tuner0 scan.txt
Check the signal strength using the following command:
hdhomerun_config 10329610 get /tuner0/status
Viewing Programs Using Kaffeine
Kaffeine is a KDE TV viewing program. It is in the normal Fedora repositories. First we need to install it and enable the rpmfusion repositories if they are not already on your system.
$ sudo yum -y install kaffeine xine-lib xine-lib-extras-freeworld xine-ui
Next open Kaffeine and click on the Television > Channels > Start Scan. After the scan is completed select the stations you want from the discovery and click Add Selected and click OK. You can now click on the stations and watch TV.