Hauppauge WinTV-HVR-1250

From LinuxTVWiki
Jump to navigation Jump to search
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.


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)


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


No firmware is needed for ATSC/QAM functionality.


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 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.


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