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.
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
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.
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
msi=0|1
1 – enable MSI (default)
1
0 – force legacy IRQ mode
0
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.
msi=0
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.
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.
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.
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.
Debug/testing only.
ts_loop=<port>
Routes internal TS paths for debugging purposes. Not intended for production setups.
Parameters may be loaded via modprobe or persistently via /etc/modprobe.d/ddbridge.conf.
modprobe
/etc/modprobe.d/ddbridge.conf
modprobe ddbridge msi=0 xo2_speed=1 ci_bitrate=72000 modprobe cxd2099 buffermode=1
modprobe ddbridge msi=1 xo2_speed=3 ci_bitrate=120000 dma_buf_num=24 modprobe cxd2099 buffermode=1
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.
alt_dma
Modern professional CAMs supporting multi-service or multi-transponder descrambling require a high and stable TS feed.
Recommended for MTD:
dma_buf_num=24–32
buffermode=1 (only old DuoFlex CI)
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.
Use software that optimizes PID forwarding and avoids sending full muxes unnecessarily:
TVHeadend
Astra / Ultra
Professional broadcast middleware
ci_bitrate >= 90000 # below this MTD CAMs can starve
If interrupts behave abnormally:
Or move the card to a direct CPU PCIe slot.
Digital Devices cards allow per-CI-slot bitrate limits via sysfs.
echo <clock_kHz> > /sys/class/ddbridge/ddbridge0/obrX
Bitrate (Mbps) = (Clock_kHz × 188) / Adjusted_TS_Frame_Size_bits
(80000 * 188) / 200 = 75.2 Mbps
So for ~75 Mbps on CI slot 0:
echo 80000 > /sys/class/ddbridge/ddbridge0/obr0
echo 80000 > /sys/class/ddbridge/ddbridge0/obr0 # ~75 Mbps echo 100000 > /sys/class/ddbridge/ddbridge0/obr1 # ~95 Mbps
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.
ci_bitrate = 100000 obrX = 100000
Some CAMs crash above 80 Mbit/s.
xo2_speed
dma_buf_num / dma_buf_size
Per-slot bitrate control (obrX)
obrX
ci_bitrate
msi
alt_dma (architecture-specific benefits)
buffermode (old DuoFlex CI only)
buffermode
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.
« Zurück
Datenschutzerklärung | Impressum