Hauppauge WinTV-HVR-1250: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(→‎Identification: update w/ newer pciid file etc)
m (→‎Components used: Capitalization.)
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[File:HVR 1250 front.jpg|thumb|Front view of a Hauppauge WinTV-HVR-1250]]
[[Image:filename|thumb|right|250px|caption]]


An [[ATSC]] [[ATSC PCIe Cards|PCIe card]] from [[Hauppauge]].
The '''Hauppauge WinTV-HVR-1250''' is an [[ATSC]] [[ATSC PCIe Cards|PCIe card]] from [[Hauppauge]]. While the card's digital TV functionality has been supported under Linux since kernel 2.6.27, analog support is not yet implemented.


==Overview/features==
It is supported under Linux since kernel 2.6.27. (Note: Analog support is not implemented yet).
The HVR-1250 is also known by its codename '''Coram'''.


==Components used==
==Overview/Features==
* Likely a NXP/Philips TDA18271 (tuner for analog)
The HVR-1250 is also known by its codename Coram.
* [[Microtune MT2131]] (tuner for digital)

==Components Used:==
* ? (tuner for analog ... ''likely a NXP/Philips TDA18271'')
* Microtune MT2131 (tuner for digital)
* NXP/Philips TDA8295 (analog IF demodulator)
* NXP/Philips TDA8295 (analog IF demodulator)
* Samsung S5H1409/Conexant CX24227 (digital demodulator)
* Samsung S5H1409/Conexant CX24227 (digital demodulator)
* Conexant CX23887 (A/V Decoder & PCIe bridge)
* Conexant CX23887 (A/V decoder and PCIe bridge)


===Identification===
===Identification===
Line 19: Line 17:


lspci -vvnn gives
lspci -vvnn gives
04:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23885 PCI Video and Audio Decoder [14f1:8852] (rev 04)
03:00.0 Multimedia video controller [0400]: Conexant Unknown device [14f1:8852] (rev 02)
Subsystem: Hauppauge computer works Inc. Device [0070:7911]
Subsystem: Hauppauge computer works Inc. Unknown device [0070:7911]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
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-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 18
Interrupt: pin A routed to IRQ 11
Region 0: Memory at fe800000 (64-bit, non-prefetchable) [size=2M]
Region 0: Memory at fce00000 (64-bit, non-prefetchable) [size=2M]
Capabilities: [40] Express (v1) Endpoint, MSI 00
Capabilities: [40] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-
DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <2us, L1 <4us
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <2us, L1 <4us
ClockPM- Suprise- LLActRep- BwNot-
ClockPM- Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Capabilities: [80] Power Management version 2
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [90] Vital Product Data <?>
Capabilities: [90] Vital Product Data <?>
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable-
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000
Address: 0000000000000000 Data: 0000
Capabilities: [100] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSVoil-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSVoil-
UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSVoil-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
AERCap: First Error Pointer: 14, GenCap- CGenEn- ChkCap- ChkEn-
Capabilities: [200] Virtual Channel <?>
Kernel driver in use: cx23885
Kernel modules: cx23885


===Other Images===
===Other images===
<gallery>
''use the included code to insert other images if necessary ...
File:HVR 1250 close.jpg|Card closeup

File:HVR 1250 jacks.jpg|External connections
<gallery perrow=5>
Image:filename|description
Image:filename|description
...
</gallery>
</gallery>


==Making it Work==
==Power draw==
Based on measurements with a Kill-A-Watt and two cards plugged in versus not, each card seems to draw about 6&nbsp;W, even when idle.

==Making it work==


===Firmware===
===Firmware===
[http://www.linuxtv.org/pipermail/linux-dvb/2008-February/023591.html No firmware is needed] for ATSC/QAM functionality.
''is there any firmware specific information for this device? if so, list it here ... this means you''


===Drivers===
===Drivers===
The cx23885 driver has been upstream [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a77743bc2d29197d48a6f4ae9f8f9e0f0b0ba5d7 since kernel 2.6.27], so it should be available in some newer distribution kernels. Otherwise, get the latest [http://www.linuxtv.org/hg/~hverkuil/cx18/archive/tip.tar.gz cx18 driver]. Then, inside the cx18- directory, run the following commands as root:
''provide the details of where the drivers and patches and necessary tools are available ... this means you''

get the latest [http://www.linuxtv.org/hg/~hverkuil/cx18/archive/tip.tar.gz cx18 driver]. Then, inside the cx18- directory do


make
make

and


make install
make install


modprobe cx23885
as root. Then load the module


/sbin/modprobe cx23885


====Known issues====
If you are using SUSE 10.3, on some systems it will hang on dvbscan as soon as it finds a signal. If you encounter this issue, compile and install the 2.4.24-3 kernel. Then recompiling the cx18 against it to fix the issue.


===Sample kernel output===
Known issues

If you are using Suse 10.3, on some systems it will hang on dvbscan as soon as it finds a signal.<br>If you encounter this issue, compile and install the 2.4.24-3 kernel.<br>Then recompiling the cx18 against it to fix the issue.

===Sample Kernel Output===
''provide the relevant portion of dmesg here''

CORE cx23885[0]: subsystem: 0070:7911, board: Hauppauge WinTV-HVR1250 [card=3,autodetected]
CORE cx23885[0]: subsystem: 0070:7911, board: Hauppauge WinTV-HVR1250 [card=3,autodetected]
cx23885[0]: i2c bus 0 registered
cx23885[0]: i2c bus 0 registered
Line 107: Line 86:
PCI: Setting latency timer of device 0000:03:00.0 to 64
PCI: Setting latency timer of device 0000:03:00.0 to 64


===Remote Control Support===
===Remote control support===
The IR remote is controlled through the cx23885 chip, which is not currently supported in the driver.
''discuss support for the remote control here''

The IR Remote is controlled through the cx23885 chip, which is currently not supported in the driver

====Testing====

use [[scan]] to get the initial channel list required by [azap]


===Testing===
use [[azap]] to tune to the desired channel
Use [[scan]] to get the initial channel list required by [[azap]]. Use azap to tune to the desired channel. Use mplayer to watch the channel. Be sure to copy the <tt>channels.conf</tt> file from the initial scan to your <tt>~/.mplayer</tt> directory.


mplayer dvb://"Channel name"
use mplayer to watch the channel. Be sure to copy the channels.conf file from the initial scan to your ~/.mplayer directory


==External links==
mplayer dvb://"Channel Name"
* [http://www.hauppauge.com/site/products/data_hvr1250.html Hauppauge product page]


[[Category:ATSC PCIe Cards]]
==External Links==
* [http://www.hauppauge.com/site/products/data_hvr1250.html Hauppauge Product Page]

Latest revision as of 06:50, 26 December 2016

Front view of a Hauppauge WinTV-HVR-1250

The Hauppauge WinTV-HVR-1250 is an ATSC PCIe card from Hauppauge. While the card's digital TV functionality has been supported under Linux since kernel 2.6.27, analog support is not yet implemented.

Overview/features

The HVR-1250 is also known by its codename Coram.

Components used

  • Likely a NXP/Philips TDA18271 (tuner for analog)
  • Microtune MT2131 (tuner for digital)
  • NXP/Philips TDA8295 (analog IF demodulator)
  • Samsung S5H1409/Conexant CX24227 (digital demodulator)
  • Conexant CX23887 (A/V decoder and PCIe bridge)

Identification

It has a Subsystem ID of 0x7911.

lspci -vvnn gives

03:00.0 Multimedia video controller [0400]: Conexant Unknown device [14f1:8852] (rev 02)
       Subsystem: Hauppauge computer works Inc. Unknown device [0070:7911]
       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: 64 bytes
       Interrupt: pin A routed to IRQ 11
       Region 0: Memory at fce00000 (64-bit, non-prefetchable) [size=2M]
       Capabilities: [40] Express (v1) Endpoint, MSI 00
               DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, 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 512 bytes
               DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr- TransPend-
               LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <2us, L1 <4us
                       ClockPM- Suprise- LLActRep- BwNot-
               LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
                       ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
               LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
       Capabilities: [80] Power Management version 2
               Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
               Status: D0 PME-Enable- DSel=0 DScale=0 PME-
       Capabilities: [90] Vital Product Data <?>
       Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
               Address: 0000000000000000  Data: 0000

Other images

Power draw

Based on measurements with a Kill-A-Watt and two cards plugged in versus not, each card seems to draw about 6 W, even when idle.

Making it work

Firmware

No firmware is needed for ATSC/QAM functionality.

Drivers

The cx23885 driver has been upstream since kernel 2.6.27, so it should be available in some newer distribution kernels. Otherwise, get the latest cx18 driver. Then, inside the cx18- directory, run the following commands as root:

make
make install 
modprobe cx23885


Known issues

If you are using SUSE 10.3, on some systems it will hang on dvbscan as soon as it finds a signal. If you encounter this issue, compile and install the 2.4.24-3 kernel. Then recompiling the cx18 against it to fix the issue.

Sample kernel output

CORE cx23885[0]: subsystem: 0070:7911, board: Hauppauge WinTV-HVR1250 [card=3,autodetected]
cx23885[0]: i2c bus 0 registered
cx23885[0]: i2c bus 1 registered
cx23885[0]: i2c bus 2 registered
tveeprom 4-0050: Encountered bad packet header [ff]. Corrupt or not a Hauppauge eeprom.
cx23885[0]: warning: unknown hauppauge model #0
cx23885[0]: hauppauge eeprom: model=0
cx23885[0]: cx23885 based dvb card
MT2131: successfully identified at address 0x61
DVB: registering new adapter (cx23885[0])
DVB: registering frontend 0 (Samsung S5H1409 QAM/8VSB Frontend)...
cx23885_dev_checkrevision() Hardware revision = 0xb0
cx23885[0]/0: found at 0000:03:00.0, rev: 2, irq: 16, latency: 0, mmio: 0xfce00000
PCI: Setting latency timer of device 0000:03:00.0 to 64

Remote control support

The IR remote is controlled through the cx23885 chip, which is not currently supported in the driver.

Testing

Use scan to get the initial channel list required by azap. Use azap to tune to the desired channel. Use mplayer to watch the channel. Be sure to copy the channels.conf file from the initial scan to your ~/.mplayer directory.

mplayer dvb://"Channel name"

External links