Wissensdatenbank
Digital Devices > Digital Devices Support > Wissensdatenbank

Suchbegriff(e)


Optimizing CI Performance on Digital Devices Cards

Lösung

Optimizing CI Performance on Digital Devices Cards

Advanced & Experimental Driver Parameters

This document provides a consolidated technical overview of advanced driver parameters that influence Common Interface (CI) throughput and transport-stream (TS) performance on Digital Devices (DD) hardware.
These parameters are experimental, not officially validated, and their effect depends heavily on hardware revision, CAM type, system load, and platform architecture.
Use them only for testing or troubleshooting.


1. CI Bitrate Control (ci_bitrate)

ci_bitrate=<value>   # in kbit/s

Defines the maximum TS bitrate the driver will forward into the CAM.

CAMs differ greatly in the amount of TS data they can process reliably.
If the CAM cannot handle the full transport-stream rate, lowering this value prevents overload.

This parameter affects only the allowed TS bitrate.
It does not influence CAM initialization, CA PMT behavior, multi-service handling, or PID complexity.

Example (≈96 Mbit/s):

ci_bitrate=96000

2. XO2 Transfer Speed (xo2_speed)

Only relevant for newer DuoFlex CI hardware.

xo2_speed=0|1|2|3

Controls internal TS transfer speed between the FPGA and CI/tuner modules.

ValueApprox Speed (Mbit/s)Notes
0 ~55 Slowest, safest
1 ~75 Stable
2 ~90 Default
3 ~100 Fastest (may reduce stability depending on HW)

Use this parameter only when dealing with TS-speed-related issues (underflows, overflows, borderline PCIe or signal environments).
It has no influence on CAM control behavior or PCIe interrupts.

Example:

xo2_speed=3

3. PCIe Interrupt Mode (msi)

msi=0|1
  • 1 – enable MSI (default)

  • 0 – force legacy IRQ mode

This parameter affects only MSI interrupt handling.

It does not influence CAM stability, continuity counter issues, or PCIe link integrity. If a PCIe link itself is unstable, the system will show much more severe issues regardless of this setting.

Example:

msi=0

4. Alternative DMA Mode (alt_dma)

alt_dma=1

Enables an alternative DMA buffer implementation.

This mode is primarily beneficial on ARM and other architectures where coherent memory is slow due to the lack of caching/look-ahead.
It improves performance of kernel-level DVB software filtering on such platforms.

  • It does not change PCIe DMA speed.

  • It does not fix continuity issues or improve MTD throughput.

  • It is already the default on ARM and will become default for all architectures.


5. CXD2099 CAM Controller Buffer Mode (buffermode)

Relevant only for older DuoFlex CI hardware.

buffermode=1

Activates internal buffering of the Sony CXD2099 CI controller.

This may help with CAM control-interface issues (e.g., CAM detection).
It does not increase data throughput or help with high-PID or high-bitrate TS routing.


6. DMA Buffer Depth (dma_buf_num / dma_buf_size)

dma_buf_num=<8–32>
dma_buf_size=<bytes>

Increasing the DMA buffer count and size can improve stability under:

  • high symbol-rate transponders

  • UHD/HEVC multiplexes

  • high-load PCIe systems

  • multi-service CI usage

Reducing the buffer count lowers latency, which is beneficial for real-time applications.


7. STV0910 Single-Demod Mode (stv0910_single)

Only relevant on STV0910-based cards.

stv0910_single=1

Forces the dual-demodulator chip to run in single-demod mode.

This has no relation to CAM performance.

It allows the remaining demodulator to operate at higher symbol rates, which can help with special transponders.


8. TS Loop Mode (ts_loop)

Debug/testing only.

ts_loop=<port>

Routes internal TS paths for debugging purposes.
Not intended for production setups.


9. Sample Configuration Profiles

Parameters may be loaded via modprobe or persistently via /etc/modprobe.d/ddbridge.conf.

A. Stability-Oriented (Restricted/Legacy CAMs)

modprobe ddbridge msi=0 xo2_speed=1 ci_bitrate=72000
modprobe cxd2099 buffermode=1

B. High-Performance (Strong/Pro CAMs)

modprobe ddbridge msi=1 xo2_speed=3 ci_bitrate=120000 dma_buf_num=24
modprobe cxd2099 buffermode=1

C. MTD / Multi-Service

modprobe ddbridge xo2_speed=3 ci_bitrate=96000 dma_buf_num=32
modprobe cxd2099 buffermode=1

Note:
alt_dma is architecture-specific; on ARM it is applied automatically.


10. MTD / Pro-CAM Notes

Modern professional CAMs supporting multi-service or multi-transponder descrambling require a high and stable TS feed.

1. Ensure Maximum TS Delivery

Recommended for MTD:

  • xo2_speed=3

  • dma_buf_num=24–32

  • buffermode=1 (only old DuoFlex CI)

2. No PID Limit in ddbridge

The driver imposes no PID limit.
The real limits are inside the CAM:

  • CAM CPU

  • CAM internal routing

  • CAM max TS bitrate

Pro CAMs typically handle 32–64 PIDs, advanced ones up to hundreds.

3. CI-Aware Software Required

Use software that optimizes PID forwarding and avoids sending full muxes unnecessarily:

  • TVHeadend

  • Astra / Ultra

  • Professional broadcast middleware

4. Recommended Bitrate for MTD

ci_bitrate >= 90000   # below this MTD CAMs can starve

5. PCIe Stability

If interrupts behave abnormally:

msi=0

Or move the card to a direct CPU PCIe slot.


11. Per-Slot Bitrate Control (obrX)

Digital Devices cards allow per-CI-slot bitrate limits via sysfs.

echo <clock_kHz> > /sys/class/ddbridge/ddbridge0/obrX

Bitrate Formula

Bitrate (Mbps) = (Clock_kHz × 188) / Adjusted_TS_Frame_Size_bits

Example:

(80000 * 188) / 200 = 75.2 Mbps

So for ~75 Mbps on CI slot 0:

echo 80000 > /sys/class/ddbridge/ddbridge0/obr0

Example: Different Bitrates per Slot

echo 80000  > /sys/class/ddbridge/ddbridge0/obr0   # ~75 Mbps
echo 100000 > /sys/class/ddbridge/ddbridge0/obr1   # ~95 Mbps

Practical Limits

  • Safe stable limit: 72–90 Mbit/s per CI slot

  • Theoretical max: ~95 Mbit/s (CAM-dependent)

  • Many CAM manufacturers recommend staying below 72 Mbit/s, unless using modern Pro/MTD modules.

Experimental Maximum (Not Recommended)

ci_bitrate = 100000
obrX      = 100000

Some CAMs crash above 80 Mbit/s.


Summary

Performance-Related

  • xo2_speed

  • dma_buf_num / dma_buf_size

  • Per-slot bitrate control (obrX)

Compatibility / System-Specific

  • ci_bitrate

  • msi

  • alt_dma (architecture-specific benefits)

  • buffermode (old DuoFlex CI only)

MTD Optimization

  • Ensure high bitrate delivery

  • Avoid starving the CAM

  • Use CI-aware software

  • Increase buffering for heavy multi-PID workloads

Always test changes under real operating conditions before using them in production.

 

 
War dieser Artikel hilfreich? ja / nein
Artikeldetails
Artikel-ID: 196
Kategorie: Linux
Datum (erstellt): 21-11-2025 10:12:29
Aufrufe: 90
Bewertung (Stimmen): Artikelbewertung 5.0/5.0 (1)

 
« Zurück

Datenschutzerklärung | Impressum