Hauppauge WinTV-HVR-1250

From LinuxTVWiki
Revision as of 21:18, 2 June 2009 by Jimbley (talk | contribs) (→‎Components Used:: Added Microtune MT2131 link)
Jump to navigation Jump to search
Front View of HVR-1250

An ATSC PCIe card from Hauppauge.

It is supported under Linux since kernel 2.6.27. (Note: Analog support is not implemented yet).

Overview/Features

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

Components Used:

  • ? (tuner for analog ... likely a NXP/Philips TDA18271)
  • Microtune MT2131 (tuner for digital)
  • NXP/Philips TDA8295 (analog IF demodulator)
  • Samsung S5H1409/Conexant CX24227 (digital demodulator)
  • Conexant CX23887 (A/V Decoder & 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

Making it Work

Firmware

No firmware is needed for ATSC/QAM functionality.

Drivers

The cx23885 driver has been upstream since 2.6.27, so should be available in some newer distribution kernels.

Otherwise, get the latest cx18 driver. Then, inside the cx18- directory do

make

and

make install 

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

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 currently not 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