Hauppauge WinTV-HVR-950Q: Difference between revisions
(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=== |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
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. |
|||
⚫ | |||
===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=== |
|||
⚫ | |||
<pre> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
modprobe xc5000 |
|||
</pre> |
|||
⚫ | |||
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
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.
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]