DViCO FusionHDTV DVB-T Dual Express: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(Clean up and remove the old experimental drivers section as this has been in the kernel for multiple years now...)
 
(22 intermediate revisions by 6 users not shown)
Line 2: Line 2:
A [[hybrid]] [[DVB-T]] [[DVB-T PCIe Cards|PCIe card]] from [[DViCO]].
A [[hybrid]] [[DVB-T]] [[DVB-T PCIe Cards|PCIe card]] from [[DViCO]].


It is not supported under Linux. However, experimental support for the DVB-T side is available (see below for details).
It is not supported under Linux. However, experimental support for the DVB-T side is available (see below for details). Note that there is also a completely unsupported [[DViCO FusionHDTV DVB-T Dual Express2|Dual Express2]] which appears to be a new revision and at least one supplier will supply this model without any information to identify it as a new revision.


==Overview/Features==
==Overview/Features==
Line 53: Line 53:
Capabilities: [a0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Capabilities: [a0] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000
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===
===Other images===
Line 65: Line 67:


===Firmware===
===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===
===Drivers===
There is currently no in kernel drivers for the device. However, the card's digital functionality is supported in a test tree available here: http://www.itee.uq.edu.au/~chrisp/Linux-DVB/DVICO/
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 [http://www.linuxtv.org/pipermail/linux-dvb/2008-May/026280.html this Patch] to the xc-test branch for making it work with standard xc3028 firmware (xc3028-v27.fw) - otherwise the card will not tune to non-Australian channels and frequencies (at the moment).
*Successful tuning to all German frequencies and vdr recording action with standard xc3028 firmware and patched driver.


===Sample kernel output===
===Sample kernel output===
Initial loading of the driver:
cx23885 driver version 0.0.1 loaded
cx23885 driver version 0.0.1 loaded
ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 19 (level, low) -> IRQ 18
sd 1:0:0:0: Attached scsi generic sg0 type 0
CORE cx23885[0]: subsystem: 18ac:db78, board: DViCO FusionHDTV DVB-T Dual Express [card=11,autodetected]
ACPI: PCI Interrupt 0000:04:00.0[A] -> GSI 18 (level, low) -> IRQ 18
input: i2c IR (FusionHDTV) as /devices/virtual/input/input7
CORE cx23885[0]: subsystem: 18ac:db78, board: DViCO FusionHDTV DVB-T Dual Express [card=5,autodetected]
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 0 registered
cx23885[0]: i2c bus 1 registered
cx23885[0]: i2c bus 1 registered
cx23885[0]: i2c bus 2 registered
cx23885[0]: i2c bus 2 registered
input: i2c IR (FusionHDTV) as /class/input/input4
ir-kbd-i2c: i2c IR (FusionHDTV) detected at i2c-1/1-006b/ir0 [cx23885[0]]
cx23885[0]: cx23885 based dvb card
cx23885[0]: cx23885 based dvb card
xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner
xc2028 0-0061: creating new instance
xc2028 0-0061: type set to XCeive xc2028/xc3028 tuner
DVB: registering new adapter (cx23885[0])
DVB: registering new adapter (cx23885[0])
DVB: registering frontend 0 (Zarlink ZL10353 DVB-T)...
DVB: registering frontend 0 (Zarlink ZL10353 DVB-T)...
cx23885[0]: cx23885 based dvb card
cx23885[0]: cx23885 based dvb card
xc2028 2-0061: type set to XCeive xc2028/xc3028 tuner
xc2028 1-0061: creating new instance
xc2028 1-0061: type set to XCeive xc2028/xc3028 tuner
DVB: registering new adapter (cx23885[0])
DVB: registering new adapter (cx23885[0])
DVB: registering frontend 1 (Zarlink ZL10353 DVB-T)...
DVB: registering frontend 1 (Zarlink ZL10353 DVB-T)...
cx23885_dev_checkrevision() Hardware revision = 0xb0
cx23885[0]/0: found at 0000:04:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xfe800000
cx23885[0]/0: found at 0000:02:00.0, rev: 2, irq: 18, latency: 0, mmio: 0xcdc00000
PCI: Setting latency timer of device 0000:04:00.0 to 64
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 Control Support===
Remote does work. Have not had the time to map all keys.

===Use Case===
* [[dvicoDualExpressMythTVUseCase| MythTV Asus P5K CentOS5.1 install notes]]


==External Links==
==External Links==
* [http://www.fusionhdtv.co.kr/ENG/products/DVBTDualExpress.aspx DViCO FusionHDTV Dual DVB-T Express product page]
* [http://www.fusionhdtv.co.kr/ENG/products/DVBTDualExpress.aspx DViCO FusionHDTV Dual DVB-T Express product page]
[[Category:DVB-T PCIe Cards]]

Latest revision as of 01:16, 6 April 2011

DVico Fusion HDTV Dual Express PCB showing component labels

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). Note that there is also a completely unsupported Dual Express2 which appears to be a new revision and at least one supplier will supply this model without any information to identify it as a new revision.

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
  • 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/

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.

Use Case

External Links