Hauppauge WinTV-HVR-950Q: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(clean up, formating, remove first person account to discussion page etc)
Line 1: Line 1:
[[Image:package.jpg]]
[[Image:package.jpg|right|240px]]


A hybrid [[ATSC]] [[ATSC USB Devices|USB 2.0 device]] by [[Hauppauge]].
== Overal Impression ==


The digital side of the device is supported under Linux since kernel 2.6.26. Analog is currently not supported.
This is my first video capture device and I really like it. It currently works great/excellent for ATSC (digital broadcast) but, at the time of writting, it doesn't work at all for NTSC (analog TV/cable). There is a patch[http://lists-archives.org/video4linux/20859-xc5000-tuner-analog-support.html] already available that fixes this problem, but I haven't tried it. I use WinTV-HVR-950Q on very modest hardware: an old Dell Latitude D600 laptop with 2GHz/500MB connected to a 1080p LCD TV through a VGA cable. Both my TV and the WinTV are connected to an internal amplified antenna (TERK HDTVa).
This WinTV tuner is as good as my TV tuner: both found the same channels and have about the same video quality (even for 1080i broadcasts).


{{Note|This device, the HVR-950'''Q''', is significantly different from the older HVR-950 model, so please be sure to differentiate between the two. For information on the older model, see the [[Hauppauge WinTV-HVR-950|WinTV-HVR-950]] article.}}
Note that it's critical to have a fast video card. My card, ATI Radeon 9000 32Mb, is not supported by ATI anymore, so I had to use the open source radeon driver instead of ATI's fglrx. If you use the default settings for the radeon driver, you will get a pitiful 170FPS in glxgears, which is ''NOT'' sufficient for watching digital TV. But after I used this xorg.conf file[http://lambda.uta.edu/d600/xorg2.conf], I got about 1100FPS, which was sufficient. Of course, I had to do the following to get the best resolution on my TV (and a blank screen on my laptop):

<pre>

xrandr --output LVDS --off --output VGA-0 --mode 1920x1080
==Overview/Features==
</pre>
The device supports NTSC, 8-VSB and QAM.

===Components Used===
* XC5000 (tuner and analog demodulator)
* Auvitek AU8522 (digital demodulator)
* Auvitek AU0828 (A/V decoder & USB bridge)

===Identification===
Output of lsusb -v:


==Making it Work==
== Basic Installation ==
Note: analog support has not been added to the AU0828.


===Firmware===
In order to use the LinuxTV driver, you need to download and install the firmware for the xc5000.

wget http://www.steventoth.net/linux/xc5000/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip
wget http://www.steventoth.net/linux/xc5000/extract.sh
sh extract.sh
cp dvb-fe-xc5000-1.1.fw /lib/firmware

Note: Though the usual directory location in which the firmware file is placed is /lib/firmware, this may differ in the case of some distros; consult your distro's documentation for the appropriate location.

The firmware will be added lazily (on-demand) when you first use the driver.

===Drivers===
The xc5000 driver needed for this WinTV-HVR-950Q is already part of the latest Linux kernel (part of v4l-dvb drivers).
The xc5000 driver needed for this WinTV-HVR-950Q is already part of the latest Linux kernel (part of v4l-dvb drivers).

You should upgrade to Linux kernel 2.6.27.
===Sample Kernel Output===
First you need to download and install the xc5000 firmware:
<pre>
wget http://www.steventoth.net/linux/xc5000/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip
wget http://www.steventoth.net/linux/xc5000/extract.sh
sh extract.sh
cp dvb-fe-xc5000-1.1.fw /lib/firmware
modprobe xc5000
</pre>
The firmware will be added lazily (on-demand) when you first use the driver.
After you plug-in the device on a USB 2.0 port (it won't work with a USB 1.1) and use the driver for the first time (eg, by scanning channels), you may see something like this on dmesg:
After you plug-in the device on a USB 2.0 port (it won't work with a USB 1.1) and use the driver for the first time (eg, by scanning channels), you may see something like this on dmesg:
<pre>
<pre>
Line 53: Line 67:
xc5000: firmware upload
xc5000: firmware upload
</pre>
</pre>
Connect the WinTV to a good antenna.
Then download some tools (using your distribution installer: yum, apt-get, etc):
<pre>
yum install dvb-apps mplayer
</pre>
Then scan your ATSC channels. For example, to scan ATSC channels in US do
<pre>
scandvb /usr/share/dvb-apps/atsc/us-ATSC-center-frequencies-8VSB > channels.conf
</pre>
Then copy the file <tt>channels.conf</tt> to the directory <tt>.mplayer/</tt> and test it on of one of the channels listed in <tt>channels.conf</tt>. For example, if you have a channel called KERA-HD, you do:
<pre>
mplayer dvb://'KERA-HD'
</pre>
In my case, for a 1080i broadcast, I had to use the following parameters:
<pre>
mplayer dvb://'KERA-HD' -vo x11 -framedrop 1
</pre>
because of my slow video and audio cards.


== TV Recording ==


==External Links==
Instead of using special software for TIVO-like recording (such as MythTV), I use simple scripts. I first created a file in my bin directory, called favorites.txt, with mnemonics for my favorite channels listed in channels.conf (these are actual their channel numbers). Example:
* [ Hauppauge 950Q product page]
<pre>
4 KDFW DT
5 KXAS-HD
11 KTVT-DT
13 KERA-HD
</pre>
and use the following script, called tape, in my bin directory:
<pre>
#!/bin/sh
ext=`date +'%m-%d-%H-%M-%S'`
tapeit='/tmp/tapeit-'${ext}
stopit='/tmp/stopit'
file='~/Videos/'${ext}'-'$1
pat='s/^'$1' //p;d'
chan=`sed "${pat}" ~/bin/favorites.txt`
if [ "${chan}" == "" ]; then echo "Valid channels:"; cat ~/bin/favorites.txt; exit; fi
echo "azap -r -c ~/channels.conf '${chan}' > /dev/null & cat /dev/dvb/adapter0/dvr0 > ${file}" > ${tapeit}
echo 'killall -q azap cat' > ${stopit}
if [ "$2" = "now" ]; then sh ${tapeit}; else at -f ${tapeit} $2; fi
if [ -z "$3" ]; then at -f ${stopit} now + 1 hour; else at -f ${stopit} $3; fi
</pre>
For example, to tape something on KDFW-DT (channel 4) between 5pm and 6pm you execute:
<pre>
tape 4 5pm 6pm
</pre>
(note that for a 1080i channel, you will need 6GB/hour disk space). The result will be written in the directory Video under a name that contains date/time/channel. Then you can use mplayer to watch this file.

Revision as of 06:06, 9 February 2009

Package.jpg

A hybrid ATSC USB 2.0 device by Hauppauge.

The digital side of the device is supported under Linux since kernel 2.6.26. Analog is currently not supported.

Note: This device, the HVR-950Q, is significantly different from the older HVR-950 model, so please be sure to differentiate between the two. For information on the older model, see the WinTV-HVR-950 article.


Overview/Features

The device supports NTSC, 8-VSB and QAM.

Components Used

  • XC5000 (tuner and analog demodulator)
  • Auvitek AU8522 (digital demodulator)
  • Auvitek AU0828 (A/V decoder & USB bridge)

Identification

Output of lsusb -v:

Making it Work

Note: analog support has not been added to the AU0828.

Firmware

In order to use the LinuxTV driver, you need to download and install the firmware for the xc5000.

 wget http://www.steventoth.net/linux/xc5000/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip
 wget http://www.steventoth.net/linux/xc5000/extract.sh
 sh extract.sh
 cp dvb-fe-xc5000-1.1.fw /lib/firmware

Note: Though the usual directory location in which the firmware file is placed is /lib/firmware, this may differ in the case of some distros; consult your distro's documentation for the appropriate location.

The firmware will be added lazily (on-demand) when you first use the driver.

Drivers

The xc5000 driver needed for this WinTV-HVR-950Q is already part of the latest Linux kernel (part of v4l-dvb drivers).

Sample Kernel Output

After you plug-in the device on a USB 2.0 port (it won't work with a USB 1.1) and use the driver for the first time (eg, by scanning channels), you may see something like this on dmesg:

usb 1-3: new high speed USB device using ehci_hcd and address 3
usb 1-3: configuration #1 chosen from 1 choice
au0828: i2c bus registered
tveeprom 0-0050: Hauppauge model 72001, rev B3F0, serial# 5280879
tveeprom 0-0050: MAC address is 00-0D-FE-XX-XX-XX
tveeprom 0-0050: tuner model is Xceive XC5000 (idx 150, type 4)
tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)
tveeprom 0-0050: audio processor is AU8522 (idx 44)
tveeprom 0-0050: decoder processor is AU8522 (idx 42)
tveeprom 0-0050: has no radio, has IR receiver, has no IR transmitter
hauppauge_eeprom: hauppauge eeprom: model=72001
xc5000 0-0061: creating new instance
xc5000: Successfully identified at address 0x61
xc5000: Firmware has not been loaded previously
DVB: registering new adapter (au0828)
DVB: registering adapter 0 frontend 0 (Auvitek AU8522 QAM/8VSB Frontend)...
Registered device AU0828 [Hauppauge HVR950Q]
usb 1-3: New USB device found, idVendor=2040, idProduct=7200
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=10
usb 1-3: Product: WinTV HVR-950
usb 1-3: Manufacturer: Hauppauge
usb 1-3: SerialNumber: 000000000
xc5000: waiting for firmware upload (dvb-fe-xc5000-1.1.fw)...
firmware: requesting dvb-fe-xc5000-1.1.fw
xc5000: firmware read 12332 bytes.
xc5000: firmware upload


External Links

  • [ Hauppauge 950Q product page]