Hauppauge WinTV-HVR-1950 on Ubuntu 14.04

hvr1950_connector-b

I got one of these TV capture devices so I could watch and record TV using my compy. Out of the box, it didn’t work on Ubuntu 🙁

Ok, so here’s what I did to get it working

  • Power the device using the wall wart
  • plug in USB
  • run $ dmesg in ubuntu terminal
  • notice the errors:

Aight, so I think I have an issue with a missing driver, or firmware?? I don’t know what to call it yet, but I think I need pvrusb2 available here: http://www.isely.net/pvrusb2/firmware.html

found some great notes here: http://www.isely.net/pvrusb2/setup.html#Firmware On this page, the author points out some notes related to the HVR-1950. The important takeaway is that the HVR-1950 is an exception, and can not use this firmware without renaming files (the author says to not rename the files unless you know what you are doing)

Instead, I need some sort of tarball from here: http://dl.ivtvdriver.org/ivtv/firmware/

DANG BIT ROTTING 404s!! This is why the internet is broken and it needs the Inter-Planetary-File-System PRONTO. Good information is out there, but the link to it is BROKEN because someone’s site is now down. GRRR IM SO SALTY!!!!!

Ok, that download is still out there, I just gotta find a mirror.

Or it’s not even that hard! Apparently there was an issue with linux kernel 2.6.x (noted here) where the firmware size for the HVR-1950 had to be exactly 16KB. There was a fix released in a later kernel which makes using an 8KB firmware just fine in Ubuntu 14.04 with linux kernel 3.19. YAY.

I think I got it working now. I simply just needed firmware. Apparently, DVB support is baked into the 3.19 kernel, and all I had to do was install firmware. It’s simple, just download and extract v4l-pvrusb2-73xxx-01.fw to /lib/firmware. Here is the file, with mirrors and MD5SUM. I had to put my copy in a tar.gz to satisfy wordpress:

http://grimtech.net/wp-content/uploads/2016/03/v4l-pvrusb2-73xxx-01.fw_.tar.gz

http://www.steventoth.net/linux/hvr1950/v4l-pvrusb2-73xxx-01.fw

MD5SUM: c6b01cb318b909cc52d2cf643ca269a1

 

Now, lets set up some TV! First, I unplugged and replugged my HVR-1950. Then I ran dmesg to make sure all was good:

Bad-ass, that’s looking like it’s working. There are some warnings, but I don’t think it’s anything that’ll prevent me from watching TV.

Now I want to scan for channels in my area, and create a document with channel information. For my testing, I tried and had success with Kaffeine and w-scan. I ended up using Kaffeine exclusively because it has scanning, recording, and viewing built-in. w-scan is just a scanner that creates channel databases to be used by other programs (mplayer/kaffeine/vlc/etc.)

Kaffeine is a GUI app so it’s self explanitory. Here’s a little guide on w-scan:

$ sudo apt-get install w-scan

K now run the w-scan. I want to create a Kaffeine channel database so I use the -k flag, but if you’re using mplayer or VLC, check the output of w_scan --help to see which flags you should use.

This errored for me at first. It said something about my capture device not being able to read terrestrial sources or something. It was because I had VLC open, and I just had to close VLC before running the command successfully.

The scan took awhile for me. It took about 7 minutes. At first, I called it without redirecting stdout to a file. I was assuming w_scan would create the playlist for me either in the working directory, or my home folder, but it did not. I read some of the examples on the official w_scan website and realized that w_scan outputs to stdout.

Anyway, I just ended up running Kaffeine and used it’s built-in scanning. AND NOW IM WATCHING TV ON MY COMPUTER, HOLY CRAPOLY!

Screenshot from 2016-03-13 01:55:53