Digital Devices DuoFlex C&T: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(→‎Making it work: Adding note about drivers being in-kernel these days. At least they work for me.)
(Add instructions for (experimental) CI)
Line 70: Line 70:


The C/T card has two frontends, frontend0 is QAM for DVB-C and frontend1 is OFDM for DVB-T.
The C/T card has two frontends, frontend0 is QAM for DVB-C and frontend1 is OFDM for DVB-T.

== Adding CI ==

There's experimental (i.e. might be buggy, annoying and difficult to set up) support for Flex CI in the experimental drivers above. Also, the module needed - cxd2099 - is in staging drivers in current kernels (at least >=3.9.x), but that one seems to not be usable at all since it has not redirect method support.

Copied from vdrportal.de ([http://www.vdr-portal.de/board16-video-disk-recorder/board85-hdtv-dvb-s2/105803-aktuelle-treiber-f%C3%BCr-octopus-ddbridge-cines2-ngene-ddbridge-duoflex-s2-duoflex-ct-sowie-tt-s2-6400/ link below]) and from [http://www.spinics.net/lists/linux-media/msg38215.html]

Redirection of TS streams through CI modules is now supported through /sys/class/ddbridge/ddbridge0/redirect. It only works with cards based on the ddbridge PCIe bridge, not with nGene based cards.

It is set up in such a way that you can write "AB CD" to a "redirect" attribute and data from input B of card A is then piped through port D (meaning TAB (D+1) which uses output D and input 2*D for CI io) of card C and then shows up in the demux device belonging to input B (input (B&1) of TAB (B/2+1)) of card A.

<pre>
OCTOPUS BRIDGE

+----------------+
Tuner 0 -> Input 0 -> | |
| Port 0 - TAB 1 | -> Output 0
Tuner 1 -> Input 1 -> | |
+----------------+
Tuner 0 -> Input 2 -> | |
| Port 1 - TAB 2 | -> Output 1
Tuner 1 -> Input 3 -> | |
+----------------+
Tuner 0 -> Input 4 -> | |
| Port 2 - TAB 3 | -> Output 2
Tuner 1 -> Input 5 -> | |
+----------------+
Tuner 0 -> Input 6 -> | |
| Port 3 - TAB 4 | -> Output 3
Tuner 1 -> Input 7 -> | |
+----------------+
</pre>


One can redirect currently one input to the CAM (or other, if several are installed) by:

<pre>
echo "00 01" > /sys/class/ddbridge/ddbridge0/redirect
</pre>

This will work for Input 0 if there's a CAM in Output 1 (TAB2). '''Note:''': (Currently) you need to do this right after loading modules after reboot, before using the tuners in any way.

To find out your Input and Output numbers, look for this in dmesg:

<pre>
DDBridge driver detected: Digital Devices Octopus DVB adapter
HW 00010004 REG 00010001
DDBridge 0000:02:00.0: irq 44 for MSI/MSI-X
Port 0 (TAB 1): DUAL DVB-C/T
Port 1 (TAB 2): NO MODULE
Port 2 (TAB 3): CI
Port 3 (TAB 4): NO MODULE
</pre>

To have device nodes in a usable configuration for software, see adapter_alloc parameter. For example, put this in modprobe.d/ddbridge.conf:

<pre>
options ddbridge adapter_alloc=3
</pre>


== See also ==
== See also ==

Revision as of 14:18, 19 May 2013

Overview/Features

* PCI-e x1 (Bridge)
* Recieve  Dual DVB-C/DVB-T in high definition simultaneously
* Independent descrambling of two transponders
* DVB-C HDTV H264 decoding
* DVB-T SD Mpeg2 decoding
* Mixed Mode feature (2x DVB-C / 2x DVB-T / DVB-C & DVB-T)

Identification

PCI id: Multimedia controller: Device dd01:0003

and an extra PCI Bridge: PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02)

Making it work

UPDATE: AFAICT, recent(-ish - after 3.6.x at least) kernels have support for DuoFlex C/T out-of-the box, but if you have a CI you will need the media_build_experimental drivers below. Also a more recent card (miniPCIe, or Cine C/T/S2 card) might require it. So, unless you have a CI, test in-kernel drivers first, then please report here!

copied from VDR Portal (See Link below)

This uses Sources from: http://linuxtv.org/hg/~endriss/ngene-octopus-test: - ngene: cineS2(v3/v4/v5), SatixS2, PCIe-Bridge, mini PCIe-Bridge - ddbridge: Octopus, Octopus LE, cineS2(v6) - DuoFlex-S2, DuoFlex-CT, CI

and from http://powarman.dyndns.org/hgwebdir.cgi/v4l-dvb-saa716x: - TT S2-6400

Compilable with Kernel 2.6.35 and higher (2.6.30 and below doesn't work for sure).

How to Compile:

1. Download modified media_build:

hg clone http://linuxtv.org/hg/~endriss/media_build_experimental


2. Download Drivers and Compile:

cd media_build_experimental
make download
make untar

3. optional: deselect unused modules:

make menuconfig

4. Build Drivers

make

5. install modules

make install
modprobe ddbridge
modprobe ngene

Scanning for Channels

DVB-C:

w_scan -fc -c DE -t 3 -F > channels.dvb

DVB-T:

w_scan -ft -c DE -t 3 -F > channels.dvb

The C/T card has two frontends, frontend0 is QAM for DVB-C and frontend1 is OFDM for DVB-T.

Adding CI

There's experimental (i.e. might be buggy, annoying and difficult to set up) support for Flex CI in the experimental drivers above. Also, the module needed - cxd2099 - is in staging drivers in current kernels (at least >=3.9.x), but that one seems to not be usable at all since it has not redirect method support.

Copied from vdrportal.de (link below) and from [1]

Redirection of TS streams through CI modules is now supported through /sys/class/ddbridge/ddbridge0/redirect. It only works with cards based on the ddbridge PCIe bridge, not with nGene based cards.

It is set up in such a way that you can write "AB CD" to a "redirect" attribute and data from input B of card A is then piped through port D (meaning TAB (D+1) which uses output D and input 2*D for CI io) of card C and then shows up in the demux device belonging to input B (input (B&1) of TAB (B/2+1)) of card A.

                           OCTOPUS BRIDGE

                        +----------------+
  Tuner 0 -> Input 0 -> |                |
                        | Port 0 - TAB 1 | -> Output 0
  Tuner 1 -> Input 1 -> |                |
                        +----------------+
  Tuner 0 -> Input 2 -> |                |
                        | Port 1 - TAB 2 | -> Output 1
  Tuner 1 -> Input 3 -> |                |
                        +----------------+
  Tuner 0 -> Input 4 -> |                |
                        | Port 2 - TAB 3 | -> Output 2
  Tuner 1 -> Input 5 -> |                |
                        +----------------+
  Tuner 0 -> Input 6 -> |                |
                        | Port 3 - TAB 4 | -> Output 3
  Tuner 1 -> Input 7 -> |                |
                        +----------------+


One can redirect currently one input to the CAM (or other, if several are installed) by:

echo "00 01" > /sys/class/ddbridge/ddbridge0/redirect

This will work for Input 0 if there's a CAM in Output 1 (TAB2). Note:: (Currently) you need to do this right after loading modules after reboot, before using the tuners in any way.

To find out your Input and Output numbers, look for this in dmesg:

DDBridge driver detected: Digital Devices Octopus DVB adapter
HW 00010004 REG 00010001
DDBridge 0000:02:00.0: irq 44 for MSI/MSI-X
Port 0 (TAB 1): DUAL DVB-C/T
Port 1 (TAB 2): NO MODULE
Port 2 (TAB 3): CI
Port 3 (TAB 4): NO MODULE

To have device nodes in a usable configuration for software, see adapter_alloc parameter. For example, put this in modprobe.d/ddbridge.conf:

options ddbridge adapter_alloc=3

See also