Friday, December 23, 2011

The Capture Card

Getting the Hauppauge WinTV-HVR-2250 to work on CentOS 6 wasn't as painful as I thought it would be. The IR port doesn't work in Linux and the analog support is questionable, but those aren't showstoppers for me since I have a separate remote and analog TV is pretty much dead. The digital portion of the card works perfectly.

First install the Video4Linux drivers
[root@htpc ~]# yum install libv4l video4linux video4linux-kmdl-$(uname -r)
Next, install the firmware for the card

[root@htpc ~]# wget http://www.steventoth.net/linux/hvr22xx/22xxdrv_27086.zip
[root@htpc ~]# wget http://www.steventoth.net/linux/hvr22xx/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip
[root@htpc ~]# wget http://www.steventoth.net/linux/hvr22xx/firmwares/4019072/NXP7164-2010-03-10.1.fw
[root@htpc ~]# wget http://www.steventoth.net/linux/hvr22xx/extract.sh
[root@htpc ~]# sh extract.sh
[root@htpc ~]# cp *.fw /lib/firmware
[root@htpc ~]# reboot
Finally, check dmesg to see if the kernel recognizes the card, uploads the firmware, and registers the mpeg and vbi devices.
[root@htpc ~]# dmesg
...
saa7164 driver loaded
saa7164 0000:05:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
CORE saa7164[0]: subsystem: 0070:8851, board: Hauppauge WinTV-HVR2250 [card=7,autodetected]
saa7164[0]/0: found at 0000:05:00.0, rev: 129, irq: 19, latency: 0, mmio: 0xfe800000
saa7164 0000:05:00.0: setting latency timer to 64
IRQ 19/saa7164[0]: IRQF_DISABLED is not guaranteed on shared IRQs
saa7164_downloadfirmware() no first image
saa7164_downloadfirmware() Waiting for firmware upload (NXP7164-2010-03-10.1.fw)
saa7164 0000:05:00.0: firmware: requesting NXP7164-2010-03-10.1.fw
saa7164_downloadfirmware() firmware read 4019072 bytes.
saa7164_downloadfirmware() firmware loaded.
Firmware file header part 1:
 .FirmwareSize = 0x0
 .BSLSize = 0x0
 .Reserved = 0x3d538
 .Version = 0x3
saa7164_downloadfirmware() SecBootLoader.FileSize = 4019072
saa7164_downloadfirmware() FirmwareSize = 0x1fd6
saa7164_downloadfirmware() BSLSize = 0x0
saa7164_downloadfirmware() Reserved = 0x0
saa7164_downloadfirmware() Version = 0x1661c00
saa7164_downloadimage() Image downloaded, booting...
saa7164_downloadimage() Image booted successfully.
starting firmware download(2)
saa7164_downloadimage() Image downloaded, booting...
saa7164_downloadimage() Image booted successfully.
firmware download complete.
tveeprom 1-0000: Hauppauge model 88061, rev C4F2, serial# 7964330
tveeprom 1-0000: MAC address is 00:0d:fe:79:86:aa
tveeprom 1-0000: tuner model is NXP 18271C2_716x (idx 152, type 4)
tveeprom 1-0000: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)
tveeprom 1-0000: audio processor is SAA7164 (idx 43)
tveeprom 1-0000: decoder processor is SAA7164 (idx 40)
tveeprom 1-0000: has radio, has IR receiver, has no IR transmitter
saa7164[0]: Hauppauge eeprom: model=88061
tda18271 2-0060: creating new instance
TDA18271HD/C2 detected @ 2-0060
DVB: registering new adapter (saa7164)
DVB: registering adapter 0 frontend 0 (Samsung S5H1411 QAM/8VSB Frontend)...
tda18271 3-0060: creating new instance
TDA18271HD/C2 detected @ 3-0060
tda18271: performing RF tracking filter calibration
tda18271: RF tracking filter calibration complete
DVB: registering new adapter (saa7164)
DVB: registering adapter 1 frontend 0 (Samsung S5H1411 QAM/8VSB Frontend)...
saa7164[0]: registered device video0 [mpeg]
saa7164[0]: registered device video1 [mpeg]
saa7164[0]: registered device vbi0 [vbi]
saa7164[0]: registered device vbi1 [vbi]
...
That's about it really. I did need to do a bunch of research to get this to work. I've included some sources that I found useful below. 

Next up, the remote control.

References:
http://linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-2250
http://linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-2200
http://ubuntuforums.org/showthread.php?t=1567490

No comments:

Post a Comment