• Hola Invitado, nos gustaría recordarte que mantener este sitio en línea conlleva unos gastos mensuales y anuales.

    Sin vuestra ayuda mensual no es posible seguir en pie, no hay mucho más que contar.

    Si quieres colaborar para que sea posible por lo menos seguir en pie como comunidad, puedes hacerlo mediante alguno de los métodos disponibles en esta página: https://www.lonasdigital.com/donaciones/

    Recuerda que si necesitas invitación para acceder al foro, puedes solicitarla en nuestro Grupo de Telegram


Script de arranque Ncam + Ncam_Test para OpenLD

Javilonas

Javilonas

Trovador Loco
Developer
Registrado
10 Sep 2006
Mensajes
25.305
Reacciones
2.688
Puntos
322
He estado teniendo problemas con el script de arranque y el de testeo del proceso activo, os pongo en situación para que lo entiendan, por que hasta que no me he dado cuenta... Me he vuelto loco tocando por todos sitios en Ncam sin saber de donde llegaba el bloqueo de /dev/dvb/adapter0/ca0 cada dos por tres, el tema es que el deco se quedaba medio tostado y mirando la ram esta estaba bien, me quedaba un 30% aún, así que no encontraba lógica alguna.

Si reinicio el deco estaba claro que se solucionaría (es lo más lógico), pero a mi me interesaba localizar la posible falla. Así que me puse a mirar en primer lugar los procesos activos y me percaté que el script Ncam_Test.sh se estaba ejecutando unas 62 veces o_O, normal.... Llevo desde esta mañana reiniciando con el mando cada dos por tres y el script por defecto que puse en los addons para Ncam te ejecuta el script de testeo, bien...Peeeeero... No lo mata!! por lo que cada vez que reiniciamos la emu desde el mando, este genera un nuevo proceso asociado a un nuevo PID.

Así que le he añadido una línea al script de arranque para que cuando reiniciemos desde el mando, este nos mate primero el proceso activo del script de testeo y acto seguido haga lo mismo con la emu.

La línea añadida es esta (para quien lo quiera implementar en sus scripts para otras emus):

Código:
kill -9 `ps ax | grep [N]cam_Test.sh | grep -v grep | awk '{print $1}'` 2>/dev/null

De este modo me cepillo el proceso sin más. Así que os dejo aquí ambos scripts, el de Test y el de arranque de Ncam para OpenLD, es fundamental que añadan el de Test en /usr/script si vais a usar este script de arranque ya que de no hacerlo os dará pantallazo azul casi seguro jeje. Si no lo queréis usar, eliminar del script de arranque las menciones al mismo tanto en el start como en el stop, es decir, eliminar estas dos líneas.

Código:
sh /usr/script/Ncam_Test.sh & 2>/dev/null

Código:
kill -9 `ps ax | grep [N]cam_Test.sh | grep -v grep | awk '{print $1}'` 2>/dev/null

Y arreando, pero lo ideal es usar los dos en conjunto para asegurarnos de que la emu está siempre activa.

Script de arranque Ncam para OpenLD:

Código:
#!/bin/sh




CAMNAME="Ncam"




remove_tmp () {
    rm -rf /tmp/*.info /tmp/*.tmp
}
    echo "[SCRIPT] $1: $CAMNAME"
    start_cam () 
    { 
    remove_tmp
    sleep 2
    /usr/bin/ncam -b & 2>/dev/null
    sleep 4
    sh /usr/script/Ncam_Test.sh & 2>/dev/null
    }
    echo "[SCRIPT] $1: $CAMNAME"
    stop_cam () 
    {
    remove_tmp
    kill -9 `ps ax | grep [N]cam_Test.sh | grep -v grep | awk '{print $1}'` 2>/dev/null
    killall -9 ncam 2>/dev/null
        }
case "$1" in  
    start) 
        start_cam 
        ;; 
    stop) 
        stop_cam 
        ;; 
    restart) 
        $0 stop 
        $0 start 
        ;; 
    *)
 
    esac




exit 0

Script de testeo Ncam:

Código:
#!/bin/sh


PROCESO='ncam'
TIEMPO='15'
LOG=/tmp/Ncam_Test-error.log
echo " ----- Iniciando test $PROCESO -----"
echo ''
echo ''
echo 'Vamos a comprobar el proceso activo'
echo ''
sleep 2
if pidof $PROCESO > /dev/null
then
echo ''
echo "$PROCESO activo"
else
echo "Alerta! $PROCESO detenido :( "
fi
date=`date` 
echo "Iniciando test $PROCESO : $date" >> $LOG
while [ 1 ] 
do
pidof $PROCESO > /dev/null
if [ $? -eq 0 ] ; then
echo 'Vamos a proceder a comprobar de nuevo el proceso activo'
echo ''
echo ""
else
date=`date` 
echo "Reiniciando $PROCESO : $date" >> $LOG
echo ''
killall -9 $PROCESO
$PROCESO -b & 2>/dev/null
if [ $? -eq 0 ] ; then
echo "Ok! el servicio $PROCESO de nuevo operativo :) "
else
echo "Algo no ha funcionado. Por favor, intenta iniciarlo manualmente"
fi 
fi
#Tiempo de comprobación si el servicio sigue activo, si no lo está se reicicia.
sleep $TIEMPO
done


exit 0

También os lo adjunto para descargar, recordar asignarles permisos 755.

Ncam_Test.sh va en /usr/script
Ncam_ncam.sh va en /usr/camscript

Espero que os sea de utilidad ;)
 

Adjuntos

Solo para OpenLD ;)
 
la 0.9 cuando este en adons para descargar tendra esto metido?
 
la 0.9 cuando este en adons para descargar tendra esto metido?

Por su puesto!!, pero hasta el finde como mucho no me puedo poner a crear el ipk y subirlo, que aunque parezca que es tan solo subirlo al ftp no es tan sencillo, hay que crear el ipk de manera que cuando se ejecute lo instale todo correctamente, probarlo y si funciona hay que subirlo al servidor y editar el Packages con la info y firma md5 de este, comprimirlo en gz y subirlo, probar que aparece en los addons y luego instalarlo desde el mando para ver que todo está correcto y lamentablemente no puedo ponerme ahora a realizar algunas de estas cosas jeje.

Pero el finde estará, si me da lugar antes pues mejor, ya sea la 0.9 o la versión mas actual que exista en ese momento. Pero puedes instalarlo a mano si no quieres esperar que realmente a mano no tiene mucha historia :p
 
No si prisa no tengo, era saber si esto estaria metido en su sitio, la cccam si que se meterlas porque pusiste las descargas con las rutas, pero esto me pierdo, de momento aguanto con cccam, hasta que este subida, gracias.
 
No si prisa no tengo, era saber si esto estaria metido en su sitio, la cccam si que se meterlas porque pusiste las descargas con las rutas, pero esto me pierdo, de momento aguanto con cccam, hasta que este subida, gracias.

Y en Ncam también tienes las rutas en el changelog, arriba te puse la de los scripts. Ncam es muy simple de instalar a mano.

binario ncam.mips (o el que sea tu arquitectura), lo renombras a ncam a secas y lo subes a /usr/bin luego le asignas permisos 755.

Los archivos de configuración van en /var/tuxbox/config y los scripts arriba lo tienes la ruta de cada uno.

Como ves se tarda un plis plas jeje
 
Pus si, gracias!!
 
Un par de preguntas de novato en esto jejejejejeje
1ª La ruta es la de siempre ¿no? /usr/camscript
2ª Si no se tienen los archivos ¿pasa algo? Porque yo no los tengo en esa carpeta.

Por lo demás la 0.9 de momento rulando de lujo, ni un microcorte ni nada de nada. Genial como siempre.
Un abrazo.
 
Un par de preguntas de novato en esto jejejejejeje
1ª La ruta es la de siempre ¿no? /usr/camscript
2ª Si no se tienen los archivos ¿pasa algo? Porque yo no los tengo en esa carpeta.

Por lo demás la 0.9 de momento rulando de lujo, ni un microcorte ni nada de nada. Genial como siempre.
Un abrazo.

1* - Sep, la del de arranque, la del Test es /usr/script lo puse en el primer hilo jeje
2* - ¿Qué archivos? ¿los scripts?, por lo menos el de arranque lo necesitarás para iniciar la emu, a no ser que lo hagas a mano.

Yo recomiendo encarecidamente usar ambos conjuntamente, te saca de mas de un dolor de coco a veces.
 
Upsss, es verdad lo has puesto jejejejeje mea culpa. Gracias crack.
 
Perdonad si me salgo algo del tema, pero es mi inquietud por saber.
en las lineas
startcam = /var/bin/Ncam -b -r 2 -c /var/keys/Ncam
stopcam = killall -9
¿qué significan los parámetros -b -r 2 -c y -9 ? ¿Dónde puedo ver estos parámetros?
Gracias por anticipado
 
Última edición:
-b background (en segundo plano)
-c configuracion (con el archivo de configuracion "ruta")
-9 que se pegue un tiro y se mate de una vez jajajajajaja


-r ni idea
 
Gracias jamondeteruel.
A ver si alguien me puede decir qué significa el -r 2 restante
 
De oscam:



oscam [-b] [-c config-dir] [-d] [-h]

-b : start in background
-c <dir> : read configuration from <dir>
default = /var/keys
-t <dir> : tmp dir <dir>
default = /tmp/.oscam
-d <level> : debug level mask
0 = no debugging (default)
1 = detailed error messages
2 = ATR parsing info, ECM, EMM and CW dumps
4 = traffic from/to the reader
8 = traffic from/to the clients
16 = traffic to the reader-device on IFD layer
32 = traffic to the reader-device on I/O layer
64 = EMM logging
128 = DVBAPI logging
255 = debug all
-r : restart level
0 = disabled, restart request sets exit status 99
1 = restart activated, web interface can restart oscam (default)
2 = like 1, but also restart on SEGFAULTS
-w <seconds>:time waiting for system time to be set correctly
-h : help

Al "derivar" de oscam me imagino que los parámetros serán iguales
 
Gracias, era lo que necesitaba. Yo no lo he sabido encontrar en Oscam, ya ves.
Torpe que es uno....:77:
 
Perdonad si me salgo algo del tema, pero es mi inquietud por saber.en las lineas startcam = /var/bin/Ncam -b -r 2 -c /var/keys/Ncamstopcam = killall -9¿qué significan los parámetros -b -r 2 -c y -9 ? ¿Dónde puedo ver estos parámetros?Gracias por anticipado
De donde salen esas líneas? no las encuentro en el script del primer post y lo he mirado varias veces ya
 
Gracias, era lo que necesitaba. Yo no lo he sabido encontrar en Oscam, ya ves.Torpe que es uno....:77:
Lo puedes ver con ncam -help o ncam -h por telnet
 
Tengo otra dua,
como lo hago en una raspberry, o un pc linux?
 
hola buenas algún script de arranque para pc ubuntu?
 

Temas similares

C
Respuestas
13
Visitas
1K
Tomas29
T
anatulfo
Respuestas
0
Visitas
1K
anatulfo
anatulfo
mamelito
Respuestas
2
Visitas
2K
mamelito
mamelito
K
Respuestas
0
Visitas
2K
kanetaker
K
C
Respuestas
2
Visitas
977
C
W
Respuestas
2
Visitas
1K
wuanipepe
W
Atrás
Arriba