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"