Hauppauge WinTV-HVR-2200: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
m (→‎External Links: Link didn't work. Googled for one that worked)
(support info; minor rearrange and formatting)
Line 1: Line 1:
[[Image:Hvr2200.jpg|right|250px|HVR-2200 Image]]
[[Image:Hvr2200.jpg|right|250px|HVR-2200 Image]]


The [[Hauppauge]] WinTV-HVR-2200 is a hybrid analogue and [[DVB-T]] [[DVB-T PCIe Cards|PCIe card]]


Support for its digital side was added to Hg in September 2009.
The [[Hauppauge]] WinTV-HVR-2200 is a hybrid analogue and [[DVB-T]] [[DVB-T PCIe Cards|PCIe card]] with a hardware MPEG2 encoder, and dual tuners.


===Overview/Features===
==Overview/Features==
Dual DVB-T/Analog TV Input
Features a hardware MPEG2 encoder and dual tuners (DVB-T/Analog TV Input)


===Components Used===
===Components Used===
Line 17: Line 18:
- In Latest HG
- In Latest HG


===Making it Work===
===Identification===
<pre>
02:00.0 Multimedia controller: Philips Semiconductors Unknown device 7164 (rev 81)
Subsystem: Hauppauge computer works Inc. Unknown device 8901
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 255
Region 0: Memory at fd400000 (64-bit, non-prefetchable) [size=4M]
Region 2: Memory at fd000000 (64-bit, non-prefetchable) [size=4M]
Capabilities: [40] Message Signalled Interrupts: Mask- 64bit+ Queue=0/4 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [50] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <256ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #1, Speed 2.5GT/s, Width x2, ASPM L0s L1, Latency L0 <4us, L1 <64us
ClockPM- Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
Capabilities: [74] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [7c] Vendor Specific Information <?>
Capabilities: [100] Vendor Specific Information <?>
Capabilities: [160] Virtual Channel <?>
</pre>

==Making it Work==


<pre>
<pre>
Line 51: Line 84:
</pre>
</pre>
Every time the linux kernel is upgraded to a new version, you'll need to reboot and then repeat the above steps.
Every time the linux kernel is upgraded to a new version, you'll need to reboot and then repeat the above steps.

===Identification===
<pre>
02:00.0 Multimedia controller: Philips Semiconductors Unknown device 7164 (rev 81)
Subsystem: Hauppauge computer works Inc. Unknown device 8901
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 255
Region 0: Memory at fd400000 (64-bit, non-prefetchable) [size=4M]
Region 2: Memory at fd000000 (64-bit, non-prefetchable) [size=4M]
Capabilities: [40] Message Signalled Interrupts: Mask- 64bit+ Queue=0/4 Enable-
Address: 0000000000000000 Data: 0000
Capabilities: [50] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <256ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #1, Speed 2.5GT/s, Width x2, ASPM L0s L1, Latency L0 <4us, L1 <64us
ClockPM- Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
Capabilities: [74] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [7c] Vendor Specific Information <?>
Capabilities: [100] Vendor Specific Information <?>
Capabilities: [160] Virtual Channel <?>
</pre>


===Sample kernel output===
===Sample kernel output===
Line 150: Line 151:
tda18271: performing RF tracking filter calibration
tda18271: performing RF tracking filter calibration
tda18271: RF tracking filter calibration complete
tda18271: RF tracking filter calibration complete



</pre>
</pre>


===External Links===
==External Links==
* [http://www.hauppauge.co.uk/site/products/data_hvr2200mc.html WinTV-HVR-2200 product page]
* [http://www.hauppauge.co.uk/site/products/data_hvr2200mc.html WinTV-HVR-2200 product page]

[[Category:DVB-T PCIe Cards]]
[[Category:DVB-T PCIe Cards]]

Revision as of 02:15, 22 September 2009

HVR-2200 Image

The Hauppauge WinTV-HVR-2200 is a hybrid analogue and DVB-T PCIe card

Support for its digital side was added to Hg in September 2009.

Overview/Features

Features a hardware MPEG2 encoder and dual tuners (DVB-T/Analog TV Input)

Components Used

Based on as far as I know: PCIe dual channel hybrid PC TV PCV520/20

- In Latest HG

  • NXP SAA7164E - NXP PCI Express dual-channel, PC TV capture/encode IC

- In Development by Steven Toth

- In Latest HG

Identification

02:00.0 Multimedia controller: Philips Semiconductors Unknown device 7164 (rev 81)
        Subsystem: Hauppauge computer works Inc. Unknown device 8901
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 255
        Region 0: Memory at fd400000 (64-bit, non-prefetchable) [size=4M]
        Region 2: Memory at fd000000 (64-bit, non-prefetchable) [size=4M]
        Capabilities: [40] Message Signalled Interrupts: Mask- 64bit+ Queue=0/4 Enable-
                Address: 0000000000000000  Data: 0000
        Capabilities: [50] Express (v1) Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <256ns, L1 <1us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 128 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
                LnkCap: Port #1, Speed 2.5GT/s, Width x2, ASPM L0s L1, Latency L0 <4us, L1 <64us
                        ClockPM- Suprise- LLActRep- BwNot-
                LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
        Capabilities: [74] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [7c] Vendor Specific Information <?>
        Capabilities: [100] Vendor Specific Information <?>
        Capabilities: [160] Virtual Channel <?>

Making it Work

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`

For stable tree

hg clone http://kernellabs.com/hg/saa7164-stable/
cd saa7164-stable

For development tree

hg clone http://kernellabs.com/hg/~stoth/saa7164-dev/
cd saa7164-dev

then...

make menuconfig
edit as needed but should have all enabled that is needed
make
make install
reboot

Every time the linux kernel is upgraded to a new version, you'll need to reboot and then repeat the above steps.

Sample kernel output

saa7164 driver loaded
ACPI: PCI Interrupt Link [APC5] enabled at IRQ 16
saa7164 0000:02:00.0: PCI INT A -> Link[APC5] -> GSI 16 (level, low) -> IRQ 16
CORE saa7164[0]: dev->lmmio  = 0xf9800000
CORE saa7164[0]: dev->lmmio2 = 0xf9c80000
CORE saa7164[0]: dev->bmmio  = 0xf9800000
CORE saa7164[0]: dev->bmmio2 = 0xf9c80000
CORE saa7164[0]: subsystem: 0070:8901, board: Hauppauge WinTV-HVR2200 [card=6,autodetected]
saa7164[0]/0: found at 0000:02:00.0, rev: 129, irq: 16, latency: 0, mmio: 0xfd400000
saa7164 0000:02:00.0: setting latency timer to 64
saa7164_downloadfirmware() no first image
saa7164_downloadfirmware() Waiting for firmware upload (v4l-saa7164-1.0.2.fw)
saa7164 0000:02:00.0: firmware: requesting v4l-saa7164-1.0.2.fw
saa7164_downloadfirmware() firmware read 3978608 bytes.
saa7164_downloadfirmware() firmware loaded.
Firmware file header part 1:
 .FirmwareSize = 0x0
 .BSLSize = 0x0
 .Reserved = 0x3cb57
 .Version = 0x3
saa7164_downloadfirmware() SecBootLoader.FileSize = 3978608
saa7164_downloadfirmware() FirmwareSize = 0x1fd6
saa7164_downloadfirmware() BSLSize = 0x0
saa7164_downloadfirmware() Reserved = 0x0
saa7164_downloadfirmware() Version = 0x51cc1
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.
saa7164[0]: i2c bus 0 registered
saa7164[0]: i2c bus 1 registered
saa7164[0]: i2c bus 2 registered
tveeprom 3-0000: Hauppauge model 89619, rev B2F2, serial# 3019750
tveeprom 3-0000: MAC address is 00-0D-FE-2E-13-E6
tveeprom 3-0000: tuner model is NXP 18271C2_716x (idx 152, type 4)
tveeprom 3-0000: TV standards PAL(B/G) NTSC(M) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xfc)
tveeprom 3-0000: audio processor is SAA7164 (idx 43)
tveeprom 3-0000: decoder processor is CX23887A (idx 39)
tveeprom 3-0000: has radio
saa7164[0]: Hauppauge eeprom: model=89619
tda18271 4-0060: creating new instance
TDA18271HD/C2 detected @ 4-0060
DVB: registering new adapter (saa7164)
DVB: registering adapter 2 frontend 0 (NXP TDA10048HN DVB-T)...
tda18271 5-0060: creating new instance
TDA18271HD/C2 detected @ 5-0060
DVB: registering new adapter (saa7164)
DVB: registering adapter 3 frontend 0 (NXP TDA10048HN DVB-T)...
tda10048_firmware_upload: waiting for firmware upload (dvb-fe-tda10048-1.0.fw)...
i2c-adapter i2c-4: firmware: requesting dvb-fe-tda10048-1.0.fw
tda10048_firmware_upload: firmware read 24878 bytes.
tda10048_firmware_upload: firmware uploading
tda10048_firmware_upload: firmware uploaded
tda18271: performing RF tracking filter calibration
tda18271: RF tracking filter calibration complete
tda10048_firmware_upload: waiting for firmware upload (dvb-fe-tda10048-1.0.fw)...
i2c-adapter i2c-5: firmware: requesting dvb-fe-tda10048-1.0.fw
tda10048_firmware_upload: firmware read 24878 bytes.
tda10048_firmware_upload: firmware uploading
tda10048_firmware_upload: firmware uploaded
tda18271: performing RF tracking filter calibration
tda18271: RF tracking filter calibration complete

External Links