Loading...

Archivo de Configuración oscam.server de OSCam Explicado para Principiantes (2026)

Si has compilado y ejecutado OScam, la interfaz web se carga bien en el puerto 8888, y luego abres oscam.server y simplemente lo miras — no estás solo. Este es el archivo de configuración oscam oscam.server explicado para principiantes, escrito para el momento exacto en el que te encuentras ahora: lectores mostrando OFF o CONECTADOS-pero-no-decodificando, un bloque que copiaste de un hilo de foro que "debería" funcionar, y sin idea de qué líneas realmente importan frente a cuáles OScam está ignorando silenciosamente.

He reconstruido este archivo desde cero más veces de las que me gustaría admitir, en todo, desde una Raspberry Pi ejecutando una compilación de origen hasta cajas Enigma2 con sus extrañas carpetas de configuración enlazadas. La buena noticia: una vez que entiendes para qué sirve cada línea, oscam.server deja de ser magia. Esta guía recorre el archivo línea por línea, muestra tres bloques de lectores completamente trabajados, y — esta es la parte que la mayoría de las guías omiten — te enseña cómo leer la columna de estado del lector para que puedas diagnosticar tu propia configuración en lugar de adivinar.

Lo que oscam.server Realmente Hace (Y Lo Que No Hace)

La mayor confusión que veo de personas nuevas en OScam es tratar oscam.server como "el archivo de configuración." No lo es. OScam divide su configuración en tres archivos, y cada uno tiene un trabajo específico. Mezclarlos es la razón por la que la mitad de las guías de configuración confunden a la gente — te dirán que agregues un número de puerto a oscam.server, y simplemente se queda ahí sin hacer nada porque los puertos no viven allí.

ArchivoLo que controla
oscam.confConfiguraciones globales — protocolos habilitados, puertos de escucha, inicio de sesión en la interfaz web, ubicación del archivo de registro
oscam.serverLectores — cada fuente que puede entregarte claves de descifrado (tarjetas locales, pares remotos, emuladores)
oscam.userClientes — todos los que tienen permiso para pedir claves a tu instancia de OScam

Dónde vive el archivo

En una compilación de origen, generalmente está en /usr/local/etc/oscam.server. En receptores Enigma2/Dreambox, típicamente está en /etc/tuxbox/config/oscam.server, aunque algunas imágenes lo esconden bajo /var/keys/. No adivines — verifica la página de estado de la interfaz web de OScam, que muestra el ConfigDir que OScam está utilizando realmente. Si iniciaste OScam con la bandera -c (por ejemplo, oscam -c /etc/oscam/), esa ruta anula todo lo demás, incluyendo cualquier archivo que esté en la ubicación predeterminada.

La regla de una oración

oscam.server define fuentes de descifrado. oscam.user define consumidores de descifrado. Si no recuerdas nada más de este artículo, recuerda eso. Cada vez que te sientas tentado a agregar algo a oscam.server que suene como si fuera sobre "quién puede usar mi servidor," detente — ese es el trabajo de oscam.user.

Cómo un bloque de lector se mapea a algo real

Cada bloque [reader] en oscam.server corresponde exactamente a una cosa: una tarjeta inteligente física en un lector USB, un par de red del que estás obteniendo claves, o un emulador local como CCcam-emu o Newcamd-emu. Es un mapeo 1:1. Si tienes dos tarjetas físicas, necesitas dos bloques de lectores. Si tienes una línea de CCcam, eso es un bloque.

Leyendo el archivo que OScam realmente cargó

Aquí está la parte que confunde a la gente constantemente: OScam analiza oscam.server al inicio y nuevamente cuando presionas Reiniciar desde la interfaz web — no cuando guardas un archivo de texto a través de SSH. Si hay un error de sintaxis en un bloque, o una etiqueta duplicada, OScam no muestra un cuadro de diálogo ni escribe un error ruidoso. Simplemente descarta silenciosamente ese bloque. El lector simplemente no existirá. Siempre ve a Config > Reader en la interfaz web después de un reinicio y confirma que el nombre del lector que escribiste está realmente listado. Si falta, el bloque nunca se analizó — punto final, no pierdas tiempo solucionando problemas de red para un lector que OScam nunca cargó.

Anatomía de un Bloque de Lector: Cada Línea, Qué Hace, Cuándo Omitirla

Esta es la parte que todos realmente necesitan, así que construyámosla desde cero. Aquí hay un bloque de lector newcamd mínimo que funciona — seis líneas, nada fancy:

[reader]

Eso es genuinamente suficiente para que un lector newcamd se conecte. Ahora aquí hay un bloque más completo con los parámetros sobre los que la gente realmente discute en los foros:

[reader]

Ahora vamos a revisar lo que realmente hace cada línea, y — más importante — cuándo es seguro omitirla.

label

El nombre interno para este lector. Aparece en la interfaz web, en tus registros, y es lo que oscam.user referencia indirectamente a través de números de grupo. Tiene que ser único en todo el archivo — etiquetas duplicadas hacen que un bloque se sobrescriba silenciosamente o se descarte, y el síntoma es un lector que simplemente falta en la pestaña de Lectores sin explicación. Mantenlo corto, sin espacios si puedes evitarlo, y algo que reconocerás dentro de seis meses.

protocol

Le dice a OScam qué tipo de fuente es: cccam, camd35, cs378x, newcamd, interno (para emulación local), o mouse / smartreader para una tarjeta física en un lector USB. Esta línea es obligatoria y tiene que coincidir con lo que realmente está en el otro extremo — un servidor cccam no responderá a un apretón de manos newcamd sin importar cuán correcto sea el resto de tu bloque.

device

Esta línea significa dos cosas completamente diferentes dependiendo del protocolo. Para una tarjeta física es una ruta serial como /dev/ttyUSB0 o /dev/sci0. Para cualquier protocolo de red (newcamd, cccam, camd35, cs378x) es host,puerto — por ejemplo server.example.net,12000. Mezclar estos es un error clásico de copiar y pegar: pegar una ruta de dispositivo serial en un bloque de lector de red, o viceversa, no hace nada más que producir un lector atrapado en un bucle de conexión.

user / password

Credenciales para iniciar sesión en la fuente remota. Estas provienen de quien ejecuta esa fuente — no son tu inicio de sesión en la interfaz web de OScam, y tampoco son las credenciales en tu archivo oscam.user. Tres conjuntos de credenciales separados, tres propósitos separados. Confundir estos es extremadamente común y produce un rechazo instantáneo de inicio de sesión.

group

Esta es la línea más malentendida en todo el archivo, y es el vínculo directo entre oscam.server y oscam.user. group es una lista de enteros separados por comas — group = 1 o group = 1,3,7. Un lector en el grupo 1 solo servirá a clientes cuyo grupo en oscam.user también incluya 1. Si tu lector es group=2 y tu cliente de prueba es group=1, el lector puede estar completamente CONECTADO y saludable y tu cliente no recibirá exactamente cero ECMs de él, para siempre. Este desajuste es la causa número uno de "el lector está conectado pero nada decodifica," y rara vez se explica correctamente en otro lugar.

caid, ident, chid, boxid

Piensa en estos como filtros de lista blanca. Déjalos en blanco y OScam le pregunta al lector por cualquier CAID que el lector mismo informe tener. Rellena caid = 1802 y le estás diciendo a OScam "solo pregunta a este lector sobre CAID 1802" — todo lo demás se ignora incluso si el lector técnicamente lo tiene. Esto es útil para recortar el tráfico ECM desperdiciado y mantener el balanceo de carga en orden, pero un valor CAID con error tipográfico produce un lector que se conecta bien y simplemente nunca recibe una sola solicitud ECM, lo que parece exactamente un problema de red pero no lo es. ident se estrecha aún más a identificadores de proveedor específicos dentro de un CAID, chid a identificadores de canal específicos, y boxid vincula un lector de red a un identificador de caja específico que algunos proveedores requieren. Deja todos estos vacíos cuando estés configurando un lector por primera vez, luego estrecha una vez que se confirme que funciona.

cccversion, cccmaxhops, ccckeepalive, cccwantemu

Estos solo se aplican a protocol=cccam y OScam los ignora por completo para todos los demás protocolos. cccversion establece la cadena de versión del protocolo CCcam que tu lector anuncia (2.3.0 es común). cccmaxhops limita cuántos enlaces puede haber una tarjeta y aún contar — más sobre esto en el ejemplo trabajado a continuación. ccckeepalive mantiene viva la sesión TCP con pings periódicos para que no se agote silenciosamente. cccwantemu le dice al par si estás dispuesto a aceptar fuentes emuladas (no de tarjeta) a través de ese enlace.

inactivitytimeout, reconnecttimeout, lb_weight, fallback, disablecrccws

Las líneas de ajuste. inactivitytimeout (segundos) desconecta y vuelve a conectar un lector que se ha quedado en silencio — útil para fuentes de red inestables. reconnecttimeout controla el retraso antes de volver a intentar una conexión fallida; aumenta esto si la red de tu caja tarda un tiempo en conectarse después de arrancar. lb_weight influye en cómo el balanceador de carga de OScam prioriza este lector frente a otros que sirven el mismo CAID — un peso más alto significa que se elige más a menudo, asumiendo que tu balanceo de carga está habilitado en oscam.conf. fallback = 1 marca un lector como último recurso, solo utilizado si tus lectores primarios no pueden responder. disablecrccws suprime una detección de intercambio de tarjeta basada en CRC específica que algunas configuraciones no necesitan.

Parámetros que solo se aplican a tarjetas físicas

mhz y cardmhz establecen la velocidad del reloj que OScam utiliza para comunicarse con una tarjeta inteligente física — los valores típicos son 357/357 o 600/357 dependiendo del hardware de la tarjeta y del lector. detect controla cómo OScam detecta la inserción/remoción de la tarjeta en algunos hardware de lector. readnano es para tipos de tarjeta específicos que necesitan un manejo adicional de ATR. Ninguno de estos hace nada en un protocolo de red. Aún veo bloques de cccam y newcamd publicados en foros con mhz=368 en ellos — es inofensivo, pero es peso muerto, y te dice que la persona que escribió la publicación no entendió completamente lo que estaba pegando tampoco.

Tres bloques de lector, completamente trabajados

La teoría está bien, pero viniste aquí para escribir un bloque funcional. Aquí hay tres, cubriendo las configuraciones que la gente realmente utiliza.

Una tarjeta inteligente local en un lector USB

Primero, encuentra la ruta del dispositivo real — no adivines. Ejecutadmesg | grep tty justo después de conectar el lector, o verificals /dev/serial/by-id/ para un nombre persistente que sobreviva a los reinicios (el orden de enumeración USB puede cambiar /dev/ttyUSB0 a /dev/ttyUSB1 después de un reinicio, lo que romperá silenciosamente una ruta codificada).

[reader]

Algunos lectores de estilo phoenix utilizan /dev/sci0 en su lugar, y los lectores de puerto serie más antiguos aparecen como /dev/ttyS0. Si la tarjeta es detectada pero estás recibiendo NEEDINIT intermitente, eso es muy a menudo el par mhz/cardmhz, no un problema de red o configuración — prueba 600/357 antes de asumir que la tarjeta o el lector están defectuosos.

Un lector de red a través de newcamd

[reader]

La línea clave es una clave DES de 14 bytes que te proporciona quienquiera que administre la fuente — no es algo que tú inventes. Ten en cuenta que caid se establece explícitamente aquí en lugar de dejarse en blanco; eso no es una convención opcional, es porque el protocolo newcamd generalmente lleva un CAID por puerto, por lo que la fuente espera que declares cuál estás conectando.

Un lector de red a través de cccam

[reader]

cccmaxhops = 2 significa que aceptarás tarjetas hasta dos enlaces de distancia: el salto 1 es la tarjeta local del par, el salto 2 es una tarjeta que ese par está compartiendo de alguien más. Aumentar esto a 5 no produce mágicamente más tarjetas — solo amplía lo que estás dispuesto a aceptar de más abajo en la cadena, y las tarjetas distantes tienden a significar respuestas ECM más lentas y menos confiables. Comienza en 1 o 2. Si tus tiempos ECM son malos, baja el número en lugar de aumentarlo.

Un lector cs378x entre dos cajas OScam en tu LAN

Si estás vinculando dos instalaciones de OScam que controlas, usa cs378x en lugar de camd35 — está encriptado, no te cuesta nada en rendimiento, y no hay razón para ejecutar la variante no encriptada en tu propia red en 2026.

[reader]

Y el lado correspondiente en el oscam.user de la caja upstream, para que puedas ver el emparejamiento de grupos de extremo a extremo:

[account]

Nota que group = 2 aparece en ambos lados. Ese es todo el truco — sin esa coincidencia, la conexión puede tener éxito a nivel de TCP/login y aún así nunca pasar una sola clave.

Leyendo el estado del lector: lo que CONNECTED, OFF y NEEDINIT te están diciendo

Aquí es donde el archivo de configuración deja de ser abstracto y comienza a ser depurable. La columna de estado en la pestaña de Lectores de la interfaz web es un instrumento de diagnóstico si sabes cómo leerlo.

OFF

O bien enable=0 está configurado en el bloque, o — mucho más a menudo para principiantes — el bloque nunca se analizó en absoluto. Regresa y confirma que el lector realmente aparece con la etiqueta que esperas. Si falta por completo, tienes un error de sintaxis o una etiqueta duplicada, no un problema de conectividad.

CONNECTING o NEEDINIT, en bucle

El bloque se analizó, pero el apretón de manos no se completa. Esto es casi siempre un puerto incorrecto, una palabra clave de protocolo incorrecta o credenciales incorrectas. Verifica device= contra protocol= — una línea de dispositivo newcamd apuntando a un puerto cccam se quedará en bucle aquí para siempre.

CONNECTED, pero cero ECMs enviados

Este es el caso de "conectado pero no decodificando" que todos eventualmente encuentran. CONNECTED solo confirma que la sesión TCP y el inicio de sesión tuvieron éxito — no dice nada sobre si realmente se le está pidiendo algo al lector. Verifica, en orden: ¿aparece el valor del grupo del lector en la línea de grupo de tu cliente en oscam.user, hay una línea caid/ident filtrando silenciosamente el canal que estás probando, y la lista de tarjetas del lector realmente contiene ese CAID/proveedor?

CONNECTED, ECMs enviados, todos "no encontrados"

Problema completamente diferente — esto significa que la solicitud está llegando al lector correctamente y está respondiendo honestamente que no tiene esa clave en particular. En ese punto, la fuente carece genuinamente del CAID o proveedor que estás probando; ningún cambio de configuración de tu parte soluciona eso.

Tail tu registro con algo comotail -f /tmp/oscam.log | grep myreader1 (la ubicación del registro proviene de logfile= en oscam.conf, no de oscam.server) y observa los contadores de enviado / encontrado / no encontrado / tiempo de espera en el lector mientras sintonizas un canal. Un contador de enviado que nunca se mueve significa que la solicitud nunca salió de tu caja — eso es un problema de enrutamiento/grupo/filtro. Un contador de enviado que sube mientras que encontrado se mantiene en cero significa que la fuente no lo tiene. Dos soluciones completamente diferentes, y los contadores son lo único que los distingue.

Editando de manera segura: Reglas de sintaxis, recargas y copias de seguridad

Unos pocos hábitos te ahorrarán tiempo real aquí. Los comentarios comienzan con #, y en algunas versiones un comentario en línea después de un valor en la misma línea no se respeta — pon los comentarios en su propia línea para estar seguro. El espacio en blanco y el caso importan más de lo que la gente espera: protocol=cccam funciona en todas partes, pero protocol = cccam con espacios alrededor del signo igual no se analiza en algunas versiones más antiguas. Cuando tengas dudas, elimina los espacios.

Reiniciar vuelve a leer toda la configuración desde el disco, incluyendo oscam.server. Recargar (donde esté disponible) es más ligero y vuelve a leer un conjunto más reducido de configuraciones — cuando no estás seguro de cuál recogió tu cambio, usa Reiniciar y verifica la pestaña de Lectores.

Aquí está el que quema a la gente: la interfaz web de OScam, cuando guardas cualquier página de configuración, puede reescribir oscam.server desde su propio modelo en memoria. Esa reescritura elimina comentarios y descarta cualquier parámetro que tu versión particular no reconozca. Así que mantén una copia de seguridad fuera del directorio de configuración — cp oscam.server oscam.server.bak — antes de tocar cualquier cosa en el editor web. Si dependes de los comentarios para recordar lo que hace un bloque, edita a través de SSH en lugar de a través de la pestaña de Archivos.

En imágenes de Enigma2/Dreambox específicamente, ten cuidado con los directorios de configuración enlazados simbólicamente o de solo lectura. Las ediciones a través de la interfaz web pueden parecer guardarse bien y luego revertirse después de un reinicio porque el archivo real que OScam lee vive en otro lugar — /etc/tuxbox/config frente a /usr/keys es un desajuste común en estas imágenes. Verifica el ConfigDir en la página de estado nuevamente si los cambios no se mantienen.

Última cosa: no todos los parámetros existen en todas las versiones de OScam. Ejecuta oscam -V para ver la información de tu versión, y verifica el readme que se envió con tu fuente específica en lugar de confiar en un parámetro que encontraste en una publicación de foro de hace cinco años. Los parámetros desconocidos no se rechazan ruidosamente — generalmente solo se ignoran, que es exactamente por qué los bloques copiados y pegados con líneas adicionales "funcionan" mientras que esas líneas adicionales no hacen absolutamente nada.

Eligiendo una fuente de lector sin quemarse

Vale la pena ser directo sobre esto: el propósito legítimo de OScam es permitir que alguien con una tarjeta de suscripción válida la use en sus propios dispositivos en su propia red — leyendo tu propia tarjeta desde una caja sin cabeza en un armario en lugar de dejar un receptor conectado directamente a la TV. Compartir una suscripción fuera de tu propio hogar va en contra de los términos de prácticamente todos los proveedores y es ilegal en muchas jurisdicciones. Esta guía trata sobre entender el archivo de configuración, no sobre obtener acceso al que no tienes derecho.

Si estás evaluando una fuente de lector de red para tu propia suscripción legal, júzgala por cosas medibles en lugar de promesas. Un tiempo de respuesta ECM razonable está muy por debajo de un segundo en un enlace saludable — si ves múltiples segundos de manera consistente, algo está mal río arriba. El conteo de saltos importa, como se cubrió anteriormente: una fuente que insiste en cccmaxhops de 5 o más para "conseguir todo" te está pidiendo que aceptes tarjetas distantes y poco fiables en lugar de arreglar su propia configuración. La cobertura de CAID debe ser específica y verificable, no una vaga afirmación de "todo".

Banderas rojas que valen la pena evitar: una lista de CAID que es irrealmente amplia para lo que deberían ser una o dos tarjetas de suscripción, ninguna disposición para dejarte probar antes de comprometerte a nada, o cualquier presión para desactivar el registro o ocultar a qué te estás conectando. Y nunca reutilices el mismo nombre de usuario y contraseña en múltiples fuentes — trata cada conjunto de credenciales de lector como su propio inicio de sesión aislado, de la misma manera que tratarías cualquier otra cuenta.

¿Dónde se encuentra oscam.server?

Las rutas más comunes son /usr/local/etc/oscam.server en versiones de fuente y /etc/tuxbox/config/oscam.server en receptores Enigma2, con algunas imágenes guardándolo bajo /var/keys/. La respuesta autoritativa es lo que muestra ConfigDir en la página de estado de la interfaz web de OScam, o la ruta que pasaste con la bandera -c al inicio. Verifícalo — no asumas basándote en lo que funcionó en otra caja.

¿Cuál es la diferencia entre oscam.server, oscam.user y oscam.conf?

oscam.conf contiene configuraciones globales — protocolos habilitados, sus puertos de escucha y acceso a la interfaz web. oscam.server define lectores, lo que significa cada fuente que puede descifrar para ti, ya sea una tarjeta local o un par remoto. oscam.user define clientes, lo que significa todos los que tienen permiso para pedir claves a tu instancia de OScam. El parámetro de grupo es el cable que conecta un lector en oscam.server a un cliente en oscam.user.

Mi lector muestra CONECTADO pero nada se decodifica. ¿Por qué?

CONECTADO solo significa que la sesión TCP y el inicio de sesión tuvieron éxito. Verifica tres cosas en orden: el valor de grupo del lector aparece en la línea de grupo del cliente en oscam.user, ninguna línea de caid/ident está filtrando el CAID del canal, y la lista real de tarjetas del lector contiene ese CAID/proveedor. Observa si el contador de "enviado" de ECM para ese lector se mueve en absoluto — si se mantiene en cero, es un problema de enrutamiento/grupo/filtro, no un problema con la fuente en sí.

¿Necesito establecer caid e ident en cada bloque de lector?

No. Déjalos en blanco y OScam usará lo que el lector informe. Establece estos valores cuando quieras restringir un lector a CAIDs específicos — para reducir el tráfico ECM desperdiciado o mantener el balanceo de carga predecible — o cuando el protocolo lo requiera efectivamente, ya que newcamd típicamente necesita un caid explícito porque cada puerto newcamd sirve un CAID. Un valor de CAID incorrecto aquí produce un lector que nunca recibe un solo ECM, sin ningún error que te diga por qué.

¿Qué controla realmente cccmaxhops, y debería aumentarlo?

Limita cuántos enlaces puede haber entre una tarjeta y aún ser aceptada de ese par CCcam. El salto 1 es la propia tarjeta del par; el salto 2 es una tarjeta que el par obtuvo de alguien más más arriba en la cadena. Aumentar este número no crea tarjetas que no están allí — solo admite tarjetas más distantes, típicamente más lentas y menos fiables. Comienza en 1 o 2, y si los tiempos de ECM empeoran, bájalo en lugar de aumentarlo.

¿Por qué desaparecieron mis comentarios y líneas personalizadas de oscam.server?

Guardar cualquier página de configuración en la interfaz web de OScam puede reescribir todo el archivo desde el modelo en memoria de OScam, lo que elimina comentarios y cualquier parámetro que tu versión no reconozca. Mantén una copia de seguridad fuera del directorio de configuración antes de usar el editor web — cp oscam.server oscam.server.bak — y edita a través de SSH en su lugar si dependes de los comentarios para rastrear lo que hace cada bloque.

¿Puedo tener dos bloques de lector con la misma etiqueta?

No. La etiqueta es la identidad del lector en toda la configuración, la interfaz web, los registros y oscam.user. Las etiquetas duplicadas hacen que un bloque sea descartado o sobrescrito silenciosamente, y el síntoma es un lector que simplemente falta en la pestaña de Lectores sin ninguna explicación. Mantén las etiquetas únicas y cortas, sin espacios donde sea posible.