redneck eyeball Geplaatst: 31 oktober 2005 Geplaatst: 31 oktober 2005 Ik ben bezig met een update voor m'n EMU plugin. Er zat nog een bugje in de .so waardoor die de box liet crashen als je hem twee keer opstartte, terwijl een reset van de emu de bedoeling was. dAF2000 is zo vriendelijk geweest een nieuwe .so te maken die niet crasht <img src="/forums/images/graemlins/smile.gif" alt="" /> MAAR ... Maar ik heb een heeeeel vreemd probleem. Als je de emu start is alles normaal, de tweede keer starten, enkel beeld op de zender waarom je stond, al de rest is zwart, ook zelfs op FTA geen beeld meer. De derde keer dat de emu start, weer alles normaal. Vierde keer weer niets meer, vijfde keer weer alles normaal. Nog vreemder, als ik het runemu script gewoon start in een telnet window, dan lukt het dus wel iedere keer, de problemen zijn er enkel als het script via de .so gestart wordt. Ik heb hier zowat alles al geprobeerd, maar ik kan de oorzaak of oplossing niet vinden. Dit is het runemu script : #!/bin/sh # #Emu Start 1.6 by Redneck Eyeball #Written for starting NewCS + MGcamd # # Add library path for libcrypto.so.0.9.7 export LD_LIBRARY_PATH=/tmp:/var/lib:/lib: # Getting the current stream information wget -O /tmp/runemu.temp -q "http://root:dreambox@127.0.0.1/cgi-bin/xmessage?timeout=2&caption=EMU+deamon&body=Preparing+to+run+EMU" CURRCHAN=`wget -O - http://root:dreambox@dreambox/cgi-bin/currentService` sleep 1 #first we kill possible running emu's kill `cat /tmp/mgcamd.pid` > /dev/null 2>&1 rm -f /tmp/mgcamd.pid killall -9 mgcamd sleep 2 killall -9 newcs.ppc dccamd cardserver.dream sleep 2 #remove ecm info file rm -rf /tmp/camd.socket /tmp/mgcamd.info /tmp/mgshare.info /tmp/pid.info /tmp/ecm.info /tmp/cardinfo #starting newcs card server /var/bin/newcs.ppc & sleep 5 #starting mgcamd emulator /var/bin/mgcamd & sleep 3 # zapping back wget -O - http://root:dreambox@dreambox/cgi-bin/zapTo?path=$CURRCHAN 2>/dev/null wget -O - http://root:dreambox@dreambox/cgi-bin/zapTo?path=$CURRCHAN 2>/dev/null sleep 1 wget -O /tmp/runemu.temp -q "http://root:dreambox@127.0.0.1/cgi-bin/xmessage?timeout=2&caption=EMU+deamon&body=EMU+started" #cleanup junk rm -f /tmp/runemu.* exit 0 De plugin .so van dAF heeft volgende source #include <plugin.h> #include <stdio.h> #include <stdlib.h> extern "C" int plugin_exec(PluginParam *par); int plugin_exec(PluginParam *par) { system("/var/tuxbox/plugins/runemu &"); return(0); } Ik weet het echt niet meer, hopelijk zitten hier wat scriptwizards die een blik op bovenstaande willen werpen ... Alvast bedankt. De persoon die het kan oplossen krijgt eeuwige roem door een vermelding in de readme <img src="/forums/images/graemlins/smile.gif" alt="" /> CU Red
Gast Geplaatst: 31 oktober 2005 Geplaatst: 31 oktober 2005 Je zal toch wat meer moeten debuggen. Ik stel voor dat je het volgende in de plugin aanpast : system("/var/tuxbox/plugins/runemu &"); naar system("/var/tuxbox/plugins/runemu >> /hdd/plugin.log 2>&1 &"); Even er vanuitgaande dat je een hdd hebt gemount op /hdd. Je kan ook in het script, voor de eerste export een 'set -x' commando geven zodat je de script uitvoer ziet. Wellicht dat je dan kan zien wat er misgaat. Ook wordt standaard de enigma log naar /dev/null gegooid, dus als je met plugins aan het testen ben stel ik voor dat je de /usr/bin/enigma.sh aanpast en ipv de regel '/usr/bin/enigma' zet '/usr/bin/enigma >> /hdd/enigma.log 2>&1'. Hiermee zie je tenminste eventuele enigma memory problemen e.d. Suc6 <img src="/forums/images/graemlins/smile.gif" alt="" />
redneck eyeball Geplaatst: 31 oktober 2005 Auteur Geplaatst: 31 oktober 2005 Aangezien ik zelf geen .so kan compileren zal dat moeilijk zijn. Die set -x die geeft geen resultaat. Ik heb inmiddels nog verder zitten testen. Het doet zich voor, zowel in de flash als op usb. mgcamd of evocamd, zelfde probleem. Echt vreemd ... en als ik met ps kijk, dan is op het moment dat het niet werkt wel newcs en mgcamd netjes ingeladen zoals het hoort. Ik snap er echt niets meer van. Hoe kan hetzelfde script nu afwisselend werken en niet werken ? CU Red
mirakels Geplaatst: 31 oktober 2005 Geplaatst: 31 oktober 2005 Red, mischien dat deze versie van het script wel werkt... I kan het zelf niet testen dus ik kan geen zekerheden geven. Maar een kans op eeuwige roem laat ik niet liggen <img src="/forums/images/graemlins/smile.gif" alt="" /> <img src="/forums/images/graemlins/smile.gif" alt="" /> #!/bin/sh # #Emu Start by Redneck Eyeball #Written for starting NewCS + MGcamd # Version 1.6 - Redneck Eyeball # Add library path for libcrypto.so.0.9.7 # Version 1.7 - Mirakels # - removed sleeps # - do not remove camd.socket, so emu can still get the pmt data # ! NOTE: not tested! # export LD_LIBRARY_PATH=/tmp:/var/lib:/lib: # Getting the current stream information wget -O /tmp/runemu.temp -q "http://root:dreambox@127.0.0.1/cgi-bin/xmessage?timeout=2&caption=EMU+deamon&body=Preparing+to+run+EMU" CURRCHAN=`wget -O - http://root:dreambox@dreambox/cgi-bin/currentService` # first we kill possible running emu's kill `cat /tmp/mgcamd.pid` > /dev/null 2>&1 rm -f /tmp/mgcamd.pid killall -9 mgcamd killall -9 newcs.ppc dccamd cardserver.dream # remove ecm info files rm -rf /tmp/mgcamd.info /tmp/mgshare.info /tmp/pid.info /tmp/ecm.info /tmp/cardinfo #starting newcs card server # newcs puts itself in the background, so don't do that explicetely and we don't need to sleep anymore. /var/bin/newcs.ppc #starting mgcamd emulator /var/bin/mgcamd & sleep 3 # zapping back wget -O - http://root:dreambox@dreambox/cgi-bin/zapTo?path=$CURRCHAN 2>/dev/null # Is this second zap needed? wget -O - http://root:dreambox@dreambox/cgi-bin/zapTo?path=$CURRCHAN 2>/dev/null sleep 1 wget -O /tmp/runemu.temp -q "http://root:dreambox@127.0.0.1/cgi-bin/xmessage?timeout=2&caption=EMU+deamon&body=EMU+started" #cleanup junk rm -f /tmp/runemu.* exit 0 DM7000, noname 58 cm bord met SM3D12 rotor, 46GB 2.5in hitachi hdd
redneck eyeball Geplaatst: 31 oktober 2005 Auteur Geplaatst: 31 oktober 2005 @mirakels, Jammer maar helaas, probleem is nog altijd net hetzelfde ... Verdere suggesties zijn welkom. CU Red
Gast Geplaatst: 1 november 2005 Geplaatst: 1 november 2005 Zet ook eens een sleep 3 tussen het starten van newcs en mgcamd. Ik heb met newcamd en cardserv ook problemen gehad dat hij te snel startte waardoor de cardserver nog niet luistert op zn port wanneer de emu start. Hmm zie net dat in je oorspronkelijke script al een sleep 5 stond. Hmm ... verander de start regels voor newcs en mgcamd eens als volgt: /var/bin/newcs.ppc >> /hdd/newcs.log 2>&1 & en /var/bin/mgcamd >> /hdd/mgcamd.log 2>&1 & Je kan ook globaal alle output laten loggen door onder de eerste regel in het script te zetten: exec >> /hdd/script.log 2>&1 Helpt dit ?
Gast Geplaatst: 1 november 2005 Geplaatst: 1 november 2005 Hoi Red, Een paar dingen vallen me op: Je gebruikt 127.0.0.1 en dreambox als adres. Misschien zou je dreambox overal ook moeten vervangen door 127.0.0.1. 't Zou kunnen zijn dat je in de telnet session hier geen probleem mee hebt, maar in de .so sessie wel. Bij mij werkt de regel met 'dreambox' niet. Ook niet in telnet. Staat niet in /etc/hosts. localhost staat daar wel. Ik zou deze regels veranderen: wget -O - http://root:dreambox@dreambox/cgi-bin/zapTo?path=$CURRCHAN 2>/dev/null in wget -O - http://root:dreambox@127.0.0.1/cgi-bin/zapTo?path=${CURRCHAN} 2>/dev/null Misschien ook een sleep 1 tussen de 2 regels? 't Is altijd een goed idee om shell variabelen te omringen door accolades. Een andere reden dat de boel een probleem zou kunnen hebben is de 'kill'. Als de kill niet werkt (Kan altijd) of niet meteen werkt dan gaat je programma gewoon door. I.p.v. een 'sleep 2' kan je beter zoiets doen: for i in mgcamd newcs.ppc dccamd cardserver.dream do SECURITY_COUNTER=0 killall -9 ${i} while [ `ps -ef | grep ${i} | wc -l` -gt 1 -o ${SECURITY_COUNTER} -lt 10 ] do sleep 1 SECURITY_COUNTER=`expr ${SECURITY_COUNTER} + 1` done done De waarde 10 kan je natuurlijk aanpassen. Je kan dit nog aanpassen door een fout te behandelen. Bv: if [ ${SECURITY_COUNTER} -eq 10 ] then # Oeps. Er is een fout. De kill werkt niet. echo `date`" - Kon ${i} niet vermoorden" >>/tmp/emu.log exit 1 fi Ik hoop dat dit helpt.
redneck eyeball Geplaatst: 1 november 2005 Auteur Geplaatst: 1 november 2005 @svdbeek @shoenix @mirakels, Alle suggesties uitgeprobeerd, helaas, allemaal 100% zelfde resultaat, 1x wel, 1x niet ... om gek van te worden. Als ik de log bekijk, dan kan je daar ook niets abnormaals in zien, er is geen verschil tussen de twee starts van de plugin ... Ik denk dat ik het maar zal opgeven <img src="/forums/images/graemlins/frown.gif" alt="" /> Tenzij iemand nog suggesties heeft ... CU Red
Gast Geplaatst: 2 november 2005 Geplaatst: 2 november 2005 Het enige dat ik dan nog kan bedenken is strace te gebruiken om verschillen te zien in de opstart patronen. Het lijkt er bijna op dat er bepaalde bestanden niet goed opgeruimd/geinitialiseerd worden icm met een timing issue. Ik weet niet welke image je draait, maar met ronaldd is in iedergeval het strace package wel te downloaden.
Sterke-Jerke Geplaatst: 5 november 2005 Geplaatst: 5 november 2005 Hmmmm. IK probeer met de plugin, een mgcamd cliënt, in een 7020 aan de praat te krijgen (server deel op 7000 werkt wel). Iemand suggesties? Ik krijg wel debug info, maar gewoon geen beeld. SJ
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen