Hauppauge WinTV-HVR-2250
The Hauppauge WinTV-HVR-2250 is an ATSC PCIe card from Hauppauge. Support for its digital side was added to Hg in September 2009.
Overview/features
- Low-profile PCI Express (PCIe) ×1 board
- Two analog tuners, each with their own hardware decoders
- Two digital TV receivers for ATSC or clear QAM
- Dual built-in hardware MPEG-2 decoders
Components used
- NXP SAA7164
- Pair of NXP TDA18271HD tuner chips
REV C1F1
- NXP SAA7164E/3
- Pair of Conexant CX24228-21Z demodulators
- Samsung 819 K4H561638H-UCCC
REV C2F2
- NXP SAA7164E/3
- Pair of Conexant CX24228-21Z demodulators
REV C3F2
- NXP SAA7164E/3
- Samsung 846 - K4H561638J-LCCC - H56162YI369GDU
- Pair of Conexant CX24228-21Z - NI3W4H - 0811 KR
- 0916 - 3506 - EFE - N8578
- 24C3265I- 408(4)9E - not sure on the (4)
- Pair of LD1117 - C822
REV C4F2
- Trident SAA7164E/3 (P2A988.00 02 / ESD11252)
- Samsung S5H1411X01-Y0 / N3511ND / H1103 (Two of these)
- Presumed pair of: NXP TDA1827 1HDC2 / GT1049 03 / TSD10501 (no confidence in last line, did not remove EMI shield)
- 54 MHz and 24.690 MHz oscillators (two of the latter, seems to be for the Samsung chips), there is a third oscillator under the EMI shield that was not viewed
- ESMT M13S2561616A- 5T / ASK1PO35E 1052
- Linear Technology (LT) 1120 / 3506 / EFE N9096 / e3 (last presumably a date/lot/factory code)
- ATMEL1040 / TINY13A / <delta/triangle symbol> SSU (on reverse side of PCB)
Making it work
Digital support
In September 2009, Steven Toth at kernellabs submitted code to the linux kernel mailing list that adds support for the NXP Saa7164 PCIe A/V bridge used by the Hauppauge HVR-2250 card. See Hauppauge WinTV-HVR-2200. Note that the upstream driver support is limited to DVB-T / ATSC / QAM digital TV only.
Firmware needed for current cards is:
wget http://www.steventoth.net/linux/hvr22xx/22xxdrv_27086.zip wget http://www.steventoth.net/linux/hvr22xx/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip wget http://www.steventoth.net/linux/hvr22xx/extract.sh sh extract.sh cp *fw /lib/firmware # for some linux distros, might need the following line instead of the above cp *fw /lib/firmware/`uname -r`
Installing this firmware is all that is needed.
Analog support
Experimental analog support was released by KernelLabs on July 31, 2010. See here for more details related to installing analog support: KernelLabs saa7164 analog announcement
Development continues at http://www.steventoth.net/blog/products/hvr-2250/
Firmware
The Windows driver and Linux firmware extraction scripts are up on http://www.steventoth.net/linux/hvr22xx
Drivers
Drivers were merged into the kernel in Linux 2.6.32.
Sample kernel output
[ 9.281086] saa7164_downloadfirmware() no first image [ 9.281103] saa7164_downloadfirmware() Waiting for firmware upload (NXP7164-2010-03-10.1.fw) [ 9.412799] saa7164_downloadfirmware() firmware read 4019072 bytes. [ 9.412806] saa7164_downloadfirmware() firmware loaded. [ 9.412811] Firmware file header part 1: [ 9.412815] .FirmwareSize = 0x0 [ 9.412819] .BSLSize = 0x0 [ 9.412822] .Reserved = 0x3d538 [ 9.412825] .Version = 0x3 [ 9.412829] saa7164_downloadfirmware() SecBootLoader.FileSize = 4019072 [ 9.412838] saa7164_downloadfirmware() FirmwareSize = 0x1fd6 [ 9.412842] saa7164_downloadfirmware() BSLSize = 0x0 [ 9.412846] saa7164_downloadfirmware() Reserved = 0x0 [ 9.412850] saa7164_downloadfirmware() Version = 0x1661c00 [ 16.079066] saa7164_downloadimage() Image downloaded, booting... [ 16.180066] saa7164_downloadimage() Image booted successfully. [ 16.180114] starting firmware download(2) [ 17.897064] saa7164_downloadimage() Image downloaded, booting... [ 20.119066] saa7164_downloadimage() Image booted successfully. [ 20.119113] firmware download complete. [ 20.164528] tveeprom 1-0000: Hauppauge model 88061, rev C4F2, serial# 7339378 [ 20.164537] tveeprom 1-0000: MAC address is 00:0d:fe:6f:fd:72 [ 20.164544] tveeprom 1-0000: tuner model is NXP 18271C2_716x (idx 152, type 4) [ 20.164552] tveeprom 1-0000: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88) [ 20.164559] tveeprom 1-0000: audio processor is SAA7164 (idx 43) [ 20.164564] tveeprom 1-0000: decoder processor is SAA7164 (idx 40) [ 20.164570] tveeprom 1-0000: has radio, has IR receiver, has no IR transmitter [ 20.164575] saa7164[0]: Hauppauge eeprom: model=88061 [ 20.490460] tda18271 2-0060: creating new instance [ 20.494989] TDA18271HD/C2 detected @ 2-0060 [ 20.699512] DVB: registering new adapter (saa7164) [ 20.699542] DVB: registering adapter 0 frontend 0 (Samsung S5H1411 QAM/8VSB Frontend)... [ 20.991060] tda18271 3-0060: creating new instance [ 20.995384] TDA18271HD/C2 detected @ 3-0060 [ 21.197830] tda18271: performing RF tracking filter calibration [ 23.397812] tda18271: RF tracking filter calibration complete [ 23.399813] DVB: registering new adapter (saa7164) [ 23.399838] DVB: registering adapter 1 frontend 0 (Samsung S5H1411 QAM/8VSB Frontend)... [ 23.402824] saa7164[0]: registered device video1 [mpeg] [ 23.634564] saa7164[0]: registered device video2 [mpeg] [ 23.845910] saa7164[0]: registered device vbi0 [vbi] [ 23.846392] saa7164[0]: registered device vbi1 [vbi]