Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[gelöst] EasyVDR 3.0 - before-vdr-hooks Mechanismus
#1
Moin moin,
ich habe mir die EasyVDR 3.0 auf ein Testsystem (Gigabyte GA-EP43, 4GB RAM, MSI Nvidia 720, Cine S2 V6.2, SSD 128GB) installiert.
Die Installation von EasyVDR macht der Distri alle Ehre, ist wirklich easy! Hier mal ein großes DANKE an alle, die das in dieser Form ermöglichen.

Allerdings habe ich Probleme beim Einbinden eines Skriptes über den before-vdr-hooks Mechanismus.
Eines vorweg, meine Linux Kenntnisse sind eher dürftig aber ich versuche mich durchzuschlagen, man möge mir dies vor allem beim Skripten nachsehen Blush .
Warum benutze ich den before-vdr-hooks?
Um die Einschaltzeit im Atric IR-Wakeup Modul zu deaktivieren und die Uhrzeit im Modul zu aktualisieren.
Dazu habe ich folgendes Skript im Verzeichnis /use/share/vdr/before-vdr-hooks abgelegt:
Code:
#! /bin/bash
# do here whatever you would like to do right BEFORE the VDR STARTS
#date>$HOME/testlog
#ls -l /dev/ttyACM0>>$HOME/ testlog
chmod 777 /dev/ttyACM0
#sleep 3
#ls -l /dev/ttyACM0>>$HOME/testlog
d=`date +%y%m%d%H%M%S`
#echo TSACS$d>>$HOME/testlog
echo TSACS$d>/dev/ttyACM0
#echo "Uhrzeit gesetzt">>$HOME/testlog
sleep 3
echo WSACS1705141304>/dev/ttyACM0
#echo "Timer gelöscht">>$HOME/testlog
Was ist das Problem?
Der VDR startet nicht mehr! Das Skript wird ausgeführt und macht auch das was es soll. Der VDR jedoch bleibt bild- und tonlos. Das VDR Bild während des Startvorgangs wird ewig lang angezeigt und dann bleibt das Bild schwarz, man sieht nur den Mauszeiger.
Was habe ich bis jetzt getan?
Immer wieder am Skript herumgebastelt. Ich habe Hinweise gefunden, dass die Befehle, die an dieser Stelle in die Shell gehen sollen per echo abgesetzt werden müssen. Also habe ich alles umgebaut alla echo “chmod 755 /dev/ttyACM0“ usw. Hat aber nichts geändert. Und so habe ich dann Zeile für Zeile umgeschrieben, auskommentiert, gelöscht und geloggt, um einfach die Stelle zu finden die das Problem verursacht und den VDR nicht starten lässt. Ich bin sogar so weit gegangen, dass ich es mit einer leeren Skriptdatei im Ordner getestet habe. Als der VDR dann immer noch nicht starten wollte, viel mir nichts mehr ein, außer die Skriptdatei zu löschen. Und siehe da der VDR ist wieder da.
Was ist hier los? Was mache ich falsch? Habe ich den Mechanismus falsch verstanden? Ist das Skript oben so korrekt?
Vielleicht könnt ihr mich erhellen.
Grüße
Andy


Angehängte Dateien
.txt   syslog-20170128.txt (Größe: 235,86 KB / Downloads: 0)
Test: Gigabyte GA-EP43, 4GB RAM, MSI Nvidia 720, Cine S2 V6.2, SSD 128GB, Atric IR-Wakeup, EasyVDR 3.0
Produktiv:Asus AT3IONT-I, 4GB RAM, 1TB 2,5" FP, Cine S2 V5.5, VDPAU/NVidia, IR IgorUSB, EasyVDR 2.0 und
LinVDR mit Mahlzeit 4.0Beta2, die Kiste läufen und läuft und läuft und ...., seit über 10 Jahren
Zitieren
#2
(28.01.2017, 12:20)Antimon schrieb:
Code:
#! /bin/bash
# do here whatever you would like to do right BEFORE the VDR STARTS
#date>$HOME/testlog
#ls -l /dev/ttyACM0>>$HOME/ testlog
chmod 777 /dev/ttyACM0
#sleep 3
#ls -l /dev/ttyACM0>>$HOME/testlog
d=`date +%y%m%d%H%M%S`
#echo TSACS$d>>$HOME/testlog
echo TSACS$d>/dev/ttyACM0
#echo "Uhrzeit gesetzt">>$HOME/testlog
sleep 3
echo WSACS1705141304>/dev/ttyACM0
#echo "Timer gelöscht">>$HOME/testlog
Was ist das Problem?
Hallo Andy,
kenne mich zwar nicht mit deinem Vorhaben aus, jedoch fallen mir hier so ein paar Fehlerchen auf.
Wenn du zB etwas mit echo umlenken willst hast du zwar schon richtig mit > gearbeitet, aber richtige Schreibweise ist echo "was auch immer an text"$Variable > /Ort und Ziel
Heißt echo "TSACS"$d >> $HOME/testlog
Wobei '>' heißt neu erstellen und '>>' anhängen.

Wichtig ist auch, mit was du dieses Skript erstellst, entweder mit mc oder gedit am vdr, oder mit notepad++ am Windows PC. Andernfalls werden nicht gewollte Zeichen wzb ^M einfach eingefügt und das lässt dein Skript craschen.

Weiß leider auch nicht, ob sowas überhaupt erlaubt ist
echo "WSACS1705141304" > /dev/ttyACM0
da müssten die Kenner sich zu äußern.

Gruß Aaron
Mediacenter
easyVDR4.Alpha(Lubuntu18.04 64-Bit) Gigabyte, Ltd. H97-HD3 mit Intel® G3260 @ 3.30GHz 4GB DDRx,Intelgrafik,MATSHITA BD-MLT UJ265 Bluray LW, 2TB Festplatte,LCD+IRTrans-Empfänger,2x SkystarS2 PCI

Zitieren
#3
Wichtig im Skript sind folgende Zeilen:
Code:
#! /bin/bash

chmod 777 /dev/ttyACM0
echo "TSACS`date +%y%m%d%H%M%S`">/dev/ttyACM0
sleep 0.3
echo "WSACS0000000000">/dev/ttyACM0
1.Zeile: Anschluss des Atric IR-Wakeup beschreibbar machen
2.Zeile: die aktuelle Uhrzeit an den Anschluss senden, dazu muss ich die Zeichenfolge "TSACS" gefolgt von Jahr,Monat,Tag,Stunde,Minute,Sekunde (alles zweistellig)
3.Zeile: kurz warten
4.Zeile: Aufwachtimer zurücksetzen, dazu die Zeichenfolge "WSACS0000000000" an den Anschluss schicken

Die restlichen Zeilen die im ersten Post zu sehen sind, hatte ich nur zur Kontrolle eingebaut, um zu sehen, ob es auch wirklich tut was soll.
Das Problem ist nicht das Skript, das wird korrekt ausgeführt. Die eigentlichen Probleme sind:
- der Startvorgang verlänget erheblich (womit ich Leben kann)
- der VDR startet nicht mehr (schwarzer Bildschirm mit Mauszeiger, so wie im ersten Post beschrieben) und damit kann ich natürlich nicht Leben.
Aber wo ist der Fehler?
Muss ich einen bestimmten Dateinamen im Ordner /usr/share/vdr/before-vdr-hooks benutzen? Huh 
Kann ich hier ein ganz normales bash Skript verwenden oder muss ich eine bestimmte Formatierung beachten?Huh
Test: Gigabyte GA-EP43, 4GB RAM, MSI Nvidia 720, Cine S2 V6.2, SSD 128GB, Atric IR-Wakeup, EasyVDR 3.0
Produktiv:Asus AT3IONT-I, 4GB RAM, 1TB 2,5" FP, Cine S2 V5.5, VDPAU/NVidia, IR IgorUSB, EasyVDR 2.0 und
LinVDR mit Mahlzeit 4.0Beta2, die Kiste läufen und läuft und läuft und ...., seit über 10 Jahren
Zitieren
#4
Gehört die Datei im hooks Ordner dem usr vdr?
Und ja, eine Skriptform ist möglich. Kannst du zB in shutdown-hooks sehen, dort verstecken sich einige Skripte.

Gruß Aaron
Mediacenter
easyVDR4.Alpha(Lubuntu18.04 64-Bit) Gigabyte, Ltd. H97-HD3 mit Intel® G3260 @ 3.30GHz 4GB DDRx,Intelgrafik,MATSHITA BD-MLT UJ265 Bluray LW, 2TB Festplatte,LCD+IRTrans-Empfänger,2x SkystarS2 PCI

Zitieren
#5
@gb
Nein, die Datei gehörte root.
Hab es mit "chown vdr:vdr 10_Ser-IR-Wakeup.custom" und "chown vdr:easyvdr 10_Ser-IR-Wakeup.custom" versucht. Ändert aber leider nichts, der VDR startet nicht.
Testweise habe ich die Datei 10_Ser-IR-Wakeup.custom im Ordner /usr/share/vdr/before-vdr-hooks wieder gelöscht und der vdr startet wieder zügig durch und läuft.
Huh Huh Huh
Test: Gigabyte GA-EP43, 4GB RAM, MSI Nvidia 720, Cine S2 V6.2, SSD 128GB, Atric IR-Wakeup, EasyVDR 3.0
Produktiv:Asus AT3IONT-I, 4GB RAM, 1TB 2,5" FP, Cine S2 V5.5, VDPAU/NVidia, IR IgorUSB, EasyVDR 2.0 und
LinVDR mit Mahlzeit 4.0Beta2, die Kiste läufen und läuft und läuft und ...., seit über 10 Jahren
Zitieren
#6
Hmm.. verstehe ich nicht.

Was ist wenn du sie unter /etc/vdr/before-vdr-hooks probierst?

Gruß Aaron
Mediacenter
easyVDR4.Alpha(Lubuntu18.04 64-Bit) Gigabyte, Ltd. H97-HD3 mit Intel® G3260 @ 3.30GHz 4GB DDRx,Intelgrafik,MATSHITA BD-MLT UJ265 Bluray LW, 2TB Festplatte,LCD+IRTrans-Empfänger,2x SkystarS2 PCI

Zitieren
#7
Hab es in /etc/vdr/before-vdr-hooks versucht. Das gleiche Egebnis -> VDR startet nicht.
Ich kann das Skript übrigens direkt aus der shell starten, sowohl aus /etc/vdr/before... als auch aus /usr/share/vdr/before...
Und es macht was es soll.

Ist der Dateiname eigentlich wichtig? Also muss die Datei "10......custom" heißen?
Test: Gigabyte GA-EP43, 4GB RAM, MSI Nvidia 720, Cine S2 V6.2, SSD 128GB, Atric IR-Wakeup, EasyVDR 3.0
Produktiv:Asus AT3IONT-I, 4GB RAM, 1TB 2,5" FP, Cine S2 V5.5, VDPAU/NVidia, IR IgorUSB, EasyVDR 2.0 und
LinVDR mit Mahlzeit 4.0Beta2, die Kiste läufen und läuft und läuft und ...., seit über 10 Jahren
Zitieren
#8
Kannst du mal probieren ob es unter /etc/vdr/after-vdr-hooks ausgeführt wird?

Ein chmod 777 könnte unter Umständen bei deinem Skript auch noch helfen.

Sollte nichts der Gleichen eine brauchbare Lösung erzielen, auf Wolfgang ( mango ) warten. Wolfgang ist unserer vdr Experte und hat sicher ein paar Ideen.

Edit:
Zitat:Ist der Dateiname eigentlich wichtig? Also muss die Datei "10......custom" heißen?
custom hat glaub ich keine Bedeutung, die Zahl davor schon. Sind mehrere Skripte im Order, wird damit sie Startreihenfolge bestimmt.
Bitte korrigieren, wenn ich daneben liege.

Gruß Aaron
Mediacenter
easyVDR4.Alpha(Lubuntu18.04 64-Bit) Gigabyte, Ltd. H97-HD3 mit Intel® G3260 @ 3.30GHz 4GB DDRx,Intelgrafik,MATSHITA BD-MLT UJ265 Bluray LW, 2TB Festplatte,LCD+IRTrans-Empfänger,2x SkystarS2 PCI

Zitieren
#9
Zitat:Kannst du mal probieren ob es unter /etc/vdr/after-vdr-hooks ausgeführt wird?

Nur nochmal zur Erinnerung, das Skript wird in /usr/share/vdr/before-vdr-hooks als auch in /etc/vdr/before-vdr-hooks ausgeführt, lediglich der VDR startet nicht mehr (weder Ton noch Bild).
Und auch in /etc/vdr/after-vdr-hooks wird das Skript korrekt abgearbeitet und der VDR scheint unbeeindruckt weiter zu laufen. Na ja, das ist ja schon mal ein Fortschritt.


Übrigens habe ich tatsächlich gedacht after-vdr-hooks wird kurz nach dem Beenden des VDR abgearbeitet und nicht kurz nach dem Start. Blush 

Zitat:Ein chmod 777 könnte unter Umständen bei deinem Skript auch noch helfen.

Das hatte ich vorher schon versucht, hatte jedoch auch nichts geholfen.
Test: Gigabyte GA-EP43, 4GB RAM, MSI Nvidia 720, Cine S2 V6.2, SSD 128GB, Atric IR-Wakeup, EasyVDR 3.0
Produktiv:Asus AT3IONT-I, 4GB RAM, 1TB 2,5" FP, Cine S2 V5.5, VDPAU/NVidia, IR IgorUSB, EasyVDR 2.0 und
LinVDR mit Mahlzeit 4.0Beta2, die Kiste läufen und läuft und läuft und ...., seit über 10 Jahren
Zitieren
#10
Hallo Andy,
immerhin ein Teilerfolg, muß man nun noch ergründen, warum before-vdr-hooks nicht tut und das scheint wohl ein generelles Problem zu sein.

Gruß Aaron
Mediacenter
easyVDR4.Alpha(Lubuntu18.04 64-Bit) Gigabyte, Ltd. H97-HD3 mit Intel® G3260 @ 3.30GHz 4GB DDRx,Intelgrafik,MATSHITA BD-MLT UJ265 Bluray LW, 2TB Festplatte,LCD+IRTrans-Empfänger,2x SkystarS2 PCI

Zitieren
#11
Hi,

(28.01.2017, 19:32)Antimon schrieb: Nur nochmal zur Erinnerung, das Skript wird in /usr/share/vdr/before-vdr-hooks als auch in /etc/vdr/before-vdr-hooks ausgeführt, lediglich der VDR startet nicht mehr (weder Ton noch Bild).
Und auch in /etc/vdr/after-vdr-hooks wird das Skript korrekt abgearbeitet und der VDR scheint unbeeindruckt weiter zu laufen. Na ja, das ist ja schon mal ein Fortschritt.
"/etc/vdr/before-vdr-hooks" ist ein Symlink und zeigt auf /usr/share/vdr/before-vdr-hooks.
Scripte die in "/usr/share/vdr/before-vdr-hooks" abgelegt sind, werden automatisch nach "/etc/vdr/before-vdr-hooks" gelinkt.
Script-Name "10_Ser-IR-Wakeup"mit chmod a+x ausführbar machen & chown root:root fertig.

(28.01.2017, 20:49)gb schrieb: immerhin ein Teilerfolg, muß man nun noch ergründen, warum before-vdr-hooks nicht tut und das scheint wohl ein generelles Problem zu sein.
Problem warum das Script nicht aus diesem Dir startet, sollte auch klar sein. ...VDR wird in einer Konsole
gestartet, was das Script aber verhindert. ...mit
Code:
exit 113 # will return to shell
oder
Code:
exit 77 # exit all subshells
oder
Code:
exit 12   # exit only this subshell
am Ende des Scripts wird das Script abgearbeitet und VDR wird gestartet.
Es klappt mit allen, bevorzuge aber "exit 113"

Gruss
Wolfgang

Zitieren
#12
Hi Wolfgang

(29.01.2017, 00:10)mango schrieb: am Ende des Scripts wird das Script abgearbeitet und VDR wird gestartet.
Es klappt mit allen, bevorzuge aber "exit 113"
Guten zu wissen, man lernt halt immer wieder was dazu.

PS: Ist ja schon was spezielles, steht das irgendwo im Wiki?

Gruß Aaron
Mediacenter
easyVDR4.Alpha(Lubuntu18.04 64-Bit) Gigabyte, Ltd. H97-HD3 mit Intel® G3260 @ 3.30GHz 4GB DDRx,Intelgrafik,MATSHITA BD-MLT UJ265 Bluray LW, 2TB Festplatte,LCD+IRTrans-Empfänger,2x SkystarS2 PCI

Zitieren
#13
Hi Aaron,

(29.01.2017, 00:38)gb schrieb: PS: Ist ja schon was spezielles, steht das irgendwo im Wiki?
wollte das mal eintragen, leider noch nicht gemacht.
Die Info hatte ich wohl aus "Advanced Bash-Scripting Guide"

Gruss
Wolfgang

Zitieren
#14
Zitat:Problem warum das Script nicht aus diesem Dir startet, sollte auch klar sein. ..
Das ist mir nun überhaupt nicht klar gewesen "exit 113". Confused
Hab es gerade ausprobiert und es läuft.

Zitat:Guten zu wissen, man lernt halt immer wieder was dazu.
So ist es!

Vielen dank an euch für die Unterstützung.
Gruß
Andy
Test: Gigabyte GA-EP43, 4GB RAM, MSI Nvidia 720, Cine S2 V6.2, SSD 128GB, Atric IR-Wakeup, EasyVDR 3.0
Produktiv:Asus AT3IONT-I, 4GB RAM, 1TB 2,5" FP, Cine S2 V5.5, VDPAU/NVidia, IR IgorUSB, EasyVDR 2.0 und
LinVDR mit Mahlzeit 4.0Beta2, die Kiste läufen und läuft und läuft und ...., seit über 10 Jahren
Zitieren
#15
Hi,

(29.01.2017, 00:59)Antimon schrieb: Hab es gerade ausprobiert und es läuft.
dann ist ja alles Ok!
Bitte setze den Thread auf gelöst - Einganspost [gelöst] vor "EasyVDR 3.0 - before-vdr-hooks Mechanismus"

Gruss
Wolfgang

Zitieren
#16
Hallo Wolfgang

(29.01.2017, 00:42)mango schrieb: wollte das mal eintragen, leider noch nicht gemacht.
Alles gut, bist ja so schon viel zu fleißig. Smile

Habe diesen Part mal übernommen und einen Eintrag erstellt
http://wiki.easy-vdr.de/index.php?title=...-vdr-hooks
Bitte nochmal kurz drüber schauen und sagen ob so ok.

Gruß Aaron
Mediacenter
easyVDR4.Alpha(Lubuntu18.04 64-Bit) Gigabyte, Ltd. H97-HD3 mit Intel® G3260 @ 3.30GHz 4GB DDRx,Intelgrafik,MATSHITA BD-MLT UJ265 Bluray LW, 2TB Festplatte,LCD+IRTrans-Empfänger,2x SkystarS2 PCI

Zitieren
#17
Hi,

(29.01.2017, 10:05)gb schrieb: Bitte nochmal kurz drüber schauen und sagen ob so ok.
...alles Paletti! Wink

Gruss
Wolfgang

Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: