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
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
There is currently no in kernel drivers for the device. However, the card's digital functionality is supported in the main V4L-DVB tree available here: http://linuxtv.org/hg/v4l-dvb/
The patches applied to the tree above 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.