CT-VDR Version 4.5 set_timer und WOL probleme [Beides gelöst]

  • Hallo zusammen.


    Ich habe in den letzten Tagen meine 3'er ct-VDR Version aufgegeben und die neue 4.5 er installiert. Dabei habe ich meine seperate Video-Partition erhalten belassen und nach der neuen Installation in /var/lib/vdr als video.00 eingebunden (link gesetzt).


    Danach kam der VDR nicht mehr hoch, da im Video-Verzeichniss noch der Datei-Owner root gesetzt war und der neue VDR unter dem Benutzer vdr läuft.
    Speziell hatte den VDR gestört, dass er das Verzeichnis .../film/dvd nicht anlgenen konnte. Mit einem Recursiven chown vdr:vdr /var/lib/vdr/video.00 wurde dieses Problem gefixt.


    Nun habe ich noch 2 verbleibende Probleme:


    * Erstens funktioniert nun kein "Wake On Lan" mehr (WOL).
    Das kann am neuen Kernel, oder an Grub stat wie bisher Lilo liegen ... wer weiss wie man das lösen kann?


    * Zweitens habe ich wie bisher versucht das set_timer script einzubauen. Eben, wie von mir für die 2 er und 3 er version im vdr-wiki funktionierend beschreiben.
    Doch hier in der 4.5 er scheint es nicht mehr zu funktionieren ....


    Da offenbar MAX_TRY_AGAIN immer undefiniert ist, wenn niemand das herunterfahren verhindern will gab es hier immer eine Fehlermeldung.
    if [ $MAX_TRY_AGAIN -gt 0 ]


    Habe es also umgebaut in
    if [ $MAX_TRY_AGAIN ]


    Das scheint jetzt auch zu greifen ... soweit ich das mit eingebauten echo meldungen beurteilen kann aber ...


    Im user.log sehe ich, dass set_timer mit Exitcode 77 beendet/abgebrochen wird. Leider weiss ich nicht was das bedeuten soll!
    Rufe ich das script aus der shell als root auf, so kommt keine Fehlermeldung!!!
    Nehme also an, es ist irgendwie ein Rechteproblem!?
    Nun weiss ich leider nicht, wie ich mich als vdr einloggen soll, da ich dort das passwort ja nicht kenne ;o) ... sorry!?


    Die Rechte für das Script und den Link darauf habe ich natürlich auf die Gruppe vdr verlegt und auch auf ausführbar gestellt. trotzdem kein Erfolg.
    Wer kann mir helfen ? Aktuallisiere auch gerne wieder das Wiki diesbezüglich!


    Besten Dank im Voraus .... natürlich ist mir das set_timer am wichtigsten von den zweien ;o)



    Was ich noch versuchen muss (aus uraltem Thread, in dem mir gezeigt wurde wie man es hinbekommt):

  • Hi!


    Ich habe genau das selbe Problem.
    Ich weiss auch nicht woher die Variable $2 herkommt. Denn ich habe im set_timer script in die IF Anweisung ein echo eingefügt, damit ich nachprüfen kann ob überhaupt erkannt wird das ein Parameter übergeben wird. Das geschieht scheinbar nicht! Ich weiss nicht wie ich das nun anstellen soll.


    In meiner Shutdowndatei steht das was im Wiki steht drin. Ich lasse die Ausgabe zusätzlich in ein File im /var/log umleiten. Da steht aber nur das erste Echo drin. Das Script wird also ausgeführt, aber die HWClock wird nicht geändert. Wo wird denn nun $2 übergeben?


    €: Meine gesamte Vorgehensweise ist in dem Thread hier beschrieben: http://vdr-portal.de/board/thread.php?threadid=20783&sid=

    Ich bin nicht paranoid!
    Paranoide denken sie werden verfolgt.
    ICH WEISS ES!

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Plurax ()

  • Ich vermute das im CT VDR irgendwas mit dem Aufruf des Shutdownscripts nicht recht ist. Vielleicht ist die Variable $2 nicht gültig im Tochterscript oder sowas. Jedenfalls wird der Parameter nicht übergeben. Das hab ich anhand von eingefügten echos gefunden, die IF Funktion die greift wenn ein Timer existiert wird gar nicht betreten...


    Deswegen wird auch keine Zeit verändert. Nur in welchem Script wird das shutdownscript aufgerufen???

  • Habe das Probloem im Moment magels Zeit noch nicht näher gesucht, lediglich tips von Kollegen eingeholt.


    strace sei ein tool, mit dem man den Aufruf-verlauf verfolgen könnte und Fehlermeldungen diesbezüglich sehen müsste.


    http://www.die.net/doc/linux/man/man1/strace.1.html


    Bin noch nicht dazu gekommen.
    Zu installieren ist es via apt-get install strace


    Zu den 2 Parametern:
    Die custom-90 Datei wird vom VDR (oder dem Wrapper) aufgerufen und bekommt von diesem die beiden Parameter bei Bedarf übergeben.
    Mehr weiss ich auch nicht mehr.


    Ausserdem hat mein Linux-Kollege gemeint, dass es Ihn sehr wundern würde, wenn ein Benutzer vdr einfach die Systemzeit verändern dürfte! Da müssen vermutlich Rechte vergeben werden.



    Ich weiss,- alles nur Ideen und nichts handfestes, aber am Wochenende habe ich ggf. mehr Zeit (wenn keine Samstagsarbeit wegen Termindruck angeordnet wird)



    Bis bald .... nehme an, wir zwei sind nicht die Einzigen, die an diesem Problem hängen. Drum immer mal wieder hoch schieb ;o)


    Für Profis der VDR Scene ist das Ganze doch bestimmt ein Klacks!

  • Yeah... Ich hab was gefunden:
    Timer gesetzt, Ausgabe umgeleitet, ohne zu warten neu gestartet:


    set_timer.log:
    /usr/sbin/set_timer: line 78: /var/log/set_timer.msg: Permission denied
    /usr/sbin/set_timer: line 79: /var/log/set_timer.msg: Permission denied
    /usr/sbin/set_timer: line 84: /var/log/set_timer.msg: Permission denied
    /usr/sbin/set_timer: line 86: /var/log/set_timer.msg: Permission denied
    Sorry, only the superuser can change the Hardware Clock.


    Damit sei das wohl klar. Nur wie kann ich hwclock als Su ausführen lassen?


    €: Die permission denied kommen daher das der shutdown wahrscheinlich als user vdr ausgeführt wird. Damit konnte ich wohl bisher auch kein Logfile sehen... Bis ich die gesamte Ausgabe umgeleitet habe...

    Ich bin nicht paranoid!
    Paranoide denken sie werden verfolgt.
    ICH WEISS ES!

    Dieser Beitrag wurde bereits 3 Mal editiert, zuletzt von Plurax ()

  • Irgend etwas hat mein Kollege erzählt von "Admin Bit" setzen ... weiss nicht was soll es bedeuten.
    Aber morgen treffe ich Ihn wieder und kann dann nachhaken.


    Bitte nicht vergessen die Zusammenfassung, was zu machen ist hier oder im Wiki zu posten. Werde es dann nachvollziehen,- sozusagen gegenlesen,
    und damit können wir es dann für die Ewigkeit hinterlegen ;o)


    Meine letzte Beschreibung im Wiki hat ja immerhin 2-3 Jahre Ihre Gültigkeit behalten und vermutlich vielen geholfen.

  • Mein Bruder hat gesagt ich soll die Shellscripte mit chmod u+s ändern. Das hab ich gerad mit dem set_timer script in /usr/sbin und mit dem shutdownscript in /usr/share/vdr/shutdown-hooks gemacht. Und nun warte ich hoffend das die Kiste ohne mein zutun wieder anspringt...

  • Moin,


    so - der Reihe nach:
    - Wake on LAN: Viele Treiber haben das per Default disabled. Installier' Dir mal das ethtool und dann solltest Du in der Lage sein, mit dem Befehl

    Code
    1. ethtool -s <Dein_Netzwerkinterface-meist eth0> wol umbg


    WOL wieder zu enablen. Das Dumme ist nur, dass dieses bei jedem Booten und/oder shutdown zu geschehen hat - ich mach's mit folgendem kleinen Script in /etc/init.d:

    Shell-Script
    1. #!/bin/bash
    2. /usr/sbin/ethtool -s eth0 wol umbg


    Mit

    Code
    1. update-rc.d ethtool defaults

    setzt Du die passenden Links, damit's auch wirklich bei Start und Stop des Rechners ausgefuehrt wird.


    Jetzt sollte WOL wieder gehen.


    - Ich kenne set-timer nicht, aber zur Syntax:
    Die if - Abfrage ist sauberer wie folgt (*Scheiss-klug-modus=on*)

    Code
    1. if [ -n "$MAX_TRY_AGAIN" && "$MAX_TRY_AGAIN" != "0" ]

    (*Scheiss-klug-modus=off*)
    Damit fragst Du ab, ob die Variable einen Inhalt hat und nicht gleich 0 ist ...


    - Admin Bit - er meint sicher das sog. setuid bit, dass dafuer sorgt, dass ein Programm mit den Rechten des Eigentuemers und nicht des Ausfuehrenden ausgefuehrt wird. Somit sollten wahrscheinlich /usr/bin/date und/oder /usr/sbin/hwclock root gehoeren (sollte standardmaessig so sein) und das setuid bit gesetzt haben:

    Code
    1. chown root:root /usr/bin/date /usr/sbin/hwclock
    2. chmod u+s /usr/bin/date /usr/sbin/hwclock


    Hoffe, ich konnte helfen.


    Gruss


    /elle

  • Moin,


    das set_timer Skript sollte ausreichen, wenn's root gehoert.


    Gruss


    /elle

  • Vielen Dank für Deine Tips und auch für die Korrektur meines Linux-Anfänger-Scriptes ;o)


    Zum Besseren Verständnis für alle Anderen, die hier nachlesen:
    Ich habe das kleine Script bei mir enable_wol benannt und die Rechte auf ausführbar gesetzt.

    Shell-Script
    1. #!/bin/bash
    2. /usr/sbin/ethtool -s eth0 wol umbg


    Daher habe ich dann im folgenden den Befehl

    Code
    1. update-rc.d enable_wol defaults


    ausgeführt, um den Aufruf für alle runlevel eintragen zu lassen.


    Ich berichte noch, ob der VDR sich wecken lässt! Im Moment darf ich Ihn nicht herunterfahren ... es wird gerade geschaut ;o)



    Vielen Dank aber schon mal für die Tips.

  • Genau das hab ich probiert und es funktioniert auch nicht.


    Es steht das selbe im Log wie oben geschrieben. Vielleicht gibts noch eine andere Restriktion die das irgendwie verbietet???


    Wär schade...

  • Hmm,


    wenn ich mich dunkel erinnere, gibt's ne Restriktion, was scripte angeht.


    Versuch's mal mit hwclock und/oder date ...

    Code
    1. chmod u+s /usr/sbin/hwclock


    Gruss


    /elle

  • Code
    1. apt-get install hwclock

    sollte Dir hwclock installieren ...


    Das scheint Dir noch zu fehlen.


    Gruss + gute N8t


    /elle

  • Habe es jetz versucht ... (WOL)


    Nun schaltet sich der Rechner nicht mehr aus. Wenn ich ihn händisch ausschalte stringt er augenblicklich wieder an ... auch nicht das gelbe vome Ein ;o)


    Denke es liegt an den übergebenen Aufwachbedingungen umbg , die wohl etwas konservativer sein sollten.
    Habe mich also auf das magic-packet beschränkt also<B>g anstatt umbg</B>



    Jetzt funktioniert es mit meinem Epia 533MHz Board, - Vielen Dank. Werde es morgen ggf. auf der Wiki-Page verewigen


    Teil 1 gelöst


    Plurax


    Ich vermute eher, dass bei Dir im Script <B>set_timer</B> der Pfad nicht korrekt auf die wirkliche Lage des Programms <B>hwclock</B>gesetzt ist.


    Das auf jeden Fall nochmal prüfen, da inzwischen (seit ich damals den Wiki-Eintrag erstellt habe) im Set-Timer script Platzhalter/Symbolische Namen für die Lage der Befehle eingeführt wurden.


    Ich selbst versuche mich erst morgen an diesem Punkt. Ich berichte dann.


  • Es ist ja schon da. Ich habe ja wie oben beschrieben die Rechte geändert. Warum sollte es dann auf einmal weg sein? Die Datei liegt auch im angegebenen Pfad, außerdem wäre dann vorer schon der Fehler gekommen und nicht "only root can change hardware clock"
    Gibt es kein Workaround das man als das als User ausführen darf? :rolleyes:

    Ich bin nicht paranoid!
    Paranoide denken sie werden verfolgt.
    ICH WEISS ES!

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Plurax ()

  • Moin,


    hwclock liest und schreibt von/auf /dev/rtc, das hier auf meinem ubuntu laptop root:audio gehoert (wieso eigentlich audio????).


    Setz mal den vdr user in die Gruppe audio - vllt. hilft das?


    Hattest Du denn auch mal versucht /usr/sbin/hwclock auf -rwsr-xr-x root:root zu setzen mit

    Code
    1. chmod u+s /usr/sbin/hwclock

    ?


    Dann sollte hwclock eigentlich immer als root ausgefuehrt werden - egal wer es startet...


    Gruss


    /elle

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von elle ()

  • Jo hab ich. Steht glaub ich weiter oben. Das hat mir mein Bruder auch schon gesagt. Aber wenn du das mit dem Device gesagt hast könnte das vielleicht ein Grund sein. Ich probier es aus wenn ich zu hause bin... Danke

  • Hm ich hab gerad ein anderes Problem...
    Meine Nexus wird auf einmal nicht mehr erkannt. Es ist zwar ein kurioser Aufbau aber funktionieren müsste er trotzdem :(


    Dummerweise weiss ich nicht mehr wie die Rechte vergeben waren...


    Na ja ich versuch mal das was ich noch weiss wieder rückgängig zu machen...

  • ARGH



    Das hat doch mit meinen Änderungen gar nichts zu tun???
    Ich kann ned noch mall installieren weil ich kein CD ROM mehr hab uähhhh


    €: Vielleicht hab ich das Groupfile falsch geändert. Was steht bei euch da wenn ihr groups vdr eingebt?
    €: Puh... Das Device gehört der Gruppe "video" und ich hab mit meinen Gruppenspielereien video aus Versehen rausgeschmissen...
    Wäre das auch geklärt... Jetzt läuft der Versuch mit dem /dev/rtc an...
    Ich hoff das das irgendwann mal funzt..

    Ich bin nicht paranoid!
    Paranoide denken sie werden verfolgt.
    ICH WEISS ES!

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von Plurax ()