I’ve been using elementary OS Luna lately, an Ubuntu derivative, and I really like it so far. It is very smooth and lightweight. Anyway, since I had to reinstall my OS, I’ve needed to setup all of my hardware again. Here is how I got my WinTV-HVR2250 working.
I followed the guide on linuxtv.org. Here are the steps that I ran to get my setup working.
chmod +x extract.sh
You can look at the
extract.sh script before you run it. It just unzips the downloaded files and tells you where to copy the
fw files next. For me, this is where I needed to copy the extracted firmware:
sudo cp v4l-saa7164-1.0.2.fw /lib/firmware/3.2.0-59-generic
sudo cp v4l-saa7164-1.0.3.fw /lib/firmware/3.2.0-59-generic
sudo cp dvb-fe-tda10048-1.0.fw /lib/firmware/3.2.0-59-generic
Download More Firmware
I then followed some of the directions under the Making it Work Easily section:
sudo cp NXP7164-2010-03-10.1.fw /lib/firmware
This just copies more firmware to your firmware directory. Next, you need to determine which type of card you have. You can find that by running the following:
dmesg | grep saa7164
The third line will read something like:
CORE saa7164: subsystem: 0070:8851, board: Hauppauge WinTV-HVR2250 [card=7,insmod option]
card=7 part. You want to create an
options file in
sudo nano /etc/modprobe.d/options
The file should contain
options saa7164 card=7. Replace the
card=7 part with whatever your
dmesg output said.
Restart your computer and your hardware should now be working. Next, you’ll want to install Tvheadend backend TV server:
sudo apt-add-repository http://apt.tvheadend.org/unstable
sudo apt-get update
sudo apt-get install tvheadend
I’m using the unstable PPA because the stable version didn’t correctly parse service names from my over-the-air signal. v3.9.385
g7d8d81aprecise works great for me but YMMV.
Once you install Tvheadend, you can access the web UI from
localhost:9981. Go to Configuration ➡️ DVB Inputs ➡️ Networks. Add a new ATSC network for us_NTSC_center_frequencies_8VSB if you are like me and trying to pick up HDTV over the air. Don’t skip the initial scan for this network. Navigate to TV Adapters and enable each of the dual tuners listed (they both showed up as Samsung tuners for me) with the network you just created.
It should start scanning and picking up channels. Once services start showing up on your Services tab, you can click on Map All to map the services to TV channels.
Now that you have the backend TV server setup, you’ll need a client to connect to it.
sudo add-apt-repository ppa:team-xbmc/ppa
sudo apt-get update
sudo apt-get install xbmc xbmc-pvr-tvheadend-hts
Open XBMC, and navigate to Settings ➡️ Add Ons ➡️ Disabled Add Ons ➡️ PVR Clients and configure the Tvheadend client with whatever username/password you created when you installed Tvheadend. This should enable the client and enable Live TV within XBMC. If it didn’t, just navigate to Live TV from the settings menu and enable it.
Finally, go to the XBMC menu home screen and click on Live TV and watch something.
Yeah, this was kind of a pain-in-the-ass to get setup. Once you know what to do, it is mostly straight-forward but it is definitely not the ease of setting up TV in Windows Media Center. This solution, however, is much more robust in that I can now share live TV with any device on the network. Once it is all running, it is a very nice setup.