Hoppa till innehåll

Sökresultat Sökningen pågår Sökresultaten dyker upp här efterhand. Du kan fortsätta skriva om du vill begränsa sökningen.
Söker efter användare
Söker efter gallerier
Sök forumtrådar
Stäng

Problem med open-sasc-ng boot script (löst)

3 svar till detta ämne
  • Vänligen logga in för att kunna svara

#1

Postad 11 augusti 2008 - 12:06

Crocco
  • Crocco
  • Rookie

  • 3 inlägg
  • 0
Hade en fungerande Mythtv uppsättning tidigare med sasc-ng, men efter krash var jag tvungen att sätta upp en ny.

Kör Mythbuntu (8.04) och har installerat open-sasc-ng. Har installerat startup script i init.d etc och de fungerar utmärkt när jag kör dem manuellt och Mythtv kodar av kanaler.

Problemet är när scripten körs vid boot så verkar de fungera som de skall enl loggar men Mythtv kodar inte av kodade kanaler.

sasc-ng programmet ger bra loggar när man kör det manuellt men jag kan inte få ut loggar när programmet körs i bakgrunden.

Blir tokig på detta och hoppas någon har ett tips?

Här är scriptet i init.d (symlinkar finns i rc...):

[codebox]#! /bin/bash
#
# sasc start-stop script
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME="runsasc"
DESC="SASC-NG"
DAEMON="sasc-ng"

ENABLED=0
test -f /etc/default/sascc && . /etc/default/sascc
test "$ENABLED" != "0" || exit 0

rm -f /tmp/SASC_COMPLETE

LOOP=0
case "$1" in
start)
if ! ps -C sasc-ng > /dev/null 2>&1; then
echo -e "Starting $DESC: $NAME. \n"
runsasc &
until [ -e /tmp/SASC_COMPLETE ] || [ $LOOP -eq $TIMEOUT ] ; do
sleep 1
LOOP=$((LOOP+1))
done
if [ $LOOP -eq $TIMEOUT ]; then
echo -e "SASC-NG startup sequence has timed out in $TIMEOUT seconds. SASC-NG will not start. \n"
exit 1
fi
echo -e "SASC-NG startup time was $LOOP second(s). \n"
echo -e "SASC-NG startup sequence completed. \n"
else
echo -e "SASC-NG is already running. \n"
fi
;;
stop)
if ps -C sasc-ng > /dev/null 2>&1; then
echo -e "Stopping $DESC: $NAME. \n"
sleep 3
killall -q -TERM $NAME
killall -q -TERM $DAEMON
sleep 5
rmmod dvbloopback.ko
else
echo -e "SASC-NG is not running. \n"
fi
;;
restart|force-reload)
if ps -C sasc-ng > /dev/null 2>&1; then
echo -e "Restarting $DESC: $NAME. \n"
sleep 3
killall -q -TERM $NAME
killall -q -TERM $DAEMON
sleep 5
rmmod dvbloopback.ko
sleep 2
runsasc &
until [ -e /tmp/SASC_COMPLETE ] || [ $LOOP -eq $TIMEOUT ] ; do
sleep 1
LOOP=$((LOOP+1))
done
if [ $LOOP -eq $TIMEOUT ]; then
echo -e "SASC-NG startup sequence has timed out in $TIMEOUT seconds. SASC-NG will not start. \n"
exit 1
fi
echo -e "SASC-NG startup time was $LOOP second(s). \n"
echo -e "SASC-NG startup sequence completed. \n"
else
echo -e "SASC-NG is not running. \n"
fi
;;
*)
N=/etc/init.d/$NAME
echo "Use: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac

rm -f /tmp/SASC_COMPLETE
[/codebox]

Här är runasc scriptet i /usr/local/bin:

[codebox]#!/bin/bash

# Script to automate running of SASC-NG and Drivers

# Driver directory
DRIVERDIR="/usr/src/trunk/open-sasc-ng"
# Path to SASC-NG binary
SASCPRG="/usr/src/trunk/open-sasc-ng/sasc-ng"
# Path to CAM Directory
CAMDIR=""
# Number of DVB Cards you have in your system dedicated to SASC-NG
ADAPTERS="1"
# Startup Options passed to SASC-NG. Adjust according to your devices.
#OPTIONS="-r 0 -v 1 -o"
#OPTIONS="-j 0:1"
OPTIONS="--cam-dir /usr/src/trunk/open-sasc-ng/sc_files -j 0:1"
# Number of times runsasc will attempt to restart SASC-NG after a crash has occured (set to 0 for no limit)
MAXTRIES=10
# Minimum runtime required (in seconds) for SASC-NG to continue restart attempts
MINRUN=20

## End Configuration Section ##

#SASCCMD="$SASCPRG $OPTIONS $CAMDIR"
SASCCMD="$SASCPRG $OPTIONS"
KILL="/usr/bin/killall -q -TERM"

# Detect whether the DVBLooopback driver is already loaded
# and return 0 if it *is* loaded, 1 if not:
function DriverLoaded()
{
grep -qse dvbloopback /proc/modules
}

# Load all DVBLoopback driver modules needed for your hardware:
function LoadDriver()
{
insmod $DRIVERDIR/dvbloopback.ko num_adapters=$ADAPTERS
sleep 5
}

# Unload all DVBLoopback driver modules loaded in LoadDriver():
function UnloadDriver()
{
rmmod dvbloopback.ko
}

# Load driver if it hasn't been loaded already:
if ! DriverLoaded; then
LoadDriver
fi

LASTRESTART=$(date +%s)
LOOPCOUNT=0
while (true) do
if [ $LOOPCOUNT -le $MAXTRIES ] || [ $MAXTRIES -eq 0 ] ; then
eval "screen -D -m -S sasc-ng $SASCCMD &"
# Wait for SASC-NG to initialize then do rest
sleep 10
touch /tmp/SASC_COMPLETE
else
$KILL runsasc
fi
# Remember PID of SASC-NG process
PID=$!
# Wait for SASC-NG to end or signal to arrive
wait $PID
# Remember return value of SASC-NG
RET=$?
if test $RET -eq 0 -o $RET -eq 2; then exit; fi
TIMEOFDEATH=$(date +%s)
RUNTIME=$((TIMEOFDEATH - LASTRESTART))
if [ $TIMEOFDEATH -le $(($LASTRESTART + $MINRUN)) ] ; then
echo "`date` SASC-NG crashed in $RUNTIME seconds. Minimum required runtime for SASC-NG is $MINRUN seconds. Killing runsasc process..."
$KILL runsasc
fi
echo "`date` Reloading DVBLoopback drivers"
$KILL sasc-ng
sleep 10
UnloadDriver
LoadDriver
LASTRESTART=$(date +%s)
LOOPCOUNT=$((LOOPCOUNT+1))
echo "`date` Restarting SASC-NG $LOOPCOUNT time(s). Maximum retries set to $MAXTRIES"
done[/codebox]

Som sagt kör jag "sudo /etc/init.d/sascd start" fungerar allt utmärkt!

Redigerat av Crocco, 12 augusti 2008 - 21:58.


#2

Postad 11 augusti 2008 - 20:13

par-joha
  • par-joha
  • Forumräv

  • 780 inlägg
  • 0

Problemet är när scripten körs vid boot så verkar de fungera som de skall enl loggar men Mythtv kodar inte av kodade kanaler.

Spontana funderingar:
- Startas scriptet kanske för tidigt vid boot, t.ex. innan något som det är beroende av startas?
- Ligger det under rätt runlevel-kataloger?

/ Pär

#3

Postad 12 augusti 2008 - 07:24

Crocco
  • Crocco
  • Rookie

  • 3 inlägg
  • 0
Hej, Scriptet verkar starta i rätt ordning.

Körde "sudo update.rc sascd default 19" och det ligger nu länkar i rcX.d som det skall. Mythtv-backend körs efter.

Någon som vet vad det kan vara för skillnad att köra scripten manuellt med sudo eller vid boot? Används root som användare vid boot t.ex.?

#4

Postad 12 augusti 2008 - 21:57

Crocco
  • Crocco
  • Rookie

  • 3 inlägg
  • 0
Problemet är löst! Ändrade till fast ip adress (hade inte hunnit ändrat detta sedan installationen gjordes) på servern och sedan fungerar det även direkt efter boot.



1 användare läser detta ämne

0 medlemmar, 1 gäster, 0 anonyma medlemmar

  • Hemmabiotidningen nr.10 2024
    Elias
    2024-09-25 19:37:23
  • Tomme
    2024-09-12 21:31:54
  • Tomme
    2024-09-12 21:30:43
  • Elias
    2024-09-04 17:31:02
  • Elias
    2024-09-04 17:29:09
  • Fler  |  Vilka bilder visas här?
Trendande produkter
Prisjakt © 2000 - 2024 Prisjakt   Cookiepolicy.   Våra regler.   Personuppgiftspolicy.  Hantera cookie-inställningar.