Implementación de un servidor multimedia dedicado: Consejos expertos para instalar controladores DVB Tuner en Proxmox y Ubuntu
- Created: 2024-09-17 11:47
- Updated: 2025-03-12 13:36
Introducción
En el exigente entorno de los centros de datos, los streamers de medios dedicados desempeñan un papel fundamental en la entrega de servicios de streaming DVB de alta calidad. La Digital Devices Max SX8 Pro (4/8) – Tarjeta de TV con 8 Sintonizadores es una solución de primer nivel diseñada para aplicaciones de alto rendimiento. Con ocho sintonizadores DVB-S/S2/S2X en una sola tarjeta PCI Express, esta tarjeta ofrece una combinación inigualable de rendimiento, eficiencia y versatilidad. Su diseño compacto, bajo consumo de energía y modos de operación flexibles la convierten en una opción ideal para una amplia variedad de configuraciones de streaming.
Especificaciones
BBFrame Output: 1
DVB Satellite Reception Properties: 8APSK-L [5/9|26/45], 8PSK [3/5|2/3|3/4|5/6|8/9|9/10], 8PSK [23/36|25/36|13/18], 16APSK-L [5/9|8/15|1/2|3/5|2/3], 16APSK [2/3|3/4|5/6|8/9|9/10], 16APSK [26/45|3/5|28/45|23/36|13/18|7/9|77/90], 32APSK-L [2/3], 32APSK [3/4|4/5|5/6|8/9|9/10], 32APSK [32/45|11/15|7/9], 64APSK-L [32/45], 64APSK [11/15|7/9|4/5|5/6], 128APSK [3/4|7/9], 256APSK-L [29/45|2/3|31/45|11/15], 256APSK [32/45|3/4], ACM (Adaptive Coding and Modulation), Annex M, Channel Bonding (S2X), Error correction: LDPC 720 MBit/s, Long Frames, MIS (Multiple Input Streams), Maximum Baudrate 500MBits, Maximum DVB-S2/S2X LDPC-Bitrate for all 8 Tuners is 720 MBit/s, QPSK [1/2|3/5|2/3|3/4|4/5|8/9|8/10], QPSK [1/4|1/3|2/5], QPSK [13/45|9/20|11/20], Short Frames, VCM (Variable Coding and Modulation), VL-SNR
Maximum Symbol Rates: 8APSK [86], 8PSK [86], 16APSK [64.5], 32APSK [51.6], 64APSK [43], 128APSK [36.85], 256APSK [32.25], Annex M 500, QPSK [~95]
DVB Standards: DVB-S, DVB-S2, DVB-S2X
Demodulators/Channels/Tuners (Frontends): 8
Power Consumption: approx. 7 watts without LNB power
Features: DiSEqC 2.x via SCR, Digital TV, HD (H.264/MPEG-4), SD (H.262/MPEG-2), UHD (H.265/HEVC), Unicable I (SCR) EN50494, Unicable II | JESS (SCR) EN50607
Script de Autodespliegue: Controlador DKMS DDDVB-0.9.39 para Proxmox 8
#!/bin/bash
# Install essential build tools and kernel headers
apt -y install git make cmake gcc dvb-tools htop dkms build-essential patchutils libproc-processtable-perl pve-headers-$(uname -r)
# Download and extract the driver source code
echo "Downloading and extracting the driver source code..."
cd /usr/src/
wget https://github.com/DigitalDevices/dddvb/archive/0.9.39.tar.gz -O dddvb-0.9.39.tar.gz
tar -xf dddvb-0.9.39.tar.gz
cd dddvb-0.9.39
# Create the dkms.conf configuration file
echo "Creating dkms.conf file..."
cat < /dev/null
PACKAGE_NAME=dddvb
PACKAGE_VERSION=0.9.39
# Comment or remove the next line to avoid deprecated warnings
# REMAKE_INITRD=no
MAKE="make -j 4 KERNELDIR=/lib/modules/${kernelver}/build"
CLEAN="make clean"
AUTOINSTALL=yes
BUILT_MODULE_NAME[0]=tda18271c2dd
BUILT_MODULE_LOCATION[0]=frontends
DEST_MODULE_LOCATION[0]=/updates/dkms
BUILT_MODULE_NAME[1]=stv090x
BUILT_MODULE_LOCATION[1]=frontends
DEST_MODULE_LOCATION[1]=/updates/dkms
BUILT_MODULE_NAME[2]=lnbh25
BUILT_MODULE_LOCATION[2]=frontends
DEST_MODULE_LOCATION[2]=/updates/dkms
BUILT_MODULE_NAME[3]=drxk
BUILT_MODULE_LOCATION[3]=frontends
DEST_MODULE_LOCATION[3]=/updates/dkms
BUILT_MODULE_NAME[4]=cxd2843
BUILT_MODULE_LOCATION[4]=frontends
DEST_MODULE_LOCATION[4]=/updates/dkms
BUILT_MODULE_NAME[5]=stv0367dd
BUILT_MODULE_LOCATION[5]=frontends
DEST_MODULE_LOCATION[5]=/updates/dkms
BUILT_MODULE_NAME[6]=stv6111
BUILT_MODULE_LOCATION[6]=frontends
DEST_MODULE_LOCATION[6]=/updates/dkms
BUILT_MODULE_NAME[7]=tda18212dd
BUILT_MODULE_LOCATION[7]=frontends
DEST_MODULE_LOCATION[7]=/updates/dkms
BUILT_MODULE_NAME[8]=cxd2099
BUILT_MODULE_LOCATION[8]=frontends
DEST_MODULE_LOCATION[8]=/updates/dkms
BUILT_MODULE_NAME[9]=lnbp21
BUILT_MODULE_LOCATION[9]=frontends
DEST_MODULE_LOCATION[9]=/updates/dkms
BUILT_MODULE_NAME[10]=stv6110x
BUILT_MODULE_LOCATION[10]=frontends
DEST_MODULE_LOCATION[10]=/updates/dkms
BUILT_MODULE_NAME[11]=stv0910
BUILT_MODULE_LOCATION[11]=frontends
DEST_MODULE_LOCATION[11]=/updates/dkms
BUILT_MODULE_NAME[12]=mxl5xx
BUILT_MODULE_LOCATION[12]=frontends
DEST_MODULE_LOCATION[12]=/updates/dkms
BUILT_MODULE_NAME[13]=ddbridge
BUILT_MODULE_LOCATION[13]=ddbridge
DEST_MODULE_LOCATION[13]=/updates/dkms
BUILT_MODULE_NAME[14]=octonet
BUILT_MODULE_LOCATION[14]=ddbridge
DEST_MODULE_LOCATION[14]=/updates/dkms
BUILT_MODULE_NAME[15]=dvb-core
BUILT_MODULE_LOCATION[15]=dvb-core
DEST_MODULE_LOCATION[15]=/updates/dkms
EOF
# Clean up any previous builds
echo "Cleaning up any previous builds..."
sudo dkms remove dddvb/0.9.39 --all || true
# Add the module to the DKMS tree
echo "Adding the module to DKMS..."
sudo dkms add dddvb/0.9.39
# Build the module
echo "Building the module..."
sudo dkms build dddvb/0.9.39 --force
# Install the module
echo "Installing the module..."
sudo dkms install dddvb/0.9.39 --force
# Verify the installation
echo "Verifying the installation..."
dkms status | grep dddvb
echo "Installation complete."
Script de Autodespliegue: Controlador DKMS DDDVB-0.9.39 para Ubuntu 22.04
#!/bin/bash
# Script to auto-deploy ddbridge kernel module with DKMS on Ubuntu
# Exit immediately if a command exits with a non-zero status
set -e
# Update package list and install required packages
echo "Updating package list and installing DKMS..."
sudo apt-get update
sudo apt-get install -y dvb-tools htop dkms build-essential linux-headers-$(uname -r) git wget
# Download and extract the driver source code
echo "Downloading and extracting the driver source code..."
cd /usr/src/
wget https://github.com/DigitalDevices/dddvb/archive/0.9.39.tar.gz -O dddvb-0.9.39.tar.gz
tar -xf dddvb-0.9.39.tar.gz
cd dddvb-0.9.39
# Create the dkms.conf configuration file
echo "Creating dkms.conf file..."
cat <<EOF | sudo tee dkms.conf > /dev/null
PACKAGE_NAME=dddvb
PACKAGE_VERSION=0.9.39
# Comment or remove the next line to avoid deprecated warnings
# REMAKE_INITRD=no
MAKE="make -j 4 KERNELDIR=/lib/modules/\${kernelver}/build"
CLEAN="make clean"
AUTOINSTALL=yes
BUILT_MODULE_NAME[0]=tda18271c2dd
BUILT_MODULE_LOCATION[0]=frontends
DEST_MODULE_LOCATION[0]=/updates/dkms
BUILT_MODULE_NAME[1]=stv090x
BUILT_MODULE_LOCATION[1]=frontends
DEST_MODULE_LOCATION[1]=/updates/dkms
BUILT_MODULE_NAME[2]=lnbh25
BUILT_MODULE_LOCATION[2]=frontends
DEST_MODULE_LOCATION[2]=/updates/dkms
BUILT_MODULE_NAME[3]=drxk
BUILT_MODULE_LOCATION[3]=frontends
DEST_MODULE_LOCATION[3]=/updates/dkms
BUILT_MODULE_NAME[4]=cxd2843
BUILT_MODULE_LOCATION[4]=frontends
DEST_MODULE_LOCATION[4]=/updates/dkms
BUILT_MODULE_NAME[5]=stv0367dd
BUILT_MODULE_LOCATION[5]=frontends
DEST_MODULE_LOCATION[5]=/updates/dkms
BUILT_MODULE_NAME[6]=stv6111
BUILT_MODULE_LOCATION[6]=frontends
DEST_MODULE_LOCATION[6]=/updates/dkms
BUILT_MODULE_NAME[7]=tda18212dd
BUILT_MODULE_LOCATION[7]=frontends
DEST_MODULE_LOCATION[7]=/updates/dkms
BUILT_MODULE_NAME[8]=cxd2099
BUILT_MODULE_LOCATION[8]=frontends
DEST_MODULE_LOCATION[8]=/updates/dkms
BUILT_MODULE_NAME[9]=lnbp21
BUILT_MODULE_LOCATION[9]=frontends
DEST_MODULE_LOCATION[9]=/updates/dkms
BUILT_MODULE_NAME[10]=stv6110x
BUILT_MODULE_LOCATION[10]=frontends
DEST_MODULE_LOCATION[10]=/updates/dkms
BUILT_MODULE_NAME[11]=stv0910
BUILT_MODULE_LOCATION[11]=frontends
DEST_MODULE_LOCATION[11]=/updates/dkms
BUILT_MODULE_NAME[12]=mxl5xx
BUILT_MODULE_LOCATION[12]=frontends
DEST_MODULE_LOCATION[12]=/updates/dkms
BUILT_MODULE_NAME[13]=ddbridge
BUILT_MODULE_LOCATION[13]=ddbridge
DEST_MODULE_LOCATION[13]=/updates/dkms
BUILT_MODULE_NAME[14]=octonet
BUILT_MODULE_LOCATION[14]=ddbridge
DEST_MODULE_LOCATION[14]=/updates/dkms
BUILT_MODULE_NAME[15]=dvb-core
BUILT_MODULE_LOCATION[15]=dvb-core
DEST_MODULE_LOCATION[15]=/updates/dkms
EOF
# Clean up any previous builds
echo "Cleaning up any previous builds..."
sudo dkms remove dddvb/0.9.39 --all || true
# Add the module to the DKMS tree
echo "Adding the module to DKMS..."
sudo dkms add dddvb/0.9.39
# Build the module
echo "Building the module..."
sudo dkms build dddvb/0.9.39 --force
# Install the module
sudo dkms install dddvb/0.9.39 --force
# Verify the installation
echo "Verifying the installation..."
dkms status | grep dddvb
echo "Installation complete."
Preparación Avanzada del Sistema
Nota: Para una implementación rápida y una ejecución optimizada de estos scripts, se recomienda instalar la utilidad ‘cURL’. Esto permitirá descargar y ejecutar los scripts de manera eficiente directamente desde la línea de comandos.
Para instalar cURL, ejecute el siguiente comando:
sudo apt install curl
Si prefiere usar wget, descargue los scripts, hágalos ejecutables y ejecútelos con los siguientes comandos:
chmod u+x script.sh && ./script.sh
Ejecución de Scripts Bash
Para ejecutar un script Bash en un entorno Linux, proporcione la ruta completa al script e incluya cualquier argumento necesario:
./path/to/script <arg1> <arg2> ... <argn>
Scripts de Digital Devices: Herramientas Esenciales para la Gestión de DVB
1. ddinfo.sh
El script ddinfo.sh es una herramienta indispensable para recopilar información detallada sobre las tarjetas de Digital Devices, incluyendo la identificación de la tarjeta, la dirección PCI, las versiones de firmware/controladores y la temperatura de operación. Este script es fundamental para la monitorización y resolución de problemas en entornos de alta demanda.
Modo Verboso: Active el modo verboso utilizando la opción -v para obtener una salida detallada.
Ubicación del Script: http://linuxsupport.digital-devices.eu/ddinfo.sh
Ejemplo de Uso:
curl -s http://linuxsupport.digital-devices.eu/ddinfo.sh | bash
2. dddvb_build.sh
El script dddvb_build.sh automatiza la compilación de los controladores DDDVB, ofreciendo una variedad de opciones de configuración para adaptarse a diferentes escenarios de implementación. Este script requiere privilegios de root.
Opciones:
-g|--git: Descarga y compila la versión más reciente de los controladores desde Git.-f|--fmode: Configura el modo de operación para las tarjetas Max S8/SX8/SX8 Basic.-v|--version: Especifica la versión del controlador (por ejemplo, 37 para 0.9.37, 38 para 0.9.38, 39 para 0.9.39).-m|--max-adapters: Establece el número máximo de adaptadores (por defecto es 64).-M|--msi: Habilita o deshabilita MSI para ddbridge.
Ubicación del Script: http://linuxsupport.digital-devices.eu/dddvb_build.sh
Ejemplo de Uso:
# curl -s http://linuxsupport.digital-devices.eu/dddvb_build.sh | bash
# curl -s http://linuxsupport.digital-devices.eu/dddvb_build.sh | bash /dev/stdin -g
# curl -s http://linuxsupport.digital-devices.eu/dddvb_build.sh | bash /dev/stdin -g -f 2
# curl -s http://linuxsupport.digital-devices.eu/dddvb_build.sh | bash /dev/stdin -v 39 -f 1
3. dd_fw_update.sh
El script dd_fw_update.sh facilita la actualización del firmware en todas las tarjetas DVB dentro del sistema. Este script es crucial para mantener las últimas funciones y correcciones en entornos de streaming de alta densidad. Dado que este script afecta a todas las tarjetas del sistema, se recomienda seguir instrucciones específicas si se requieren actualizaciones de firmware para tarjetas individuales.
Ubicación del Script: http://linuxsupport.digital-devices.eu/dd_fw_update.sh
Para actualizar el firmware:
curl -s http://linuxsupport.digital-devices.eu/dd_fw_update.sh | bash
Selección del Modo DDbridge
El Digital Devices Max SX8 Pro (4/8) ofrece múltiples modos de operación para adaptarse a diversos escenarios de instalación. Estos modos permiten flexibilidad en la conexión con diferentes tipos de LNBs y multiswitches. A continuación, se presenta una descripción detallada de cada modo, junto con un mapa visual que sirve como guía para los tipos de conexión:
Modo de Operación 0: 4 Sintonizadores Directos
El modo “4 Sintonizadores” permite que las cuatro entradas de la tarjeta funcionen como sintonizadores individuales. Este modo es compatible con múltiples satélites mediante DiSEqC y requiere de 1 a 4 cables desde un multiswitch o un LNB con multiswitch integrado.
Modo de Operación 1: LNB Quad o 4 Salidas de Multiswitch
Utilice esta opción para conectar su Max SX8 a un multiswitch estándar o a un LNB con multiswitch integrado (LNB QUAD o LNB OCTO). Esta configuración requiere cuatro líneas SAT para habilitar una recepción completa y con todas las funciones en los cuatro niveles de SAT.
Modo de Operación 2: LNB Quattro o Salida en Cascada de Multiswitch (VL, VH, HL, HH)
Este modo es ideal para conectar el Max SX8 a un multiswitch con capacidad de cascada. Dichos multiswitches tienen salidas adicionales, conocidas como “salidas en cascada”, que retransmiten las señales recibidas de un LNB Quattro. Alternativamente, las cuatro salidas pueden conectarse directamente a un LNB Quattro sin necesidad de un multiswitch.
Modo de Operación 3: Solución de Cable Único
En este modo, la tarjeta puede utilizarse con un solo cable de antena mediante equipos compatibles con Unicable® o JESS®. Esto permite que hasta 8 sintonizadores operen con un sistema Unicable® y hasta 32 sintonizadores con un sistema JESS®, requiriendo solo un cable para todos los sintonizadores.

El Digital Devices MAX SX8 puede integrarse en numerosas aplicaciones de televisión y es compatible con entornos Windows y Linux, lo que lo convierte en una opción versátil para cualquier configuración de streaming de medios dedicada.