Loading...

Mejor Guía de Configuración de OScam: Configuración Óptima 2026

Si tienes OScam compilado y en funcionamiento pero aún estás viendo tiempos de ECM que superan los 1500 ms, o un canal se congela durante dos segundos cada vez que cambias de canal, el binario nunca fue el problema. La configuración lo fue. He reconstruido más archivos oscam.conf de los que puedo contar a lo largo de los años, y casi cada ticket de "está roto" se remonta a un puñado de valores mal configurados. Esta guía recorre una configuración óptima de oscam desde cero — no es un archivo para copiar y pegar, sino el razonamiento detrás de cada parámetro para que puedas ajustarlo a tu propio hardware y enlaces.

Lo que realmente significa una "Mejor" Configuración de OScam

Aclarémoslo desde el principio. No hay un solo archivo que sea objetivamente la mejor configuración de OScam para todos. Lo que realmente significa "mejor" es el tiempo de ECM más bajo y la menor cantidad de congelamientos para tu hardware específico, tu tarjeta o pares de red específicos, y tu receptor específico. Una configuración que es perfecta en un Vu+ Duo4K con una tarjeta local se comportará de manera diferente en un Dreambox que obtiene todo de lectores de red a través de un punto de acceso móvil.

Así que cuando las personas buscan una configuración óptima de oscam, lo que realmente necesitan es una metodología, no un enlace de descarga. Eso es lo que esta guía te ofrece.

Los cuatro archivos de configuración principales y lo que controla cada uno

OScam divide su configuración en cuatro archivos, y mezclar lo que pertenece a cada uno es una fuente común de confusión para cualquiera que sea nuevo en esto.

  • oscam.conf — comportamiento global: tiempos de espera, registro, almacenamiento en caché, el WebIf y el puente dvbapi hacia el decodificador de tu caja
  • oscam.server — cada lector al que te conectas, ya sea una tarjeta inteligente local, un par de CCcam o un servidor newcamd
  • oscam.user — las cuentas permitidas para conectarse a tu instancia de OScam y obtener CWs de ella
  • oscam.dvbapi (o el bloque [dvbapi] en oscam.conf, dependiendo de la compilación) — cómo OScam se comunica con el demuxer local para la decodificación en la caja

Si te equivocas en cualquiera de estos, el síntoma aparece en otro lugar completamente diferente — una entrada de lector incorrecta en oscam.server a menudo solo se ve como "sin imagen" en el receptor, sin nada evidentemente mal en oscam.conf.

Ubicación del archivo de configuración: /etc/tuxbox/config vs /var/keys

En receptores Enigma2, normalmente encontrarás la configuración activa en/etc/tuxbox/config/oscam/, aunque muchas imágenes crean un enlace simbólico o montan esto en/var/keys o/usr/keys para persistencia a través de actualizaciones. En una caja Linux independiente en la que tú mismo construiste OScam, la predeterminada suele ser/usr/local/etc a menos que hayas pasado una ruta diferente con el-c bandera de inicio.

No adivines. La ruta que OScam está leyendo realmente se imprime en la parte superior del registro al inicio, y también se muestra en el WebIf bajo Estado. Si estás editando un archivo y los cambios no están surtiendo efecto, nueve de cada diez veces estás editando la copia incorrecta.

Por qué no hay una única configuración universal mejor

Los CAIDs difieren según el proveedor y el satélite. Los límites de re-compartición difieren según quién esté compartiendo contigo. El hardware de la tarjeta difiere — los lectores internos no se comportan como los dongles USB Phoenix. Una configuración ajustada para una conexión de fibra estable a un par local ahogará un enlace ascendente móvil 4G. Por eso el WebIf y el archivo de registro son tus verdaderas herramientas de ajuste, no un hilo de foro. Ajustas un valor, mides el efecto, mantienes lo que funciona.

oscam.conf optimizado: Configuraciones Globales que Importan

Aquí es donde ocurre la mayor parte del ajuste real. A continuación se muestra el bloque [global] desde el que empiezo cada reconstrucción, con el razonamiento para cada línea.

[global] nice, maxlogsize, preferlocalcards y clienttimeout

[global]

nice = -1 aumenta ligeramente la prioridad de programación de CPU de OScam por encima de la predeterminada, lo que importa en cajas ARM subalimentadas donde el proceso puede verse privado durante escaneos intensos de EPG.maxlogsize = 100 limita el registro a 100KB antes de la rotación — suficiente historial para depurar, no tanto como para consumir tu almacenamiento flash.

clienttimeout = 5000 significa que OScam espera hasta 5 segundos para una respuesta CW antes de rendirse por completo.fallbacktimeout debe ser más bajo — yo uso 2500ms — así que un lector lento o muerto se omite a favor de una fuente de respaldo antes de que toda la solicitud se agote. Si estableces fallbacktimeout igual o superior a clienttimeout, pierdes todo el sentido de tener un respaldo: OScam simplemente se queda esperando al mismo lector lento.

preferlocalcards = 1 le dice a OScam que favorezca una tarjeta inteligente conectada directamente sobre un par de red siempre que ambos puedan decodificar el mismo CAID. Si tienes una tarjeta local, siempre habilita esto — es la mayor reducción de tiempo de ECM que puedes obtener gratis, porque no hay un viaje de ida y vuelta a través de un socket de red involucrado.

[cache] y almacenamiento en caché de cw (conceptos básicos de cacheex)

[cache]

Si estás ejecutando una configuración adecuada de intercambio de caché CW entre múltiples cajas en tu propia red (modo cacheex 1, 2 o 3 dependiendo del rol), habilita las estadísticas para que puedas ver las tasas de aciertos en el WebIf. Sin ello, estás ajustando a ciegas. No entraré en la topología de cacheex aquí ya que merece su propio artículo, pero la versión corta: un nodo de caché que sirve principalmente CWs obsoletos o incorrectos afectará tu tiempo de ECM peor que no tener caché en absoluto, así que observa las estadísticas antes de confiar en ello.

[webif] en el puerto 8888 con httpuser/httppwd y TLS

[webif]usa una contraseña única y fuerte aquí

El puerto 8888 es el estándar, pero verifica que nada más en tu caja ya esté vinculado a él — algunos complementos de Enigma2 e incluso ciertos demonios de streaming ocupan 8888 por defecto, y OScam simplemente fallará al intentar vincularse si está ocupado. Cámbialo a algo como 8889 si encuentras un conflicto.

Establecerhttpallowed a tu rango de LAN para que el WebIf no sea accesible desde fuera de tu red. Si realmente necesitas acceso remoto, habilita TLS y usa credenciales reales — nunca dejes httpuser/httppwd en blanco en nada con un puerto expuesto al público. Un WebIf abierto entrega el control total del lector y la cuenta a cualquiera que lo encuentre.

[monitor] y bloques [dvbapi]

[monitor]

au = 1 habilita actualizaciones automáticas de EMM para que tus derechos se mantengan actualizados sin intervención manual.pmt_mode = 6 le dice a OScam que lea PMT a través del método de socket estándar que la mayoría de las imágenes de Enigma2 esperan — si estás en un tipo de receptor diferente, es posible que necesites pmt_mode 0 o 1 en su lugar, consulta la documentación de tu imagen.user debe apuntar a una cuenta definida en oscam.user, lo cual es importante para la coincidencia de grupos más adelante.

Una nota sobre el registro: aumenta el nivel de depuración con-d 2 (o-d 255 para el flujo completo) solo mientras estés diagnosticando activamente un problema. Dejar la depuración detallada activada permanentemente llena tu registro rápidamente y añade una sobrecarga de I/O innecesaria en el almacenamiento basado en flash.

oscam.server y oscam.user: Ajuste de Lector y Cliente

Esta es la sección donde la mayoría de los problemas de "simplemente no se conectará" realmente residen. Consigue las definiciones de lector y cuenta correctas y todo lo que viene después tiende a funcionar.

Bloque de lector CCcam: dispositivo, puerto, clave, inactivitytimeout

[reader]

inactivitytimeout = 30 desconecta y reconecta un socket de lector que ha estado en silencio durante 30 segundos — útil para capturar conexiones medio muertas que parecen "activas" pero en realidad no están pasando datos.reconnecttimeout controla cuánto tiempo OScam espera antes de reintentar después de una desconexión.ccckeepalive = 1 envía paquetes de keepalive periódicos para que los routers NAT y los firewalls no maten silenciosamente la conexión inactiva, lo cual es una causa muy común de un lector que funciona bien durante una hora y luego simplemente se detiene.

sintaxis del lector newcamd/mgcamd y clave DES

[lector]

Laclave campo es la clave DES negociada con ese servidor newcamd específico — no es intercambiable entre proveedores, y una clave incorrecta produce un rechazo inmediato de la conexión que verás en el registro como un fallo de autenticación, no un tiempo de espera, así que verifica eso primero si este lector no se activa.

límites de grupo, caid, ident y reshare

Esta es la parte que casi nadie explica correctamente, y es la causa raíz de la mayoría de los casos de "el lector muestra conectado pero nunca llega CW". Los números de grupo existen puramente para enrutar solicitudes — una cuenta oscam.user congroup = 1 solo puede extraer de lectores que también tienengroup = 1 (o un grupo que se superpone a través de bitmask si estás usando múltiples grupos). Si tu cuenta es grupo 1 y tu lector es grupo 2, OScam nunca enruta un ECM entre ellos, punto final, y no hay un mensaje de error que te lo diga directamente — simplemente nunca encuentra un CW en silencio.

Restringe lectores por CAID e ident donde puedas:

caid = 0500,1802

Esto reduce la carga innecesaria — OScam no perderá tiempo consultando un lector por un CAID que no puede decodificar, lo que ahorra tiempo real en la búsqueda de ECM cuando tienes varios lectores configurados.

oscam.user: pwd, coincidencia de grupo, au y monlevel

[cuenta]

Una cuenta por caja, siempre. Compartir credenciales entre múltiples receptores hace imposible saber qué caja está generando un ECM dado en el registro, y rompe las estadísticas por cliente en el WebIf.monlevel = 1 permite que esa cuenta vea su propio estado de conexión en el puerto de monitorización sin visibilidad total de administrador. Coincide elgrupo valor aquí con los lectores de los que realmente quieres que esta caja específica extraiga — esta es la coincidencia exacta que confunde constantemente a la gente, así que verifica esto contra oscam.server antes de buscar en otro lugar.

Lectura de tarjeta local y configuración de decodificación dvbapi

Si tienes una tarjeta inteligente física en el receptor, el bloque del lector se ve completamente diferente de un par de red, y los valores específicos de hardware importan mucho más de lo que la gente espera.

Bloque del lector de tarjeta inteligente: device = /dev/ttyUSB0 y protocolo

[lector]

Para un lector de tarjeta inteligente USB estilo Phoenix,protocol = mouse y una ruta de dispositivo como/dev/ttyUSB0 es estándar. Si tu receptor tiene una ranura de tarjeta interna en su lugar, generalmente usarásprotocol = internal con una ruta de dispositivo como/dev/sci0 ydetect = cd.

mhz, cardmhz y configuraciones de detect para ATR estable

Esta es la configuración que la gente confunde constantemente. Para un lector USB Phoenix,mhz = 357 ycardmhz = 357 es correcto — esa es la frecuencia nativa del reloj de la tarjeta. Para un lector interno en la mayoría del hardware Enigma2,cardmhz = 2700 es lo que necesitas en su lugar. Establecer el valor incorrecto hace que la tarjeta no se inicialice en absoluto o te dé un ATR inestable que cae aleatoriamente bajo carga, lo que se parece exactamente a una tarjeta defectuosa incluso cuando el hardware está bien.

Confirma que funcionó revisando el registro justo después de que OScam comience — estás buscando una línea que muestre los bytes ATR y un mensaje de inicialización de tarjeta exitoso. Si ves intentos de reinicio repetidos en su lugar, esa es tu señal de que los valores mhz/cardmhz no coinciden con tu tipo de lector.

oscam.services para agrupación de CAID/proveedor

Cuando estás mezclando CAIDs — digamos una tarjeta local manejando el CAID de un proveedor y pares de red manejando otros —oscam.services te permite agrupar combinaciones de CAID/proveedor bajo un grupo de servicio nombrado, al que tanto tus lectores como tu [dvbapi] sidtab pueden hacer referencia. Sin esta agrupación, dvbapi no tiene una forma clara de saber qué lector debe ser probado para qué canal, y terminas con un enrutamiento de ECM más lento y menos predecible en configuraciones mixtas.

sysfs/solución de problemas del lector Phoenix

Si un lector Phoenix USB no aparece en absoluto, verifica que el dispositivo realmente exista primero:ls -la /dev/ttyUSB0. En algunas distribuciones de Linux, el módulo del kernel necesita ser cargado manualmente, o udev asigna un número ttyUSB diferente si tienes otros dispositivos seriales USB conectados. No asumas que siempre es ttyUSB0 — verificadmesg | tail justo después de conectar el lector para confirmar en qué nodo de dispositivo realmente aterrizó.

Verificando y evaluando tu configuración

Escribir la configuración es la mitad del trabajo. La otra mitad es demostrar que realmente funciona, y este es el paso que la mayoría de las guías omiten por completo.

Leyendo el tiempo de ECM en la página de estado de WebIf

Inicia sesión en el WebIf enhttp://your-box-ip:8888 y ve a Estado. Cada cliente y lector activo muestra una columna de tiempo de ECM, actualizada en vivo a medida que llegan las solicitudes. Este número, en milisegundos, es la métrica más útil que tienes para juzgar si tu configuración de oscam es realmente buena o solo parece bien en papel.

Interpretando los estados del lector: CONECTADO, TARJETA, APAGADO

Un lector que muestraTARJETA en verde significa que una tarjeta inteligente local está inicializada y lista.CONECTADO en verde significa que un par de red está autenticado y responde. Cualquier cosa en rojo — incluyendoAPAGADO — significa que ese lector no está contribuyendo CWs en este momento, y cualquier cliente que dependa únicamente de él para un CAID dado va a fallar o retroceder a otro lugar, si es que existe un retroceso.

Usando el registro (-d 255) para rastrear una solicitud de ECM de principio a fin

Inicia OScam con-d 255 temporalmente y grep la salida:

tail -f /tmp/oscam.log | grep -i "ecm\|not found"

Verás todo el ciclo de vida de una solicitud — qué lector se probó, cuánto tiempo tomó y si tuvo éxito o volvió "no encontrado". Un CAID que consistentemente devuelve "no encontrado" en cada lector configurado significa que ninguno de tus lectores realmente tiene ese derecho, lo que es un problema de aprovisionamiento, no un error de configuración.

Métricas objetivo: tiempo de ECM por debajo de 500ms, cero tiempos de espera

Como un punto de referencia funcional: por debajo de 500ms te da un cambio casi instantáneo que se siente indistinguible de un canal no encriptado. 500-1000ms es utilizable pero notarás un retraso al cambiar de canal. Cualquier cosa consistentemente por encima de 1000ms producirá congelamientos visibles, especialmente en canales con tiempos de ciclo de CW cortos. Prueba un cambio de parámetro a la vez — intercambia fallbacktimeout, observa el WebIf durante unos minutos, luego pasa al siguiente valor. Cambiar cinco cosas a la vez significa que nunca sabrás cuál realmente ayudó.

Errores comunes de configuración y lo que no funciona

Tan útil como saber qué funciona es saber qué no funciona de manera confiable, porque estos errores aparecen una y otra vez.

Números de grupo desajustados entre el servidor y el usuario

Cubierto anteriormente pero vale la pena repetirlo porque es la causa número uno de "todo parece estar conectado pero nada se decodifica." Si tu lector es del grupo 4 y tu cuenta es del grupo 1, nunca se verán entre sí, y no hay un error explícito, solo silencio donde debería haber un CW.

Configuraciones 'mejores' copiadas y pegadas de foros que no coinciden con tu CAID

Un archivo oscam.conf completo descargado de un hilo de foro casi nunca funciona tal cual. Los CAIDs, puertos y números de grupo en ese archivo fueron ajustados para los lectores de otra persona y los proveedores de otra persona. Usa un archivo conocido como un esqueleto estructural en el mejor de los casos: el diseño de la sección y el conjunto de parámetros generales, pero cada credencial, puerto, CAID y valor de grupo necesita ser reemplazado por el tuyo.

ccmaxhops excesivamente altos causando bucles y CWs lentos

Configurandocccmaxhops demasiado alto: a veces la gente lo sube a 10 o más pensando que encontrará más fuentes, pero en realidad hace lo contrario. Cada salto adicional añade latencia al camino ECM, y un alto conteo de saltos en una cadena de compartición mal mantenida aumenta el riesgo de bucles de enrutamiento que detienen completamente las solicitudes. Mantén los saltos y la profundidad de re-compartición conservadores; 3-5 es un límite razonable para la mayoría de las configuraciones.

Permisos de archivo incorrectos y errores de final de línea (CRLF)

Dos fallos aburridos pero muy comunes. Primero: editar archivos de configuración en Windows con un editor que no maneja finales de línea de Unix inyecta caracteres CRLF que OScam analiza de manera inconsistente, a veces en silencio, a veces como una línea corrupta. Siempre guarda como solo LF, o edita directamente en la caja con nano o vi. Segundo:chmod 600 tus archivos de configuración, ya que oscam.server y oscam.user contienen contraseñas en texto plano y no hay razón para que otros usuarios en el sistema puedan leerlas.

Y una cosa más que vale la pena decir directamente: deshabilitar completamente el clienttimeout, o configurarlo absurdamente alto, no soluciona los congelamientos. Solo los oculta, porque ahora OScam se queda ahí indefinidamente esperando a un lector muerto en lugar de fallar rápidamente e intentar una alternativa. Si los congelamientos son tu problema, baja y ajusta los valores de timeout, no los elimines.

¿Dónde se encuentran los archivos de configuración de OScam?

Las rutas típicas son /etc/tuxbox/config/oscam/ o /var/keys en cajas Enigma2, o /usr/local/etc en una instalación de Linux independiente, aunque esto depende completamente de la bandera de inicio -c. La ruta activa siempre se muestra en la parte superior del registro de OScam y en la página de estado de WebIf; verifica allí en lugar de adivinar.

¿Cuál es un buen valor para clienttimeout y fallbacktimeout?

clienttimeout alrededor de 5000ms es un valor predeterminado seguro para la mayoría de las configuraciones. fallbacktimeout debería ser más bajo: 2500ms funciona bien, así que un lector lento se omite antes de que toda la solicitud se detenga. Solo ajusta estos valores a la baja si tus enlaces son consistentemente rápidos y estables.

¿Por qué mi lector y usuario no se conectan aunque la configuración parece correcta?

La causa más común son los números de grupo desajustados entre el lector de oscam.server y la cuenta de oscam.user. También verifica si hay una contraseña incorrecta, un puerto bloqueado o un CAID que el lector simplemente no tiene. La pestaña de Lectores de WebIf y el registro te dirán cuál de estos es en realidad.

¿Qué tiempo ECM debería buscar en OScam?

Menos de 500ms proporciona un zapping casi instantáneo. 500-1000ms es utilizable pero notable. Más de 1000ms produce un retraso visible y congelamiento en la mayoría de los canales. Mídelo por canal en la página de estado de WebIf, no como un solo promedio global.

¿Hay una única mejor configuración de OScam que pueda copiar y pegar?

No. Los CAIDs, puertos, grupos, hardware de tarjeta y pares de red difieren en cada configuración, por lo que una configuración copiada generalmente falla de inmediato o tiene un rendimiento muy bajo. Usa una plantilla conocida como un esqueleto inicial, luego ajusta cada valor a tus propios lectores y hardware; eso es lo que realmente requiere una configuración óptima de oscam.

¿Cómo habilito y aseguro el WebIf de OScam?

Agrega un bloque [webif] con httpport=8888, establece un httpuser y httppwd fuertes, restringe httpallowed a tu rango de LAN y habilita TLS si alguna vez necesitas exponerlo más allá de tu red. Nunca dejes el WebIf abierto sin una contraseña en una caja expuesta a Internet.

¿Qué hace preferlocalcards y debería habilitarlo?

preferlocalcards=1 hace que OScam use una tarjeta inteligente conectada directamente antes que un par de red para el mismo CAID, lo que reduce el tiempo ECM y corta la carga de red innecesaria. Habilítalo siempre que tengas una tarjeta local funcionando; esencialmente no hay desventajas.