Hola, para quien no lo conozca os pego la info del script
waitpid0000.sh de pinguino_rh
[quote name=''pinguino_rh']
Script
waitpid0000.sh:
Os pongo un pequeño script que utilizo para mbox que llevo tiempo probando y me funciona muy bien para los cortes producidos por entrada pid 0x0000, y os preguntaréis, ¿que es eso de pid 0x0000?, por decirlo a groso modo, es el número de entrada de las ECMs según el canal que estéis visionado.
Este problema me aparecÃÂa eventualmente con la revisiones de mbox 0015, 0022 y 0023 probado en dos ibox 500S con imagen nabilo V08, el caso es que en ciertos canales (Nasional. Geogr., Odichea, film) dÃÂas y hora puntual era imposible ver un canal de forma continúa sin la necesidad de cambiar de canal y regresar al anterior.
Estuve observando el trace de mbox y detecté un problema: cuando nos sirve las CW las entrega con el número de pid erróneo con el valor 0x0000, que deberÃÂa llevar el valor del pid correspondiente de la ECM enviada, esto no deberÃÂa de perjudicarnos, pero parece ser que con la imagen nabilo V08 este pid lo reenvÃÂa al sintonizador de nuestro deco y como consecuencia dejamos de recibir las ECMs del canal que estamos visionando y paron al canto . Este pid creo que hace referencia a la Program Association Table (PAT) de forma que mbox deja de pedir el CW porque no recibe ECMs, esto me obligaba a realizar un cambio de canal y regresar al que estábamos viendo, y como no, siempre con el mando bien cerquita.
Quiero dejar claro que el script solo os solucionará los cortes producidos por entrada de pid 0x0000 y no los posibles problemas que tengáis de distancias, configuración, etc. Cuando sufráis un corte y sin cambiar de canal, manteniendo la imagen congelada, ver el las últimas CW o el contenido del archivo ecm.info, no es necesario estar mirando el trace, por ejemplo, en la imagen nabilo con el botón azul se pueden visualizar en pantalla las últimas CWs. Si observáis en el siguiente ejemplo aparece el “pid 0x0000â€Â, posiblemente el corte sea debido a este problema:
Código:
[10:46:31] ===== Network ECM on CaID 0x0100, pid 0x0000 ====
[10:46:31] prov: ABCD
[10:46:31] CW0: xx xx xx xx xx xx xx xx
[10:46:31] CW1: xx xx xx xx xx xx xx xx
[10:46:31] =================================================
Para dar una solución he implementado este sencillo script me soluciona el problema y puedo visionar durante mucho tiempo sin cortes. Básicamente la función del script es forzar a mbox a pedir de nuevo las CW hasta recibirlas con el pid correcto, para ello cuando cambiamos de canal se genera el archivo temporal /tmp/pmt.tmp con información del canal, para forzar la petición de mbox tan solo hay que renombrarlo y volverlo a copiar con el mismo nombre, mbox lo considera como cambio de canal y vuele a buscar el CW. Principalmente el script controla la entrada de pid 0x0000 desde el archivo tmp/ecm.info, en caso de detectar entra de pid erróneo renombra el pmt.tmp, esto obliga a solicitar de nuevo la CW,
el usuario no nota nada en la imagen y simula un cambio de canal sin tener que realizarlo él. He implementado la generación de un archivo de logueo que registra todas las recuperaciones de pid 0x0000 con fecha-hora, prov, pid del canal, peer de que quien entrega las CWs y distancia, también se visualiza en pantalla un mensaje de “recuperación de pid†para informar que en ese momento se hubiera producido un corte y que se esta solicitando de nuevo las CWs. Tanto el logueo como el mensaje se puede deshabitar cambiando los valores de 1 a valor 0.
Para lanzarlo como cualquier otro script, lo copiáis y con atributos 755 y:
sh waitpid0000.sh &
Link de descargas:
http://www.megaupload.com/?d=K3ZOYLQ0
http://rapidshare.com/files/446465192/waitpid0000.sh
http://www.gigasize.com/get.php?d=mndgc0o6q4d
Un saludo.
[/quote]
Llevo un par de semanas testeando una modificacion a este script para que pueda actuar de manera similar en los AzboxHD, el resultado no esta mal pero seguramente se puede afinar mucho más.
....cuando cambiamos de canal se genera el archivo temporal /tmp/pmt.tmp ... ... ... mbox lo considera como cambio de canal y vuele a buscar el CW.
En el caso de los AzboxHD, el Mbox no genera el archivo "pmt.tmp", o si lo genera no se sabe donde por lo que este script en un Azbox solo hace la mitad del trabajo.. pero lo bueno es que por lo menos hace la mitad del trabajo.
En base a este comentario de pinguino_rh sobre el cambio de canal me puse a investigar en esta direccion.
La idea ha sido editar en el script toda la parte relacionada con el archivo PMT sustituyendola por unos comandos de cambio de canal, canal arriba, canal abajo.
El resultado de esta modificacion es que cuando Mbox detecta el PID 0x0000, el Azbox automaticamente sube un canal y vuelve a bajarlo (quedandose en el mismo canal que estaba) de esta manera se fuerza a Mbox a pedir de nuevo las CWs hasta recibirlas con el pid correcto.
..el caso es que funciona. si puede haber una "jodienda" en esta cutre-solucion, es que cuando detecta el pid0, en pantalla veremos en el OSD que sube un canal y que vuelve al mismo canal que estaba, entonces se queda 1 segundo la pantalla en negro y vuelve la imagen, pero al menos lo hace automaticamente cuando detecta ese Pid0.
Bueno, este es un punto de partida, a ver si entre todos los usuarios de Mbox en Azbox logramos afinar mas este script.
dar las gracias a pinguino_rh no solo por el script si no tambien por explicar su funcionamiento tan detalladamente.
Ruta: dentro de la carpeta "PLUGINS" he creado una carpeta con el nombre "Pid0" y dentro de esta he puesto el script "waitpid0000.sh"
/PLUGINS/Pid0/waitpid0000.sh
*carpeta Pid0 y archivo waitpid0000.sh, dar atributos 755
Estas son las partes del script original que se han modificado para azbox:
Código:
# Directorio o Path del archivo pmt.tmp
PMT_PATH=/MMP/usr/bin/td210_ip_remote
Código:
############################################################
# FORZADO A MBOX OTRA PETICION DE LAS CWs POR PID = 0x0000
# SE SIMULA COMO CAMBIO DE CANAL PARA MBOX
############################################################
echo 'UP UP'> /tmp/key.src
/MMP/usr/bin/td210_ip_remote 127.0.0.1 S /tmp/key.src
echo 'DOWN DOWN'> /tmp/key.src
/MMP/usr/bin/td210_ip_remote 127.0.0.1 S /tmp/key.src
esta parte es opcional. el archivo "pid_0x0000.log" se genera dentro de la carpeta "Pid0" si el valor LOG_PID0X0000 es 1.
Código:
# Activacion logueo entradas pid 0x0000:
# 1 - Activacion (por defecto)
# 0 - Desactivacion
LOG_PID0X0000=1
# Logueo para saber cuando se ha recibido pid 0x0000 y se ha vuelto a soliciar las CW
LOG_pid_0x0000=/PLUGINS/Pid0/pid_0x0000.log
==============================
==============================
Para iniciar el script desde Telnet:
Código:
cd /PLUGINS/Pid0
sh waitpid0000.sh &
==============================
==============================
Link de descarga del script ya modificado para Azbox.
(incluye tambien el archivo "S50Pid_0", por si alguien quiere que se inicie este script en cada reinicio del azbox. Ruta: /DISK2/etc/start.d/S50Pid_0. dar atribbutos 755)
http://www.megaupload.com/?d=4K9KLX6O