Buenas a todos,
Este es un post abierto para crear una guía sobre Oscam, de forma que se pueda entender cómo funciona y los principales parámetros para que cada uno pueda configurarlo o entienda las configuraciones que descarga.
Como decía, es un post abierto, así que id comentando cosas que falten por poner sobre lo que ya se ha comentado, cosas que veáis que están mal o se deberían explicar de otra forma, y cosas o trucos que cada uno tenga para mejorar el rendimiento.
Lucifer y Fundi ya se han animado, pero que cada uno cuente lo que sepa!
Dado que lo que yo sé es poco, y cogido con pinzas, no aportaré mucho salvo labor "administrativa"
Hay muchos parámetros de los ya comentados a los que falta explicación. Y cualquier parámetro que no aparezca y tenga su importancia, por favor, comentadlo y se irá añadiendo a la guía.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bueno, una definición muy poco ortodoza de Oscam podría ser que es un todo en uno, es decir, es un emulador (simula un receptor oficial), es un lector de tarjetas que permite acceder a las tarjetas nacionales entre otras, es un cliente y servidor de diferentes protocolos (cccam, newcam, cam3d, etc), y además sirve para poder visualizar los contenidos.
Oscam en sí puede hacer de cliente y servidor de protocolos tan extendidos como cccam (es el método que yo uso). Aún así, si el usuario lo prefiere, puede por ejemplo tener su versión externa de cccam, que se conectará con oscam a través de una línea N (o C), de forma que el cliente/servidor del protocolo cccam lo lleve un módulo Cccam externo.
La mejor forma de entrar en contacto es centrarnos en los diferentes ficheros de configuración que oscam tiene, e ir explicando en cada uno de ellos los módulos de los que consta, y los principales parámetros que se pueden usar para optimizar el uso.
Oscam.conf
Este fichero es el ejerce central de funcionamiento de oscam, y contiene la configuración general de cómo queremos que se comporte.
Dentro de este fichero aparecen diferentes módulos (obligatorios o no) para adecuar oscam al funcionamiento que nosotros queremos.
[Global]
En esta sección se definen parámetros sobre el funcionamiento general de oscam. Tiene infinidad de parámetros, de los cuales, comentaré los que yo uso y lo que entiendo de ellos. Conforme la gente vaya ampliando/corrigiendo esta información, iré actualizando.
- Nice: Este parámetro fija la prioridad que se le da al proceso oscam en el sistema, para poder obtener recursos. Según la wiki, puede tener valores entre -20 y 20 (siendo -20 el máximo de prioridad y 20 el mínimo). Aún así, en la propia wiki dicen que el valor por defecto es 99 (fuera de rango). En casi todas las configuraciones que he visto, este valor está a -1, dándole apenas un poco de prioridad en el uso de cpu. En mi experiencia (Golden Media 990), el uso de cpu puede irse por encima del 90%.
- lb_mode: Este parámetro es muy importante, y nos indica si queremos o no hacer balanceo de carga. Generalmente, cuando necesitamos una ecm como cliente, hacemos una petición a los server para obtener respuesta. Este parámetro indica cómo será dicha petición.
Si ponermos el valor 0, se hará la petición siempre a todos los server que haya. Esta forma es poco eficiente, dado que tanto para las ecm que necesitamos nosotros, como las de nuestros clientes, pedimos constantemente a todos los server aunque sólo uno vaya a servirnos, llegando a inundar de peticiones fácilmente.
Si ponemos el valor 1, lanzamos un número de peticiones a todos los server, midiendo la velocidad, y finalmente nos quedamos con el más rápido.
Si ponemos el valor 2, lanzamos las peticiones al servidor que haga más tiempo que no le pedimos nada.
Si ponemos el valor 3, lanzamos las peticiones al servidor que menos hemos usado.
Dependiendo de los clientes que tengas, las opciones 1 o 2 parecen las más indicadas.
-lb_save: Nos indica cada cuantas peticiones ecm queremos actualizar las estadísticas que sirven para que el lb_mode tome decisiones. Se recomienda un valor mínimo de 100 para no sobrecargar la cpu. Yo le tengo puesto 150.
- preferlocalcards: Este parámetro si se pone a 1 indica que en primer lugar busquemos las tarjetas para poder decodificar. Si se deja a 0 o por defecto, imagino que no dará prioridad entre ninguno de los server disponibles.
- clienttimeout: Parece ser un parámetro importante, aunque aún no tengo claro la lógica de funcionamiento. Es el tiempo que oscam espera para tener una key (ecm?) de un cliente antes de declarar timeout (valor en segundos hasta 100. Desde 100, se toman milisegundos). Yo lo tengo en 7500 (7,5 segundos). Para saber qué valor es mejor poner aquí debería tener más claro como funcionan los timeouts y las peticiones de nuevos ecm en caso de timeout. Ayuda es bienvenida
Lucifer añade este escrito:
el cliente envia la ecm al servidor
el servidor desencrypta y envia las cw de visionado al cliente
Si este proceso dura mas del tiempo que determinemos en ese parámetro pues dara timeout y pasara a la siguiente ecm.
los tiempos normales para que no se produzcan cortes, o sea el proceso desde que el cliente manda la ecm y recibe la cw del servidor pues pueden estar entre 200-400 ms como muy rapido hasta unos 2000 ms a partir de ahi pues es normal que se produzcan ya algunos cortes, por lo que ese parametro se podria poner en 2500 0 3000 ms para que de time out por que mas tiempo de espera produce cortes, por lo tanto es tonteria estar esperando una cw 7,5 segundos.
no es que se manden un numero de peticiones a los server, si no que en el caso de valor 1 por ejemplo:
mide la velocidad media de respuesta en 5 ecm, es decir:
lo que ha tardado el servidor en procesar como media la peticion de la ecm y la recepcion de la cw, realizada esta media tomando como base 5 envios de ecm.
- cachedelay: valor para retrasar las peticiones de caché. Yo, por lo visto en foros, lo tengo a 150, pero no sé ni lo que son las peticiones de caché y por lo tanto, cuales son los mejores valores
- Cualquier otro parámetro que sea importante para mejorar el funcionamiento de oscam, es bienvenido y yo lo iré añadiendo aquí
Lucifer añade este escrito:
Se guarda como asi dijeramos un cache de ecms, asi si se repite pues como ya la tenemos guardada (en cache), pues se tarda menos en darnos la cw de visionado ya que esa ya se desencrypto.
en este parametro serian 150 ms en que que si no lo hacemos por cache pues se haga normal, es decir que en cache como maximo 150ms, este parametro pues se puede dejar en ese tiempo o como mucho a 300 ms.
[dvbapi]
Este módulo de software es el encargado de desencriptar la señal de video para poder decodificarla/visualizarla. Recibe la información del lector de tarjetas o de otro server para poder presentar la imagen en pantalla.
- enabled: Para poder activarlo, este campo debe estar a 1.
- user: Es el usuario que queremos poner al módulo. Podemos usar cualquiera, aunque como se verá al definir los clientes, deberá ser el mismo que se use allí para poder visualizar los canales. Es el usuario que tambíen aparece en el webinf mostrando la información de nuestra propia actividad sobre el deco.
- boxtype: Es el tipo de deco usado. No sé la importancia de este parámetro. En muchas config para nuestro deco he visto que la gente pone "dreambox" (sin comillas) como valor, cuando está disponible gm990.
-au: Modo de AutoUpdate para el dvbapi, pero qué significa esto exactamente?? Alguien que explique qué es y para qué sirve. A 0 está desactivado, a 1 está activado y a 2 no tengo muy claro lo que hace. En mi configuración esta activo, pero no sé porqué
Aparte, hay una serie de parámetros que no están en la wiki (imagino que han desaparecido en las últimas versiones) pero yo tengo en mi config:
demux = /dev/dvb/adapter0/demux0
ca = /dev/dvb/adapter0/ca0
socket = /tmp/pmt.tmp
Como digo, no sé ni para qué sirven ni si ya no son necesarios.
[webif]
Este módulo es un servidor web para poder acceder al estado y configuración de oscam de forma gráfica. De esta forma, desde un navegador web podemos tener estadísticas, status, configurar ficheros, etc.
- httpport: El puerto desde que estará el deco escuchando. Para posteriormente acceder al servicio, habrá que poner en un navegador web ip_del_deco:XXXX, siendo XXXX el valor numérico que le hemos dado a este campo.
- httpuser: Usuario con el que habrá que logarse.
- httppwd: password para poder acceder con el usuario anterior.
- httpallowed: Un listado de las ips desde las que queremos poder acceder al servicio. Dependerá de como esté configurada la red local, pero poner en este campo "192.168.0.0-192.168.255.255" debería hacer accesible a todos los pcs de la red local.
[monitor]
Para mi, el gran desconocido, ya que no tengo nada clara su misión. Lo tengo configurado porque venía en las configuraciones que he visto, pero bueno, cuando sepa la utilidad de este módulo, iré actualizando.
[cccam]
En caso de querer usar oscam como servidor de cccam, deberemos definir este apartado. Como comenté antes, hay muchos protocolos integrados en oscam, como el Newcamd con el que podríamos generar una "línea N" para que la recibiera un Cccam independiente que fuera el que hiciera de servidor. Yo tengo condigurado el servidor cccam interno de oscam, por lo que tengo este módulo en mi archivo .conf
- port: Este es el puerto en el que cccam va a estar escuchando peticiones (y que debe estar abierto en el router).
-reshare: Aquí ponemos el valor de reshare que queremos dar con cccam. Es decir, si ponemos valor 1, sólo nuestros clientes podrán ver lo que servimos. Si ponemos dos, lo podr´ñan ver nuestros clientes, y a su vez los clientes de nuestros clientes. Y así sucesivamente. Al igual que sucede en cccam, este es valor "máximo" que nosotros podemos ofrecer, pero si a nosotros nos limitan y por ejemplo tenemos un cliente que nos da sólo a nosotros, no podremos mandar nada de el a uno de nuestros clientes independientemente del valor que hayamos puesto en reshare.
- version: Aquí se indica la versión de cccam. Supongo que es la versión que los clientes verán, ya que al estar integrada en oscam no sé si se podrá elegir versión. Además, he visto que en diferentes binarios de oscam, si este parámetro está presente se produce un error y no arranca.
- build: Parámetro que aparece en los ficheros de configuración de la red, pero no en la wiki, luego supongo que será un parámetro antiguo que no es necesario.
[anticasc]
Este módulo es un mecanismo de defensa que tiene oscam para evitar que los clientes puedan hacernos demasiadas peticiones, manteniendo la salud de nuestro server. Los principales parámetros son:
-enabled: 1 para activar el sistema y 0 para desactivarlo.
- numusers: Número de clientes por cuenta. Con este parámetro controlamos el número de peticiones por minuto que aceptamos de un cliente. La fórmula que utiliza oscam para determinar el número de ecm's permitidas es:
(numusers*100+80)/(X*100/60) siendo X el valor definido en el fichero oscam.ac para cada caid.
De esta forma, si por ejemplo en oscam.ac tenemos definido (veremos cómo) un valor 5 y ponemos numusers=2, tendremos un límite de 33 ecms por minuto.
0-->desactivamos el antica....
1-->cascading por un cliente permitido: (1*100+80)/(10*100/60---> 11 ecm permitidas por minuto
2-->cascading por dos clientes permitido: (2*100+80)/(10*100/60) = 17 ecms
El archivo oscam.ac se pondria asi:
0100:004106=10
viene relacionado:
0100-->caid
004106-->providers
10-->serian los segundos esto viene de: normalmente en seca las ecm se reciben cada 10 segundos, por lo tanto pues se pone 10.
- sample: ecm adicionales permitidas se puede poner de 2 a 10 por lo tanto si ponemos 8 pues serian 8 ecm permitidas en el caso anterior pues en vez de 55 seria 63.
- sampletime: ecms permitidas en x minutos, por ejemplo si ponemos 5 serian 5 minutos y serian permitidas las siguientes ecm:
Si numuuser es 1 como hemos visto serian 11 ecm, pues en 5 minutos de sampletime, tenemos 11x5 = 55 ecm permitidas en 5 minutos.
- penalty: Aquí definimos qué queremos que suceda con los usuarios que superen el límite que hemos definido antes. Si ponemos el valor 0, se alacenará en un log a los usuarios que lo superen, de forma que podemos controlarlos, ver si alguno supera el límite esporádicamente o de forma continua, etc. Si ponemos valor 1 a este parámetro, cuando el cliente supere el límite se le mandarán ecm fake, de forma que seguirá conectado con nosotros, pero verá una pantalla negra. No creo que sea buena opción
Si ponemos el valor 2, al superar el límite se baneará temporalmente al usuario. Si se pone el valor 3, se le mandarán al usuario los ecm, pero con retraso, buscando que entonces se vaya a otro servidor que tarde menos que nosotros. El tiempo de retardo se dice en el parámetro fakedelay.
-fakedelay: ver punto anterior.
- aclogfile: ruta al fichero de log que registrará la actividad de este módulo.
Oscam.ac
En este archivo se almacenan los tiempos en los que cada proveedor manda las cw a las tarjetas para actualizar los códigos de desencriptación. El valor que se ponga a cada proveedor se usa en la fórmula de anticascading para saber el número de ecms permitidas por minuto.
Se pondria algo asi:
0100:004106=10
*=7
Esto quiere decir:
0100-->caid
004106-->providers
10-->serian los segundos esto viene de: normalmente en seca las ecm se reciben cada 10 segundos, por lo tanto pues se pone 10.
Para el resto de proveedores no especificados, se signa el valor 7 en este caso.
Oscam.server
En este archivo se definen todos los "lectores" de los que oscam obtendrá las cw. Es decir, aquí se configuran los lectores de tarjeta propiamente dichos, y los server que tengamos (es como añadir las líneas C en cccam, líneas N en Newcamd, etc).
En primer lugar vamos a ver un ejemplo de configuración de Fundi para la tarjeta gris, y explicar más o menos los parámetros importantes. De la red se pueden descargar otras configuraciones para otro tipo de tarjetas, pero lo que se busca aquí es entenderlo de forma que después cada uno adapte el lector interno a lo que tiene en nuestro GM990.
- label: Este es el nombre que le queramos poner al lector. Este nombre aparece después en la información del webif.
- protocol: Aquí se indica el protocolo para este "lector" o "servidor". En el caso de que estemos ante nuestro lector interno, debemos poner la opción "internal". Si estamos definiendo un server cccam, deberemos escribir "cccam", etc. Los valores más típicos serían:
mouse -> Creo que para por ejemplo, un lector externo usb
internal -> Para el lector de tarjetas interno de nuestro GM990.
cccam -> Para definir el equivalente de una línea C y conectar con el servidor cccam.
gbox -> Para el caso de bbox
newcamd -> En el caso de definir una línea N.
- detect: Es el modo en que se detecta cuando se mete la tarjeta. El valor por defecto es "CD", que al menos para la gris funciona.
- device: Es en cierto modo la ubicación del servidor, a donde oscam va a enviar las peticiones. En el caso de que estemos definiendo el lector de tarjetas, ponemos en este campo la ubicación de la misma, que en nuestro golden es "/dev/sci0". Si estamos definiendo un servidor cccam por ejemplo, aquí ponemos la ruta del mismo: "IP,puerto"....por ejemplo "dominio.no-ip.info,20000".
- cardmhz: Es la velocidad estándar de lectura de la tarjeta. Imagino que estos valores los habrá obtenido Fundi de algún lado, ya que para la gris, se usa el valor por defecto de "357" (3,57 Mhz).
- mhz: Es la velocidad con la que se leerá la tarjeta realmente, en múltiplos de 10 Khz. En caso de que este valor sea mayor que el anterior, se estará haciendo un overclocking. Por ejemplo para la gris, se usa un valor de "500" (5 Mhz).
- group: Este parámetro se usa para todo tipo de lectores y sirve para agrupar los diferentes servidores que tengamos. Podemos agrupar varios de ellos en un grupo 1, otros en un grupo 2, etc, de forma que despues a los clientes les demos acceso sólo a un grupo, a 2 o a todos. Es una forma de determinar a qué servidores pueden acceder determinados clientes.
- lb_weight: Es el peso que le damos a un servidor concreto en base a una tabla de oscam (Se puede consultar en la wiki). El valor por defecto es 100. Dándole un valor por encima de 100 a un reader, estaremos dándole más peso a dicho receptor, siendo más probable que el nos dé la respuesta cw. Si le damos menos de 100, será menos probable.
- user: En caso de estar definiendo un servidor cccam por ejemplo, el usuario que nos han dado.
- password: Para el mismo caso del punto anterior, la password.
Los siguientes parámetros tienen relación con la actualización automática de las tarjetas, posibilidad de comprar eventos, etc. No tengo muy claro como es el proceso de actualización si si se debe mantener o bloquear, pero el significado de los parámetros es este:
- blockemm-u: Si se pone este parámetro a 1, se bloquean las emm's cuyo destino único sea esta tarjeta/server.
- blockemm-g: Si se pone este parámetro a 1, se bloquean las emm's globales cuyo destino único sean todas las tarjetas/server.
- blockemm-unknown: Si se pone este parámetro a 1, se bloquean las emm's de las que no se sepa el tipo.
- emmcache: Activa la cache de emm para el lector local. Sin este parámetro activo, no se verá la inofrmación de emms en el webif. Este parámetro está formado por una terna de valores, que en la wiki definen así:
emmcache = <usecache>,<rewrite>,<logging>
* <usecache> 0 = # Desactivar EMM caching (por defecto)
* <usecache> 1 = # Activar EMM caching
* <rewrite> n = # Determina cada cuanto tiempo la misma emm es escrita cuando usecache está activa.
* <logging> 0 = # EMM logging desactivado.
* <logging> 1 = # logging de los errores EMM.
* <logging> 2 = # logging de los EMMs escritos.
* <logging> 4 = # logging de los EMMs saltados.
* <logging> 8 = # logging de los EMMs bloqueados.
* <logging> 16 = # logging de los EMMs "audisabled"
Por ejemplo si ponemos "1,3,2" le indicamos que lo active, que la misma emm sea escrita cada 3 minutos y que se haga logging de los emm escritos.
Ahora vienen otros parámetros de los que no tengo muy claro como funcionan y en qué afectan al funcionamiento, pero que tengo definidos. Si alguien nos explica qué es el caid, y como afectan estos campos al funcionamiento, es más que bienvenido!
- caid: Define y mapea caids al lector. Para la gris, 0100.
- ident: ?¿?¿
- ecmwhitelist: Define la longitud de los ecm y el ident para el caid de la tarjeta.
- fallback: ?¿?¿
Aparte, para definir los server de diferentes protocolos, como cccam, hay parámetros específicos. Comentamos los de cccam:
- cccversion: Define la versión de cccam. ¿Es imporatnte?
- cccmaxhops: Para controlar las distancias que queremos recibir. Si ponemos valor "0", sólo aceptamos que nos sirvan locales. Si ponemos valor "1", aceptamos que nos sirvan locales y hop1. Así sucesivamente.
- cccreshare: Si está a valor -1 o sin valor, se toma el reshare definido en oscam.conf. Si se especifica un valor, se tomará para el reader en cuestión "ignorando" el valor general de oscam.conf.
Oscam.srvid
Este archivo contiene el listado de canales y los códigos de cada uno, de forma que por ejemplo el webif de Oscam, nos muestre el nombre de canal. Estos ficheros se pueden obtener actualizados de la red.
Un ejemplo de líneas de estos ficheros es:
0100:746D|D+ [Seca]|C+ COMEDIA
0100:746E|D+ [Seca]|C+ DCINE
0100:7736|D+ [Seca]|DCINE ESPAÑOL
Este es un post abierto para crear una guía sobre Oscam, de forma que se pueda entender cómo funciona y los principales parámetros para que cada uno pueda configurarlo o entienda las configuraciones que descarga.
Como decía, es un post abierto, así que id comentando cosas que falten por poner sobre lo que ya se ha comentado, cosas que veáis que están mal o se deberían explicar de otra forma, y cosas o trucos que cada uno tenga para mejorar el rendimiento.
Lucifer y Fundi ya se han animado, pero que cada uno cuente lo que sepa!
Dado que lo que yo sé es poco, y cogido con pinzas, no aportaré mucho salvo labor "administrativa"
Hay muchos parámetros de los ya comentados a los que falta explicación. Y cualquier parámetro que no aparezca y tenga su importancia, por favor, comentadlo y se irá añadiendo a la guía.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bueno, una definición muy poco ortodoza de Oscam podría ser que es un todo en uno, es decir, es un emulador (simula un receptor oficial), es un lector de tarjetas que permite acceder a las tarjetas nacionales entre otras, es un cliente y servidor de diferentes protocolos (cccam, newcam, cam3d, etc), y además sirve para poder visualizar los contenidos.
Oscam en sí puede hacer de cliente y servidor de protocolos tan extendidos como cccam (es el método que yo uso). Aún así, si el usuario lo prefiere, puede por ejemplo tener su versión externa de cccam, que se conectará con oscam a través de una línea N (o C), de forma que el cliente/servidor del protocolo cccam lo lleve un módulo Cccam externo.
La mejor forma de entrar en contacto es centrarnos en los diferentes ficheros de configuración que oscam tiene, e ir explicando en cada uno de ellos los módulos de los que consta, y los principales parámetros que se pueden usar para optimizar el uso.
Oscam.conf
Este fichero es el ejerce central de funcionamiento de oscam, y contiene la configuración general de cómo queremos que se comporte.
Dentro de este fichero aparecen diferentes módulos (obligatorios o no) para adecuar oscam al funcionamiento que nosotros queremos.
[Global]
En esta sección se definen parámetros sobre el funcionamiento general de oscam. Tiene infinidad de parámetros, de los cuales, comentaré los que yo uso y lo que entiendo de ellos. Conforme la gente vaya ampliando/corrigiendo esta información, iré actualizando.
- Nice: Este parámetro fija la prioridad que se le da al proceso oscam en el sistema, para poder obtener recursos. Según la wiki, puede tener valores entre -20 y 20 (siendo -20 el máximo de prioridad y 20 el mínimo). Aún así, en la propia wiki dicen que el valor por defecto es 99 (fuera de rango). En casi todas las configuraciones que he visto, este valor está a -1, dándole apenas un poco de prioridad en el uso de cpu. En mi experiencia (Golden Media 990), el uso de cpu puede irse por encima del 90%.
- lb_mode: Este parámetro es muy importante, y nos indica si queremos o no hacer balanceo de carga. Generalmente, cuando necesitamos una ecm como cliente, hacemos una petición a los server para obtener respuesta. Este parámetro indica cómo será dicha petición.
Si ponermos el valor 0, se hará la petición siempre a todos los server que haya. Esta forma es poco eficiente, dado que tanto para las ecm que necesitamos nosotros, como las de nuestros clientes, pedimos constantemente a todos los server aunque sólo uno vaya a servirnos, llegando a inundar de peticiones fácilmente.
Si ponemos el valor 1, lanzamos un número de peticiones a todos los server, midiendo la velocidad, y finalmente nos quedamos con el más rápido.
Si ponemos el valor 2, lanzamos las peticiones al servidor que haga más tiempo que no le pedimos nada.
Si ponemos el valor 3, lanzamos las peticiones al servidor que menos hemos usado.
Dependiendo de los clientes que tengas, las opciones 1 o 2 parecen las más indicadas.
-lb_save: Nos indica cada cuantas peticiones ecm queremos actualizar las estadísticas que sirven para que el lb_mode tome decisiones. Se recomienda un valor mínimo de 100 para no sobrecargar la cpu. Yo le tengo puesto 150.
- preferlocalcards: Este parámetro si se pone a 1 indica que en primer lugar busquemos las tarjetas para poder decodificar. Si se deja a 0 o por defecto, imagino que no dará prioridad entre ninguno de los server disponibles.
- clienttimeout: Parece ser un parámetro importante, aunque aún no tengo claro la lógica de funcionamiento. Es el tiempo que oscam espera para tener una key (ecm?) de un cliente antes de declarar timeout (valor en segundos hasta 100. Desde 100, se toman milisegundos). Yo lo tengo en 7500 (7,5 segundos). Para saber qué valor es mejor poner aquí debería tener más claro como funcionan los timeouts y las peticiones de nuevos ecm en caso de timeout. Ayuda es bienvenida
Lucifer añade este escrito:
el cliente envia la ecm al servidor
el servidor desencrypta y envia las cw de visionado al cliente
Si este proceso dura mas del tiempo que determinemos en ese parámetro pues dara timeout y pasara a la siguiente ecm.
los tiempos normales para que no se produzcan cortes, o sea el proceso desde que el cliente manda la ecm y recibe la cw del servidor pues pueden estar entre 200-400 ms como muy rapido hasta unos 2000 ms a partir de ahi pues es normal que se produzcan ya algunos cortes, por lo que ese parametro se podria poner en 2500 0 3000 ms para que de time out por que mas tiempo de espera produce cortes, por lo tanto es tonteria estar esperando una cw 7,5 segundos.
Código:
Si ponemos el valor 1, lanzamos un número de peticiones a todos los server, midiendo la velocidad, y finalmente nos quedamos con el más rápido.
Si ponemos el valor 2, lanzamos las peticiones al servidor que haga más tiempo que no le pedimos nada.
Si ponemos el valor 3, lanzamos las peticiones al servidor que menos hemos usado.
Dependiendo de los clientes que tengas, las opciones 1 o 2 parecen las más indicadas.
no es que se manden un numero de peticiones a los server, si no que en el caso de valor 1 por ejemplo:
mide la velocidad media de respuesta en 5 ecm, es decir:
lo que ha tardado el servidor en procesar como media la peticion de la ecm y la recepcion de la cw, realizada esta media tomando como base 5 envios de ecm.
- cachedelay: valor para retrasar las peticiones de caché. Yo, por lo visto en foros, lo tengo a 150, pero no sé ni lo que son las peticiones de caché y por lo tanto, cuales son los mejores valores
- Cualquier otro parámetro que sea importante para mejorar el funcionamiento de oscam, es bienvenido y yo lo iré añadiendo aquí
Lucifer añade este escrito:
Se guarda como asi dijeramos un cache de ecms, asi si se repite pues como ya la tenemos guardada (en cache), pues se tarda menos en darnos la cw de visionado ya que esa ya se desencrypto.
en este parametro serian 150 ms en que que si no lo hacemos por cache pues se haga normal, es decir que en cache como maximo 150ms, este parametro pues se puede dejar en ese tiempo o como mucho a 300 ms.
[dvbapi]
Este módulo de software es el encargado de desencriptar la señal de video para poder decodificarla/visualizarla. Recibe la información del lector de tarjetas o de otro server para poder presentar la imagen en pantalla.
- enabled: Para poder activarlo, este campo debe estar a 1.
- user: Es el usuario que queremos poner al módulo. Podemos usar cualquiera, aunque como se verá al definir los clientes, deberá ser el mismo que se use allí para poder visualizar los canales. Es el usuario que tambíen aparece en el webinf mostrando la información de nuestra propia actividad sobre el deco.
- boxtype: Es el tipo de deco usado. No sé la importancia de este parámetro. En muchas config para nuestro deco he visto que la gente pone "dreambox" (sin comillas) como valor, cuando está disponible gm990.
-au: Modo de AutoUpdate para el dvbapi, pero qué significa esto exactamente?? Alguien que explique qué es y para qué sirve. A 0 está desactivado, a 1 está activado y a 2 no tengo muy claro lo que hace. En mi configuración esta activo, pero no sé porqué
Aparte, hay una serie de parámetros que no están en la wiki (imagino que han desaparecido en las últimas versiones) pero yo tengo en mi config:
demux = /dev/dvb/adapter0/demux0
ca = /dev/dvb/adapter0/ca0
socket = /tmp/pmt.tmp
Como digo, no sé ni para qué sirven ni si ya no son necesarios.
[webif]
Este módulo es un servidor web para poder acceder al estado y configuración de oscam de forma gráfica. De esta forma, desde un navegador web podemos tener estadísticas, status, configurar ficheros, etc.
- httpport: El puerto desde que estará el deco escuchando. Para posteriormente acceder al servicio, habrá que poner en un navegador web ip_del_deco:XXXX, siendo XXXX el valor numérico que le hemos dado a este campo.
- httpuser: Usuario con el que habrá que logarse.
- httppwd: password para poder acceder con el usuario anterior.
- httpallowed: Un listado de las ips desde las que queremos poder acceder al servicio. Dependerá de como esté configurada la red local, pero poner en este campo "192.168.0.0-192.168.255.255" debería hacer accesible a todos los pcs de la red local.
[monitor]
Para mi, el gran desconocido, ya que no tengo nada clara su misión. Lo tengo configurado porque venía en las configuraciones que he visto, pero bueno, cuando sepa la utilidad de este módulo, iré actualizando.
[cccam]
En caso de querer usar oscam como servidor de cccam, deberemos definir este apartado. Como comenté antes, hay muchos protocolos integrados en oscam, como el Newcamd con el que podríamos generar una "línea N" para que la recibiera un Cccam independiente que fuera el que hiciera de servidor. Yo tengo condigurado el servidor cccam interno de oscam, por lo que tengo este módulo en mi archivo .conf
- port: Este es el puerto en el que cccam va a estar escuchando peticiones (y que debe estar abierto en el router).
-reshare: Aquí ponemos el valor de reshare que queremos dar con cccam. Es decir, si ponemos valor 1, sólo nuestros clientes podrán ver lo que servimos. Si ponemos dos, lo podr´ñan ver nuestros clientes, y a su vez los clientes de nuestros clientes. Y así sucesivamente. Al igual que sucede en cccam, este es valor "máximo" que nosotros podemos ofrecer, pero si a nosotros nos limitan y por ejemplo tenemos un cliente que nos da sólo a nosotros, no podremos mandar nada de el a uno de nuestros clientes independientemente del valor que hayamos puesto en reshare.
- version: Aquí se indica la versión de cccam. Supongo que es la versión que los clientes verán, ya que al estar integrada en oscam no sé si se podrá elegir versión. Además, he visto que en diferentes binarios de oscam, si este parámetro está presente se produce un error y no arranca.
- build: Parámetro que aparece en los ficheros de configuración de la red, pero no en la wiki, luego supongo que será un parámetro antiguo que no es necesario.
[anticasc]
Este módulo es un mecanismo de defensa que tiene oscam para evitar que los clientes puedan hacernos demasiadas peticiones, manteniendo la salud de nuestro server. Los principales parámetros son:
-enabled: 1 para activar el sistema y 0 para desactivarlo.
- numusers: Número de clientes por cuenta. Con este parámetro controlamos el número de peticiones por minuto que aceptamos de un cliente. La fórmula que utiliza oscam para determinar el número de ecm's permitidas es:
(numusers*100+80)/(X*100/60) siendo X el valor definido en el fichero oscam.ac para cada caid.
De esta forma, si por ejemplo en oscam.ac tenemos definido (veremos cómo) un valor 5 y ponemos numusers=2, tendremos un límite de 33 ecms por minuto.
0-->desactivamos el antica....
1-->cascading por un cliente permitido: (1*100+80)/(10*100/60---> 11 ecm permitidas por minuto
2-->cascading por dos clientes permitido: (2*100+80)/(10*100/60) = 17 ecms
El archivo oscam.ac se pondria asi:
0100:004106=10
viene relacionado:
0100-->caid
004106-->providers
10-->serian los segundos esto viene de: normalmente en seca las ecm se reciben cada 10 segundos, por lo tanto pues se pone 10.
- sample: ecm adicionales permitidas se puede poner de 2 a 10 por lo tanto si ponemos 8 pues serian 8 ecm permitidas en el caso anterior pues en vez de 55 seria 63.
- sampletime: ecms permitidas en x minutos, por ejemplo si ponemos 5 serian 5 minutos y serian permitidas las siguientes ecm:
Si numuuser es 1 como hemos visto serian 11 ecm, pues en 5 minutos de sampletime, tenemos 11x5 = 55 ecm permitidas en 5 minutos.
- penalty: Aquí definimos qué queremos que suceda con los usuarios que superen el límite que hemos definido antes. Si ponemos el valor 0, se alacenará en un log a los usuarios que lo superen, de forma que podemos controlarlos, ver si alguno supera el límite esporádicamente o de forma continua, etc. Si ponemos valor 1 a este parámetro, cuando el cliente supere el límite se le mandarán ecm fake, de forma que seguirá conectado con nosotros, pero verá una pantalla negra. No creo que sea buena opción
-fakedelay: ver punto anterior.
- aclogfile: ruta al fichero de log que registrará la actividad de este módulo.
Oscam.ac
En este archivo se almacenan los tiempos en los que cada proveedor manda las cw a las tarjetas para actualizar los códigos de desencriptación. El valor que se ponga a cada proveedor se usa en la fórmula de anticascading para saber el número de ecms permitidas por minuto.
Se pondria algo asi:
0100:004106=10
*=7
Esto quiere decir:
0100-->caid
004106-->providers
10-->serian los segundos esto viene de: normalmente en seca las ecm se reciben cada 10 segundos, por lo tanto pues se pone 10.
Para el resto de proveedores no especificados, se signa el valor 7 en este caso.
Oscam.server
En este archivo se definen todos los "lectores" de los que oscam obtendrá las cw. Es decir, aquí se configuran los lectores de tarjeta propiamente dichos, y los server que tengamos (es como añadir las líneas C en cccam, líneas N en Newcamd, etc).
En primer lugar vamos a ver un ejemplo de configuración de Fundi para la tarjeta gris, y explicar más o menos los parámetros importantes. De la red se pueden descargar otras configuraciones para otro tipo de tarjetas, pero lo que se busca aquí es entenderlo de forma que después cada uno adapte el lector interno a lo que tiene en nuestro GM990.
- label: Este es el nombre que le queramos poner al lector. Este nombre aparece después en la información del webif.
- protocol: Aquí se indica el protocolo para este "lector" o "servidor". En el caso de que estemos ante nuestro lector interno, debemos poner la opción "internal". Si estamos definiendo un server cccam, deberemos escribir "cccam", etc. Los valores más típicos serían:
mouse -> Creo que para por ejemplo, un lector externo usb
internal -> Para el lector de tarjetas interno de nuestro GM990.
cccam -> Para definir el equivalente de una línea C y conectar con el servidor cccam.
gbox -> Para el caso de bbox
newcamd -> En el caso de definir una línea N.
- detect: Es el modo en que se detecta cuando se mete la tarjeta. El valor por defecto es "CD", que al menos para la gris funciona.
- device: Es en cierto modo la ubicación del servidor, a donde oscam va a enviar las peticiones. En el caso de que estemos definiendo el lector de tarjetas, ponemos en este campo la ubicación de la misma, que en nuestro golden es "/dev/sci0". Si estamos definiendo un servidor cccam por ejemplo, aquí ponemos la ruta del mismo: "IP,puerto"....por ejemplo "dominio.no-ip.info,20000".
- cardmhz: Es la velocidad estándar de lectura de la tarjeta. Imagino que estos valores los habrá obtenido Fundi de algún lado, ya que para la gris, se usa el valor por defecto de "357" (3,57 Mhz).
- mhz: Es la velocidad con la que se leerá la tarjeta realmente, en múltiplos de 10 Khz. En caso de que este valor sea mayor que el anterior, se estará haciendo un overclocking. Por ejemplo para la gris, se usa un valor de "500" (5 Mhz).
- group: Este parámetro se usa para todo tipo de lectores y sirve para agrupar los diferentes servidores que tengamos. Podemos agrupar varios de ellos en un grupo 1, otros en un grupo 2, etc, de forma que despues a los clientes les demos acceso sólo a un grupo, a 2 o a todos. Es una forma de determinar a qué servidores pueden acceder determinados clientes.
- lb_weight: Es el peso que le damos a un servidor concreto en base a una tabla de oscam (Se puede consultar en la wiki). El valor por defecto es 100. Dándole un valor por encima de 100 a un reader, estaremos dándole más peso a dicho receptor, siendo más probable que el nos dé la respuesta cw. Si le damos menos de 100, será menos probable.
- user: En caso de estar definiendo un servidor cccam por ejemplo, el usuario que nos han dado.
- password: Para el mismo caso del punto anterior, la password.
Los siguientes parámetros tienen relación con la actualización automática de las tarjetas, posibilidad de comprar eventos, etc. No tengo muy claro como es el proceso de actualización si si se debe mantener o bloquear, pero el significado de los parámetros es este:
- blockemm-u: Si se pone este parámetro a 1, se bloquean las emm's cuyo destino único sea esta tarjeta/server.
- blockemm-g: Si se pone este parámetro a 1, se bloquean las emm's globales cuyo destino único sean todas las tarjetas/server.
- blockemm-unknown: Si se pone este parámetro a 1, se bloquean las emm's de las que no se sepa el tipo.
- emmcache: Activa la cache de emm para el lector local. Sin este parámetro activo, no se verá la inofrmación de emms en el webif. Este parámetro está formado por una terna de valores, que en la wiki definen así:
emmcache = <usecache>,<rewrite>,<logging>
* <usecache> 0 = # Desactivar EMM caching (por defecto)
* <usecache> 1 = # Activar EMM caching
* <rewrite> n = # Determina cada cuanto tiempo la misma emm es escrita cuando usecache está activa.
* <logging> 0 = # EMM logging desactivado.
* <logging> 1 = # logging de los errores EMM.
* <logging> 2 = # logging de los EMMs escritos.
* <logging> 4 = # logging de los EMMs saltados.
* <logging> 8 = # logging de los EMMs bloqueados.
* <logging> 16 = # logging de los EMMs "audisabled"
Por ejemplo si ponemos "1,3,2" le indicamos que lo active, que la misma emm sea escrita cada 3 minutos y que se haga logging de los emm escritos.
Ahora vienen otros parámetros de los que no tengo muy claro como funcionan y en qué afectan al funcionamiento, pero que tengo definidos. Si alguien nos explica qué es el caid, y como afectan estos campos al funcionamiento, es más que bienvenido!
- caid: Define y mapea caids al lector. Para la gris, 0100.
- ident: ?¿?¿
- ecmwhitelist: Define la longitud de los ecm y el ident para el caid de la tarjeta.
- fallback: ?¿?¿
Aparte, para definir los server de diferentes protocolos, como cccam, hay parámetros específicos. Comentamos los de cccam:
- cccversion: Define la versión de cccam. ¿Es imporatnte?
- cccmaxhops: Para controlar las distancias que queremos recibir. Si ponemos valor "0", sólo aceptamos que nos sirvan locales. Si ponemos valor "1", aceptamos que nos sirvan locales y hop1. Así sucesivamente.
- cccreshare: Si está a valor -1 o sin valor, se toma el reshare definido en oscam.conf. Si se especifica un valor, se tomará para el reader en cuestión "ignorando" el valor general de oscam.conf.
Oscam.srvid
Este archivo contiene el listado de canales y los códigos de cada uno, de forma que por ejemplo el webif de Oscam, nos muestre el nombre de canal. Estos ficheros se pueden obtener actualizados de la red.
Un ejemplo de líneas de estos ficheros es:
0100:746D|D+ [Seca]|C+ COMEDIA
0100:746E|D+ [Seca]|C+ DCINE
0100:7736|D+ [Seca]|DCINE ESPAÑOL
