Debian Linux and a Hauppage HVR-950 by jtr · linux - 18 August 2009, 13:00

Ah. Success. A year or so ago my wife and I purchased a Hauppauge HVR-950 it’s a USB hi-def TV tuner. It is not officially supported under Linux and I was unable to get sound working. This week I tried again and was successful. I am running Debian Lenny but installed kernel 2.6.30 from Debian Testing (the very day it moved into Testing).

The steps to get it working are remarkably simple (okay…that’s probably relative). The 2.6.30 kernel recognizes the tuner automatically. In order for the television application of your choice to work properly, you must get the closed-source firmware for it. You can download it here. After downloading this ZIP file, you need to extract one file. Use this command:

unzip -j HVR-12×0-14×0-17×0_1_25_25271_WHQL.zip Driver85/hcw85bda.sys

You need to perform one more step on this file, to extract the firmware from it. The tool necessary is found in the kernel source tree, so you must have the source installed for your kernel. The file is extract_xc3028.pl. Your path should be like the following:

/usr/src/linux-source-2.6.30/Documentation/video4linux

Use this perl script against the file you extracted:

extract_xc3028.pl hcw85bda.sys

This will produce a file named xc3028-v27.fw. Copy this file to /lib/firmware. Start your favorite television viewing application (I use tvtime.) This will get video. The problem is you will not have sound. For that you must install a few packages (they may already be installed): sox, libsox-fmt-oss, libsox-fmt-alsa, libsox-fmt-base, libsox1. Then run this command:

sox -r 48000 -w -c 2 -t ossdsp /dev/dsp1 -t ossdsp /dev/dsp

This worked for me. Of course, I made this into a shell script so I don’t have to remember all the details.

* * *