Hauppauge WinTV-HVR-4400
A hybrid DVB-S2 PCIe card from Hauppauge with a PCIe 1x interface. Model 1357.
It is almost identical to the Hauppauge WinTV-HVR-5500 (is there a real hardware difference?).
DVB-S/S2 is supported in mainline kernel since 3.9[1] (see Making it Work) but DVB-T and analogue isn't (Nov 2013).
There is no support currently for this card, and since it uses a demodulator for which there is not currently a driver, much more work will be required than simply adding a new board profile.
Hauppauge UK Forums (moderator wrote this in December 2010; no news by Feb 2012):
- Hauppage don't officially support it but a number of our engineers actually work on providing linux support themselves.
Overview/Features
Quad-mode HD TV tuner featuring DVB-S2 HDTV, DVB-S, DVB-T, FM radio, analogue PAL/SECAM aerial TV, and S-Video, Composite and stereo audio inputs for A/V capture, and additional S-Video, Composite and stereo audio (which require separate back plane plug set, not included in the box).
Also includes black IR remote control, batteries, and IR remote control receiver with plug on rear of card.
Sockets: TV, SAT, IR, Combo socket for dongle for S-Video, composite and stereo audio.
Components Used
- CX23888 PCI Express Broadcast Audio/Video Decoder with 3D Comb and Analog IF Demodulator and integrated infrared.
- Silicon Labs si2165-GM (Multi-Standard DVB-T and DVB-C Demodulator, i2c bus0, 7bit addr: 0x64, reset via GPIO_9)
Identification
02:00.0 Multimedia video controller: Conexant Unknown device 8880 (rev 04) Subsystem: Hauppauge computer works Inc. Unknown device c108 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0, Cache Line Size: 32 bytes Interrupt: pin A routed to IRQ 16 Region 0: Memory at fda00000 (64-bit, non-prefetchable) [size=2M] Capabilities: [40] Express Endpoint IRQ 0 Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag- Device: Latency L0s <64ns, L1 <1us Device: AtnBtn- AtnInd- PwrInd- Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported- Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ Device: MaxPayload 128 bytes, MaxReadReq 512 bytes Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s L1, Port 0 Link: Latency L0s <2us, L1 <4us Link: ASPM Disabled RCB 64 bytes CommClk- ExtSynch- Link: Speed 2.5Gb/s, Width x1 Capabilities: [80] Power Management version 3 Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=375mA 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
Images
High resolution images with chip annotations front and back (600 dpi, 4298px, 9Mb each)
Making it Work
Kernel 3.9 Ubuntu generic
[ 2.680305] cx23885 driver version 0.0.3 loaded [ 2.680607] CORE cx23885[0]: subsystem: 0070:c108, board: Hauppauge WinTV-HVR4400 [card=38,autodetected] [ 3.005418] cx23885[0]: warning: unknown hauppauge model #121019 [ 3.005419] cx23885[0]: hauppauge eeprom: model=121019 [ 3.005421] cx23885_dvb_register() allocating 1 frontend(s) [ 3.005422] cx23885[0]: cx23885 based dvb card [ 3.013145] DVB: registering new adapter (cx23885[0]) [ 3.013149] cx23885 0000:01:00.0: DVB: registering adapter 0 frontend 0 (NXP TDA10071)... [ 3.013324] cx23885_dev_checkrevision() Hardware revision = 0xd0 [ 3.013329] cx23885[0]/0: found at 0000:01:00.0, rev: 4, irq: 16, latency: 0, mmio: 0xf7c00000
firmware https://github.com/OpenELEC/dvb-firmware/blob/master/firmware/dvb-fe-tda10071.fw
[ 155.500485] i2c i2c-8: tda10071: found a 'NXP TDA10071' in cold state, will try to load a firmware [ 155.500489] i2c i2c-8: tda10071: downloading firmware from file 'dvb-fe-tda10071.fw' [ 160.000589] i2c i2c-8: tda10071: firmware version 1.21.31.2 [ 160.000592] i2c i2c-8: tda10071: found a 'NXP TDA10071' in warm state
w_scan -f s -s S19E2
w_scan version 20120605 (compiled for DVB API 5.4) using settings for 19.2 east Astra 1F/1G/1H/1KR/1L scan type SATELLITE, channellist 67 output format vdr-1.6 output charset 'UTF-8', use -C <charset> to override Info: using DVB adapter auto detection. /dev/dvb/adapter0/frontend0 -> SATELLITE "NXP TDA10071": very good :-)) Using SATELLITE frontend (adapter /dev/dvb/adapter0/frontend0) -_-_-_-_ Getting frontend capabilities-_-_-_-_ Using DVB API 5.a frontend 'NXP TDA10071' supports INVERSION_AUTO DVB-S DVB-S2 FREQ (0.95GHz ... 2.15GHz) SRATE (1.000MSym/s ... 45.000MSym/s) using LNB "UNIVERSAL" -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ trying 'S2 f = 10729 kHz V SR = 22000 2/3 0,35 8PSK' (time: 00:01) trying 'S f = 10744 kHz H SR = 22000 5/6 0,35 QPSK' (time: 00:04)
dvb-s and dvb-s2 is working correctly :-)
dvb-t and a/v-in is not working ...