Quantcast
Channel: Kodinerds.net - Deutschsprachiges Forum zum Kodi Entertainment Center
Viewing all articles
Browse latest Browse all 87137

OMV installation von DigitalDevices CineCT, Tvheadend, Oscam, Autoshutdownplugin

$
0
0
In Ergänzung zum Installationsthread von xSaSx habe ich mal versucht die Reste zu beschreiben die ich noch so gemacht habe bis das System
so lief wie ich es wollte.Es ist nicht alles von mir, sondern eher ein Zusammentragen diverser Infos die ich im Netz gefunden habe.

Treiber Digital Devices Cine CT:

[SOLVED] DD Cine CT unter Linux


Shell-Script

  1. apt-get install mercurial build-essential libproc-processtable-perl
  2. apt-get install linux-headers-$(uname -r)
  3. apt-get install patchutils
  4. hg clone http://linuxtv.org/hg/~endriss/media_build_experimental
  5. cd media_build_experimental
  6. make download
  7. make untar
  8. make
  9. make install
  10. experimental/oe/get_dvb_firmware "ddbridge - Typ" (wenn man erstmal nichts eingibt wird die syntax erläutert)


TVHeadend

kodinerds.net/index.php/Thread…stallation-Konfiguration/

Jetzt haben wir schonmal die Treiber installiert und TVHeadend installiert.
Wie man TVHeadend richtig einrichtet, kann ich leider nicht wirklich erklären,
da ich da selber noch etwas in der Luft hänge, ob das was ich gemacht habe auch richtig war ;)

Autoshutdownplugin

Nun kann man das Autoshutdownplugin einrichten. Ich habe einfach mal nen screen von meinen
Einstellungen gemacht. Damit fahre ich eigentlich ganz gut. Ich habe folgende Punkte aktiviert:

Durchläufe: 3
Schlafen: 180
IP-Bereich: 2,4,100 (Das sind meine PC's und der HTPC)
Sockets: 80, 9982, 15828 (Webinterface, TVHeadend, Bittorrent)
ULDL Rate: 80 ( Falls ich noch einen torrent aktiv habe)
HDD/IO Rate: 201 (damit verhindere ich das bei einer aktiven Aufnahme das System runterfährt)



Modifizierte Scripts

Jetzt haben wir allerdings das Problem das TVHeadend nicht mehr unbedingt ordentlich funktioniert wenn das System wieder aufwacht. Da kann man sich allerdings bei behelfen in dem man die Treiber beim schlafen gehen
entlädt und beim Aufwachen wieder neu lädt.
Dies kann man mit kleinen Scripten in /etc/pm/sleep.d/ machen.

Treiber zum Ruhezustand entladen und beim aufwecken wieder laden.
98_ddbridge_restart

Shell-Script

  1. #!/bin/bash
  2. case "$1" in
  3. hibernate|suspend)
  4. logger -s -t "$USER autoshutdown [$$]" "hibernate/suspend: ddbridge unload /etc/pm/sleep.d/98_ddbridge_restart"
  5. modprobe -r ddbridge
  6. ;;
  7. thaw|resume)
  8. logger -s -t "$USER autoshutdown [$$]" "thaw/resume: ddbridge load /etc/pm/sleep.d/98_ddbridge_restart"
  9. modprobe ddbridge
  10. ;;
  11. *)
  12. logger -s -t "$USER autoshutdown [$$]" "other: ddbridge call /etc/pm/sleep.d/98_ddbridge_restart"
  13. ;;
  14. esac
Alles anzeigen


Gleiches gilt dann auch für TVHeadend:
97_tvheadend_restart

Shell-Script

  1. #!/bin/bash
  2. case "$1" in
  3. hibernate|suspend)
  4. logger -s -t "$USER autoshutdown [$$]" "hibernate/suspend: tvheadend stop /etc/pm/sleep.d/97_tvheadend_restart"
  5. /etc/init.d/tvheadend stop
  6. ;;
  7. thaw|resume)
  8. logger -s -t "$USER autoshutdown [$$]" "thaw/resume: tvheadend start /etc/pm/sleep.d/97_tvheadend_restart"
  9. /etc/init.d/tvheadend start
  10. ;;
  11. *)
  12. logger -s -t "$USER autoshutdown [$$]" "other: tvheadend call /etc/pm/sleep.d/97_tvheadend_restart"
  13. ;;
  14. esac
Alles anzeigen


Ich habe nun noch die Datei "autoshutdown-restart" in "99_autoshutdown-restart" umbenannt, damit es als letztes ausgeführt wird.

So nun wird alles wieder sauber geladen und sollte funktionieren. Da man aber ja auch gerne einen Timer programmieren möchte, muss man ja auch noch etwas haben, was das System wieder einschaltet. Dazu gibt aber auch Abhilfe.

Aufwachen für Timer
96_wakeuptimer

Shell-Script

  1. #!/bin/bash
  2. #
  3. # set ACPI Wakeup alarm
  4. # safe_margin - minutes to start up system before the earliest timer
  5. # script does not check if recording is in progress
  6. #
  7. #
  8. echo 1 > /timer
  9. # bootup system 60 sec. before timer
  10. safe_margin=300
  11. # modyfy if different location for tvheadend dvr/log path
  12. cd /home/hts/.hts/tvheadend/dvr/log
  13. ######################
  14. start_date=0
  15. stop_date=0
  16. current_date=`date +%s`
  17. for i in $( ls ); do
  18. tmp_start=`cat $i | grep '"start":' | cut -f 2 -d " " | cut -f 1 -d ","`
  19. tmp_stop=`cat $i | grep '"stop":' | cut -f 2 -d " " | cut -f 1 -d ","`
  20. # check for outdated timer
  21. if [ $((tmp_stop)) -gt $((current_date)) -a $((tmp_start)) -gt $((current_date)) ]; then
  22. # take lower value (tmp_start or start_date)
  23. if [ $((start_date)) -eq 0 -o $((tmp_start)) -lt $((start_date)) ]; then
  24. start_date=$tmp_start
  25. stop_date=$tmp_stop
  26. fi
  27. fi
  28. done
  29. wake_date=$((start_date-safe_margin))
  30. echo $start_date >> /timer
  31. echo $wake_date >> /timer
  32. # set up waleup alarm
  33. if [ $((start_date)) -ne 0 ]; then
  34. echo 2 >> /timer
  35. echo 0 > /sys/class/rtc/rtc0/wakealarm
  36. echo $wake_date > /sys/class/rtc/rtc0/wakealarm
  37. fi
Alles anzeigen


Des Weiteren habe ich festgestellt, dass wenn das System im Ruhezustand war und wieder hoch fährt
Die CPU last kurz Enorm ansteigt, was in den Standard Einstellungen von OMV immer eine Warn Mail abschickt. Das konnte ich folgender Maßen abstellen:

WarnMails abschalten
95_custom-monit

Shell-Script

  1. #!/bin/sh
  2. # reload monit to avoid cpu wait usage alert
  3. case "$1" in
  4. hibernate|suspend)
  5. monit unmonitor all
  6. ;;
  7. thaw|resume)
  8. sleep 32
  9. monit monitor all
  10. ;;
  11. *) exit $NA
  12. ;;
  13. esac
Alles anzeigen


Hier wird bei einfach kurz gewartet bis wieder überwacht wird. Diese Zeit reicht aus um sie Lastspitze zu überbrücken.

Damit haben wir alle Scripte in diesem Ordner durch. Sie benötigen natürlich die ausführbare Rechte (755).

OScam

Nun kann man zur Oscam kommen. Da kann man am einfachsten nach googeln.
Muss halt für Debian Wheezy sein. Diese kommt dann Ausführbar nach "/usr/local/bin/oscam".

Dazu packen wir noch folgendes script nach "/etc"

Oscam starten/stoppen
Osam.sh

Shell-Script

  1. #!/bin/sh
  2. ### BEGIN INIT INFO
  3. # Provides: oscam
  4. # Required-Start:
  5. # Required-Stop:
  6. # Should-Start: oscam
  7. # Default-Start: S
  8. # Default-Stop:
  9. # Short-Description: starts oscam in /usr/local/bin.
  10. # Description: Starts an Oscam Client.
  11. ### END INIT INFO
  12. DAEMON=/usr/local/bin/oscam
  13. PIDFILE=/var/run/oscam.pid
  14. DAEMON_OPTS="-p 1024 -w 5 -r 2 -B ${PIDFILE}"
  15. test -x ${DAEMON} || exit 0
  16. . /lib/lsb/init-functions
  17. case "$1" in
  18. start)
  19. log_daemon_msg "Starting OScam..."
  20. /sbin/start-stop-daemon --start --quiet --background --exec ${DAEMON} -- ${DAEMON_OPTS}
  21. log_end_msg $?
  22. ;;
  23. stop)
  24. log_daemon_msg "Stopping OScam..."
  25. /sbin/start-stop-daemon --stop --exec ${DAEMON}
  26. log_end_msg $?
  27. ;;
  28. restart)
  29. $0 stop
  30. $0 start
  31. ;;
  32. force-reload)
  33. $0 stop
  34. /bin/kill -9 `pidof oscam`
  35. /usr/local/bin/killall -9 oscam
  36. $0 start
  37. ;;
  38. *)
  39. echo "Usage: /etc/init.d/oscam {start|stop|restart|force-reload}"
  40. exit 1
  41. ;;
  42. esac
Alles anzeigen


Nun habe ich mir noch das Startscript von TVHeadend geändert damit direkt auch die Oscam mit gestartet wird.

/etc/init.d/tvheadend / Der Part ist ganz unten….
tvheadend

Quellcode

  1. case "$1" in
  2. start)
  3. [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
  4. do_start
  5. case "$?" in
  6. 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
  7. 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
  8. esac
  9. /etc/oscam.sh start
  10. ;;
  11. stop)
  12. [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
  13. do_stop
  14. case "$?" in
  15. 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
  16. 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
  17. esac
  18. etc/oscam.sh stop
  19. ;;
  20. restart|force-reload)
  21. #
  22. # If the "reload" option is implemented then remove the
  23. # 'force-reload' alias
  24. #
  25. log_daemon_msg "Restarting $DESC" "$NAME"
  26. do_stop
  27. case "$?" in
  28. 0|1)
  29. do_start
  30. case "$?" in
  31. 0) log_end_msg 0 ;;
  32. 1) log_end_msg 1 ;; # Old process is still running
  33. *) log_end_msg 1 ;; # Failed to start
  34. esac
  35. ;;
  36. *)
  37. # Failed to stop
  38. log_end_msg 1
  39. ;;
  40. esac
  41. ;;
  42. *)
  43. echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
  44. exit 3
  45. ;;
  46. esac
Alles anzeigen


Nun sollte eigentlich alles soweit laufen. :

Mein Dank gilt xSaSx, C0mmanda, Coolinger, dem OMV-Board und dem TVHeadendBoard.

Viewing all articles
Browse latest Browse all 87137


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>