Home

Cosa extraña con Oscam

Mecha

Usuario Destacado
Loco por OpenSPA
Fan de OpenSPA
14 Ene 2010
4.132
819
0
España
Y que nombre y extensión han de tener los scripts? Hay que ponerlos en alguna opción del deco para que se ejecuten o con ponerlos en la ruta indicada hay bastante?
los nombres son los que ha puesto xfs6600, es decir "oscript" y "script_oscam.sh" con permisos 755 (para que sean ejecutables), y la ruta pues depende del deco y el sistema que tengan, en el del compi van en la ruta que indica "/etc/init.d/" (en cada deco hay que ponerlo en una ruta que sepamos que lo que hay en ella se ejecuta en cada encendido del deco, o incluir alguna linea en el autorun para que inicie el oscam y el posterior scrip de comprobación de que la camd está funcionando correctamente).
 
  • Me gusta
Reactions: waltrapas

Mecha

Usuario Destacado
Loco por OpenSPA
Fan de OpenSPA
14 Ene 2010
4.132
819
0
España
Creo que lo que han mejorado han sido tus Leete las normas que es muy difierente
Estás en lo cierto, ;)
¿por qué?
El script de comprobación de errores en oscam "script_oscam.sh", tal como está solo es funcional durante 50 segundos: el código del script está repetido 4 veces (puede que sea un fallo de copiar y pegar) pero no realiza ningun bucle para que siga activo en memoria; se realiza el mismo proceso 4 veces (copiado y pegado) con una parada de 15 o 10 segundos entre cada lote de posibles errores, y en el último termina el script sin volver al inicio en un bucle, por esto solo es valido durante el primer minuto de arranque del deco, posteriormente no realiza mas comprobaciones.
Por eso, si después del primer minuto ha mejorado el comportamiento de oscam, es porque han mejorado los proxis de los Leete las normas.

Saludos.
 

skyney137

Usuario Activo
Fan de OpenSPA
22 Ago 2012
132
57
0
46
Creo que lo que han mejorado han sido tus Leete las normas que es muy difierente






Mis Leete las normas siguen teniendo la misma config de siempre y son muy pocos.

Yo digo que llevo varios meses con problemas siempre, probando mil tipos de configuraciones y binarios sin ninguna solución, he probado tambien sbox y MGcamd con los mismos resultados. Hasta ésta tarde he tenido cortes, incluso he probado el binario 9872 por si solo (sin meer los scripts) por si no me daba cortes, obteniendo el mismo resultado. Pero ha sido meter los scripts, cambiar las rutas y los cortes han desaparecido o al menos han mejorado muchisimo. Todo esto en hop 2 como máximo.
 

skyney137

Usuario Activo
Fan de OpenSPA
22 Ago 2012
132
57
0
46
Estás en lo cierto, ;)
¿por qué?
El script de comprobación de errores en oscam "script_oscam.sh", tal como está solo es funcional durante 50 segundos: el código del script está repetido 4 veces (puede que sea un fallo de copiar y pegar) pero no realiza ningun bucle para que siga activo en memoria; se realiza el mismo proceso 4 veces (copiado y pegado) con una parada de 15 o 10 segundos entre cada lote de posibles errores, y en el último termina el script sin volver al inicio en un bucle, por esto solo es valido durante el primer minuto de arranque del deco, posteriormente no realiza mas comprobaciones.
Por eso, si después del primer minuto ha mejorado el comportamiento de oscam, es porque han mejorado los proxis de los Leete las normas.

Saludos.



¿Que habría que modificar en el código para que realizara el bucle?
 

xfx6600

AZvip
Vip OpenSPA
8 Jun 2009
1.465
163
0
Pues yo como dije, no tengo mucha idea de esto, pero te puedo asegurar que desde que lo puse no tengo las congelaciones que tenía y por fin puedo grabar perfectamente ya que si hay algún parón o congelación solo dura 10 segundos. Pero si se puede mejorar, adelante. Esperamos mejoras...
 

Mecha

Usuario Destacado
Loco por OpenSPA
Fan de OpenSPA
14 Ene 2010
4.132
819
0
España
Este sería el "script_oscam.sh" para el deco de xfs6600
#!/bin/bash
while [ true ];
do
if ! ps |grep -v grep |grep -c /usr/bin/oscam >/dev/null
then
oscript start
echo `date "+%d/%m/%y %R proceso no funcionaba"` >> /var/oscam_restart_log
# Esta parte anterior comprobará si NO hay proceso oscam corriendo.
# Y si esta condición es verdad, se iniciará Oscam y escribe en el archivo log.
# La entrada en el Log contendrá la fecha y hora y motivo de la ejecución (proceso no funciona)
# Si la condición primera no es verdad (oscam está corriendo), continua a la siguiente condición.
elif
tail -8 /var/oscam.log |grep -v grep |grep -c ins40 >/dev/null
then
oscript restart
echo `date "+%d/%m/%y %R ins40 error detectado"` >> /var/oscam_restart_log
elif
tail -8 /var/oscam.log |grep -v grep |grep -c deadlock >/dev/null
then
oscript restart
echo `date "+%d/%m/%y %R deadlock error detectado"` >> /var/oscam_restart_log
elif
tail -8 /var/oscam.log |grep -v grep |grep -c timeout >/dev/null
then
oscript restart
echo `date "+%d/%m/%y %R timeout error detectado"` >> /var/oscam_restart_log

# Estas tres condiciones anteriores buscará 3 errores comunes en Oscam: "ins40" y "deadlock" y "timeout"
# Si durante 8 líneas de tu oscam.log contiene cualquiera de esos errores, volverá a iniciarse oscam.
# Las entradas del registro Log incluirá la razón exacta de reinicio.
# ins40 error es el error aleatorio que mantendrá oscam corriendo pero no retorna CWs.
# deadlock es el mayor error que aparecen si utilizas el Protocolo CCcam en oscam.server
else
echo "ok"
# Si oscam aprueba todas las condiciones y todo está bien, simplemente hará eco de "ok"
fi
sleep 15
done
exit 0
 
Última edición:
  • Me gusta
Reactions: xfx6600 y skyney137

skyney137

Usuario Activo
Fan de OpenSPA
22 Ago 2012
132
57
0
46
Muchas gracias Mecha, ¿éste script ya corrige el error del anterior?.
 

Mecha

Usuario Destacado
Loco por OpenSPA
Fan de OpenSPA
14 Ene 2010
4.132
819
0
España
el script en si no hace milagros, lo unico que si detecta errores en el log de oscam o el cierre de oscam en memoria, que lo vuelve a reiniciar, pero si los servers no son estables los freezing seguiran pasando, aunque el oscam se reiniciara gracias al script, por lo que no tenemos que estar delante para reiniciarlo manualmente.
 

Mecha

Usuario Destacado
Loco por OpenSPA
Fan de OpenSPA
14 Ene 2010
4.132
819
0
España
Muchas gracias Mecha, ¿éste script ya corrige el error del anterior?.
si, el codigo comprueba cada 15 segundos los errores indicados de oscam, y no se cierra mientras la condición [ true ] se cumpla, lo cual se suele cumplir siempre, por lo que habria que matar el proceso del script con la orden kill por telnet.
 

Mecha

Usuario Destacado
Loco por OpenSPA
Fan de OpenSPA
14 Ene 2010
4.132
819
0
España
Estas son las rutas a cambiar para Spark:

usr/bin/oscam === /root/plugin/var/bin/oscam
var/oscam.log
Y /var/oscam_restart_log === /root/plugin/var/log/oscam.log Y /root/plugin/var/log/oscam_restart_log
etc/tuxbox/config/oscam_1.20 &
=== /root/plugin/var/keys O /root/plugin/var/tuxbox/config en función de donde tengáis los archivos de configuración de oscam.

sustituye así:
usr/bin/oscam === /var/bin/oscam
var/oscam.log
Y /var/oscam_restart_log === /var/log/oscam.log Y /var/log/oscam_restart_log
etc/tuxbox/config/oscam_1.20 &
=== /var/keys O /var/tuxbox/config (en función de donde tengáis los archivos de configuración de oscam).

En spark, en la carpeta raiz tenemos un enlace simbolico de la carpeta "var", que nos lleva siempre a /root/plugin/var/
por lo que la ruta /var/ equivale a /root/pkugin/var/, y si te fijas por telnet con el comando ts, verás que oscam se ejecuta como /var/bin/oscam

de cualquier forma, tal como lo veas por telnet con el comando ps, es como debes ponerlo en el script, ya que esa es la forma o texto que el scrip busca para comprobar que oscam está corriendo.
 
  • Me gusta
Reactions: skyney137 y gtt64

skyney137

Usuario Activo
Fan de OpenSPA
22 Ago 2012
132
57
0
46
Gracias Mecha, tienes razón, por telnet son esas las rutas que me dá para spark, var/bin/oscam en vez de root/plugin/var/bin/oscam.

Saludos.
 

xfx6600

AZvip
Vip OpenSPA
8 Jun 2009
1.465
163
0
Gracias Mecha, lo probaré, aunque ya me funciona bien, imagino que con este funcionara mejor...

Saludos...