DViCO FusionHDTV DVB-T Dual Express
A hybrid DVB-T PCIe card from DViCO.
It is not supported under Linux. However, experimental support for the DVB-T side is available (see below for details).
Overview/Features
Able to deliver one analogue channel and one digital channel simultaneously or 2 digital channels. High definition resolution is 1920 x 1080. Features a power switch pass-through to allow it to turn the host system on automatically.
Components Used
- 2 x Xceive 3008ACQ (tuner IC)
- 2 x Intel WJCE6353 (digital demodulator)
- Conexant CX23885 (A/V Decoder / PCIe bridge)
- Pericom P15C.... (switch)
- PIC16F73 (external audio adc ? -- its used as such on the Fusion5 RT (note- the PIC16F73 is currently unsupported under Linux, so audio from external analog sources (a/v inputs) will not work); or maybe its being used for remote control (although that might be natively handled by the cx23885)?; or maybe its being used in conjunction with RTC duty ?)
- some Atmel eeproms
- some others (RF switch)...
Text for components not legible in main image:
- Oscillators:
- X511 : 4.000000 KONY 0703
- X301 : 28.636360 KONY 0703
- X951,X901 : KONY 0716Y 20.480
- X701,X801 : 32.000 KDK 7D
- X511 : 4.000000 KONY 0703
- U501 : ANW S688H
- U231 : ABE 632
- U221,U411 : AXH704
Identification
04:00.0 0400: 14f1:8852 (rev 02) Subsystem: 18ac:db78 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 18 Region 0: Memory at fe800000 (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 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: 64bit+ Queue=0/0 Enable- Address: 0000000000000000 Data: 0000
The revision 4 card is also known to work with later kernels, 2.6.31.5 and probably others. Or, at least, it works for me (digital only).
Other images
Making it Work
Firmware
The driver requires the standard xc3028 firmware (xc3028-v27.fw), to obtain the firmware see instructions within the extract_xc3028.pl script (available within linux/arch/Documentation/video4linux/).
Drivers
In kernel drivers for the device only support digital functions of this card. No analog support available.
The patches applied to the v4l-dvb tree were derived by work originally completed by Chris Pascoe, the older version of these patches can be found here: http://www.itee.uq.edu.au/~chrisp/Linux-DVB/DVICO/
Experimental Driver Test Results
- Successful tuning of 1080i channel on Asus P5K Mobo, CentOS 5.0 with kernel upgrade to 2.6.23 and experimental driver http://www.itee.uq.edu.au/~chrisp/Linux-DVB/DVICO. Now testing IR operation.
- Note: Apply this Patch to the xc-test branch for making it work with standard xc3028 firmware (xc3028-v27.fw) - otherwise the card will not be able tuning of non-Australian frequencies.
- Successful tuning of typical German channels with standard xc3028 firmware and patched driver.
- Successful tuning of typical Australian channels with stoth/v4l-dvb/
Sample kernel output
Initial loading of the driver:
cx23885 driver version 0.0.1 loaded ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 19 (level, low) -> IRQ 18 CORE cx23885[0]: subsystem: 18ac:db78, board: DViCO FusionHDTV DVB-T Dual Express [card=11,autodetected] input: i2c IR (FusionHDTV) as /devices/virtual/input/input7 ir-kbd-i2c: i2c IR (FusionHDTV) detected at i2c-0/0-006b/ir0 [cx23885[0]] cx23885[0]: i2c bus 0 registered cx23885[0]: i2c bus 1 registered cx23885[0]: i2c bus 2 registered cx23885[0]: cx23885 based dvb card xc2028 0-0061: creating new instance xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner DVB: registering new adapter (cx23885[0]) DVB: registering frontend 0 (Zarlink ZL10353 DVB-T)... cx23885[0]: cx23885 based dvb card xc2028 1-0061: creating new instance xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner DVB: registering new adapter (cx23885[0]) DVB: registering frontend 1 (Zarlink ZL10353 DVB-T)... cx23885_dev_checkrevision() Hardware revision = 0xb0 cx23885[0]/0: found at 0000:02:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xcdc00000 PCI: Setting latency timer of device 0000:02:00.0 to 64
Upon first tune (on first tuner):
xc2028 0-0061: Loading 80 firmware images from xc3028-v27.fw, type: xc2028 firmware, ver 2.7 xc2028 0-0061: Loading firmware for type=BASE F8MHZ (3), id 0000000000000000. xc2028 0-0061: Loading firmware for type=D2620 DTV7 (88), id 0000000000000000. xc2028 0-0061: Loading SCODE for type=DTV6 QAM DTV7 DTV78 DTV8 ZARLINK456 SCODE HAS_IF_4760 (620003e0), id 0000000000000000.
Note: If the card does not work ensure that 80 firmware images were loaded, if not see the firmware section above to get the correct version.
Remote Control Support
Remote does work. Have not had the time to map all keys.