Ergebnis 1 bis 2 von 2
  1. #1
    Anfänger
    Registriert seit
    23.03.2016
    Beiträge
    11
    Thanks (gegeben)
    1
    Thanks (bekommen)
    2
    Total Downloaded
    26,04 MB
    Total Downloaded
    26,04 MB
    ReceiverDanke
    Box 1:
    uniboxhde 2x DVB-C
     
     

    reboot nach booten aus deep standy (damit die Box auf Fernbedienung reagiert)

    Ich habe ein Script geschrieben, dass bei jedem Booten aus dem deep standby einen Neustart (reboot) bewirkt. Anlass war, dass die Box nach jedem Ausschalten (deep standy) nicht auf die Fernbedienung reagierte. Wir mussten immer erst den (Strom-) Stecker ziehen oder per WebIf neustarten.

    Beim jedem Booten wird geprüft, ob es eine Datei "lastrun" gibt, die jünger als 5 Minuten ist. Das Datum dieser Datei wird beim jedem Booten und Ausschalten aktualisiert.
    Dadurch wird verhindert, dass beim Neustart wieder neu gestartet wird und die Box in eine ewige Boot-Schleife kommt.

    Nach dem Neustart reagiert die Box auf die Fernbedienung. Alles funktioniert prima. Madame findet es gut. Dennoch will ich hier mal meine Fragen dazu stellen.

    Mit dem Srcipt zählt die Box im Display bis ca. 50 und bootet dann neu. Die gesamte Bootzeit verlängert sich um etwas mehr als eine Minute auf über 3 Minuten.
    Das Script wird gestartet durch einen Symlink in /etc/rc3.d/. Mit den Symlinks in diesem Verzeichnis werden beim Booten Scripte aufgerufen. Dabei werden die Symlinks in der Reihenfolge der üblichen Unix-Sortierung aufgerufen. Mit dem Namen des Symlinks kann somit festgelegt werden, ob das Script früher oder später als andere ausgeführt wird.
    Derzeit lege ich einen Symlink mit Namen "S20sb-reboot4remote" an.

    Wenn ich den Symlink "S20m-reboot4remote" benenne, wird das Script vor /etc/rc3.d/S20samba" ausgeführt und funktioniert dann nicht. Auch wenn die Box länger als 5 Minuten ausgeschaltet war, wird dann nicht neu gebootet. Die Box hat dann noch nicht die aktuelle Zeit. Zumindest gibt 'date' noch die Zeit des Ausschaltens aus. Ich glaube nicht, dass Samba nötig ist, damit die Box die Zeit synchronisiert. Ich vermute eher, dass das Starten des Samba-Servers ihr genügend Zeit gibt, um die Zeit zu aktualisieren.

    Nun zu meinen Fragen:

    1) Timer werden auch im deep standy ausgeführt. Im deep standy muss also eine Uhr weiter laufen. Wie kann die beim Booten abgefragt werden?
    2) Während des Bootens wird auf 'date' zunächst die Zeit des Ausschaltens und später die korrekte Zeit ausgegeben. Wann und wie erfolgt die Aktualisierung?
    3) Gibt es andere Möglichkeiten, booten aus deep standy von rebooten zu unterscheiden (bzw. auf deutsch formuliert "Starten nach Ausschalten" von "Neustarten")?
    4) Sind zu Beginn des Bootens andere Dateien vorhanden, an deren Datum erkannt werden kann, wann die Box zuletzt an war?

    Unsere alte UniBox hat keinen seriellen COM-Port. Ein Loggen des Bootprozesses ist, soweit ich weiß, daher nicht möglich. Daher sehe keine Chance der eigentlichen Ursache auf den Grund zu gehen. Das Logging in die Enigma2-debug.log-Dateien setzt erst mit dem Start von Enigma2 ein. Ich gehe davon aus, dass dann die Box schon für die Fernbedienung bereit sein sollte. Der Fehler also früher zu suchen wäre.

    Hier nun das Script. Vielleicht ist es auch bei anderen Problemen nach deep standby nützlich:

    Code:
    #!/bin/sh
    
    # Neustart nach Ausschalten, damit die Box auf Fernbedienung reagiert
    
    # speichern in 
    # /etc/init.d/reboot4remote.sh
    
    # ausführbar machen
    # chmod +x /etc/init.d/reboot4remote.sh
    
    # Start-Symlink in runlevel 3
    #
    # ln -s /etc/init.d/reboot4remote.sh /etc/rc3.d/S20m-reboot4remote 
    # ist zu früh. Box hat noch die Zeit vom ausschalten
    #
    # ln -s /etc/init.d/reboot4remote.sh /etc/rc3.d/S20sb-reboot4remote
    # okay. Box hat neue Zeit geholt. 
    
    # Kill-Symlinks in runlevel 0, 6
    # ln -s /etc/init.d/reboot4remote.sh /etc/rc0.d/K05reboot4remote
    # ln -s /etc/init.d/reboot4remote.sh /etc/rc6.d/K05reboot4remote
    
    set -e
    case "$1" in
        stop)
        echo K05   Datum $(date) lastrun $(date -r /home/root/logs/lastrun) >> /home/root/logs/lastrun.log
        touch /home/root/logs/lastrun
        ;;
        start)
        if [ -z "$(find /home/root/logs -name lastrun -mmin -5)" ]
        then     # keine Datei lastrun jünger als 5 Minuten gefunden
            echo S20sb Datum $(date) lastrun $(date -r /home/root/logs/lastrun) älter reboot >> /home/root/logs/lastrun.log
            touch /home/root/logs/lastrun
            reboot    #shutdown -r now
        else    # Datei lastrun jünger als 5 Minuten gefunden
            echo S20sb Datum $(date) lastrun $(date -r /home/root/logs/lastrun) jünger boot >> /home/root/logs/lastrun.log
            touch /home/root/logs/lastrun
        fi
        ;;
    esac
    Die Echo-Zeilen erstellen eine log-Datei. Hier die Ausgabe bei Verlinkung mit /etc/rc3.d/S20sb-reboot4remote:
    Code:
    K05   Datum Wed Mar 17 22:05:46 CET 2021 lastrun Wed Mar 17 21:16:22 CET 2021
    S20sb Datum Wed Mar 17 23:14:41 CET 2021 lastrun Wed Mar 17 22:05:46 CET 2021 älter reboot
    K05   Datum Wed Mar 17 23:14:43 CET 2021 lastrun Wed Mar 17 23:14:41 CET 2021
    S20sb Datum Wed Mar 17 23:16:22 CET 2021 lastrun Wed Mar 17 23:14:43 CET 2021 jünger boot
    Um 22:05:46 wurde die Box ausgeschaltet und die Datei lastrun getoucht (Datum der Datei aktualisiert).
    Um 23:14:41 wurde die Box gestartet, festgestellt, dass die Datei lastrun älter als 5 Minuten ist und ein Neustart veranlasst..
    Um 23:14:43 beim Runterfahren für den Neustart wurde die Datei lastrun getoucht.
    Um 23:16:22 erfolgte der Neustart, die Datei lastrun war jünger als 5 Minuten. Der Bootvorgang wurde fortgesetzt.

    Nun die Ausgabe bei Verlinkung mit /etc/rc3.d/S20m-reboot4remote
    (zusätzlich im Script geänderte Zeilen: echo S20m Datum ...):
    Code:
    K05   Datum Wed Mar 17 21:15:16 CET 2021 lastrun Wed Mar 17 20:57:07 CET 2021
    S20m Datum Wed Mar 17 21:16:22 CET 2021 lastrun Wed Mar 17 21:15:16 CET 2021 jünger boot
    Um 21:15:16 wurde die Box ausgeschaltet und die Datei lastrun getoucht (Datum der Datei aktualisiert).
    Vor dem Wieder-Einschalten der Box wurde mehr als 10 Minuten gewartet.
    Beim nächste beim Booten bzw. genauer beim Ausführen des Scripts gibt 'date' trotzdem eine nur ca. 70 Sekunden spätere eine Zeit aus. Diese Zeit ergibt sich aus der Zeit beim Ausschalten und der während des Bootens bereits verstrichenen Zeit. Obwohl der letzte touch der Datei 'lastrun' tatsächlich mehr als 5 Minuten her ist, wird die Datei als jünger angesehen. Die Box bootet nicht nochmal und reagiert schließlich auch nicht auf die Fernbedienung.

  2. Thanks lippei bedankten sich
    •   Alt Advertising

       

  3. #2

    Registriert seit
    18.10.2013
    Ort
    BW
    Beiträge
    1.523
    Thanks (gegeben)
    917
    Thanks (bekommen)
    698
    Total Downloaded
    162,62 MB
    Total Downloaded
    162,62 MB
    ReceiverDanke
    Box 1:
    AX HD61 4k - ATV 7.3
     
     
    Box 2:
    Mut@nt HD51 4k- ATV 6.4
     
     
    Box 3:
    LG DS90QY Soundbar
     
     
    Ein Gedanke zu Samba, wenn du im Image die Systemzeitabfrage von Standardeinstellung Transponder auf ntpserver umstellst wird doch Samba dahingehend erst aktiv?
    Ich kann dir aber nicht sagen, ob die Abfrage für deine Zwecke früh genug ist.
    mfg tiopedro1958


Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:18 Uhr.
Powered by vBulletin® Version 4.2.5 (Deutsch)
Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.
Resources saved on this page: MySQL 5,56%
Parts of this site powered by vBulletin Mods & Addons from DragonByte Technologies Ltd. (Details)
vBulletin Skin By: PurevB.com