[Gelöst] S100-Powerbutten aus Shell-Script auslösen

  • Moin!


    Habe da mal wieder eine Kopfnuß:


    Ich muß einen Rechner über ein Shellscript runterfahren! Soweit, so einfach! Aus einen bestimten Grund will ich aber dem System vorgaukeln, der Powerbutton wäre gedrückt worden!


    Hintergrund: Das ganze läuft auf einer T-Online S100 ab und da "merkt" sich das System (oder besser Gehäuse), ob es an oder aus ist! Wenn ich das System über poweroff runterfahre, merkt das Gehäuse nix davon, wenn ich den Knopf drücke, schon und Linux fährt über das ACPI-Event ja trotzdem runter!


    Also ich hoffe es gibt sowas wie "echo "powerbutton">/dev/atx" um es aus dem Script heraus das zu initieren!


    Jemand einen Vorschlag?


    Danke und Gruß


    Toxic

    Registrierter VDR-User #1275


    HW neu: Asrock B75 Pro3 - Pentium G620T - SKYDVB S952
    SW neu: YaVDR mit 3.16.3er Kernel ...

    Dieser Beitrag wurde bereits 3 Mal editiert, zuletzt von Toxic-Tonic ()

  • Leider kein /prox/acpi/sleep!


    Zur Auswahl:

    Code
    1. /button
    2. /embedded_controller
    3. /power_resource
    4. /video
    5. alarm
    6. dsdt
    7. event
    8. fadt
    9. info
    10. wakeup


    wenn ich versuche was in event zu schreiben, sagt er" Recource busy"!


    Gruß


    Toxic

    Registrierter VDR-User #1275


    HW neu: Asrock B75 Pro3 - Pentium G620T - SKYDVB S952
    SW neu: YaVDR mit 3.16.3er Kernel ...

  • Probier mal etwas in Richtung echo "button power.*" > /proc/acpi/event oder echo "button/power.*" > /proc/acpi/event

    VDR-User #992
    Server: Asrock N3700-ITX mit TT S2-6400 headless
    System: Ubuntu 16.04, DVB-Treiber mediabuild vom 07.05.2016
    VDR: VDR 2.2.0 mit epgsearch, live, vnsiserver
    Client: Raspberry Pi v3 mit OpenElec

  • Hi,
    der Powerbutton löst doch auch nur ein Skript aus.
    Bei Kanotix zB sieht dieses Skript so aus:




    Gruss
    Marc

  • Ja, das script direkt aufrufen geht auch, aber dann "merkt" das das Gehäuse halt nichts! Ich hoffe, das es über das direkte "virtuelle" drücken des Powerbuttons hinbekomme!


    Gruß


    Toxic

    Registrierter VDR-User #1275


    HW neu: Asrock B75 Pro3 - Pentium G620T - SKYDVB S952
    SW neu: YaVDR mit 3.16.3er Kernel ...

  • Wenn man den acpid killt, kann man sich die ausgelösten Events mittels cat /proc/acpi/event anzeigen lassen. Allerdings läuft dann ja kein Daemon, der sie verarbeitet.
    Ich vermute mal stark, dass /proc/acpi/event nicht schreibbar ist bzw. das ein schreiben darauf keine Hardware-Reaktion hervorruft.


    Ich denke, du müsstest entweder irgendwie rausfinden, wie genau das Gehäuse seinen Zustand feststellt, oder eben den Powerbutton tatsächlich drücken/überbrücken, z.B. mit einem Relais, das du über die serielle oder parallele Schnittstelle ansteuerst.

  • Der Ansatz ist gut, aber die Datei (events) zeigt er trotzdem nicht an! Habe das Gefühl wenn der Daemon weg ist, dann ist die Datei zwar frei, kann aber nicht gelesen werden!


    Bisher haben alle Vorschläge mit dem ACPI zu tun, ich weiß aber, das die IR-Lösung bei der S100 am PS2-Port hängt! Ergo, es müßte doch eine Möglichkeit geben über den Tastatur-Puffer (z.B.) den Befehl zu übergeben! Wie kann ich denn den Tastatur-Puffer mitschneiden und/oder direkt beschreiben?


    Danke und Gruß


    Toxic

    Registrierter VDR-User #1275


    HW neu: Asrock B75 Pro3 - Pentium G620T - SKYDVB S952
    SW neu: YaVDR mit 3.16.3er Kernel ...

  • Sorry kann noch nichts konstruktives beitragen, bin aber selber gerade am Testen. Scheint so als wären wir zwei beide mit die einzigen S100 Besitzer hier im Board. Obwohl diese Kiste einfach nur genial ist.


    Bau doch einfach die SMD's aus, dann geht dir das Geblinke vom Display nicht mehr auf die Nerven, ergo wäre es auch egal ob die Über SW oder HW das System runterfährst, da es keine veränderung mehr am gehäuse gibt.


    Hast du eigentlich den Kondensator-Mod bei dir eingebaut? Für's langsame runterfahren? Steht irgendwo im zenega-board/wiki.
    Ich schalte momentan einfach über Powerbutton auf der FB aus, aber da schaltet sich natürlich das system ab, bevor es heruntergefahren wurde.


    Wenn du eine Lösung mit dem ATX-Powerbutton aus dem Shell-Skript raus hast, dann müssen wir noch rausfinden wie wir das Abschalten des Systems durch den Powerbutton auf der FB unterbinden, denn dann können wir ja unser Shell-Skript aufrufen, das Sys orderntlich runterfahren und anschließend den "Powerbutton" betätigen.

    VDR #1:
    SW: LINVDR 0.7 (2.6.20.1 Dr. Seltsam ) VDR 1.4.5-2-extp22 + Mahlzeit-ISO 3.2 
    HW: Asus Pundit-R - Pentium III 2GHz - 7'' TFT für GraphTFT - Nexus-S Rev. 2.3
    VDR #2 (Client):
    SW: LinVDR 0.7 (2.6.17.3 Dr. Seltsam ) VDR 1.4.0-1 + DXR3 Dr. Seltsam
    HW: T-Online Streaming Box S-100 - Pentium M 788MHz - DXR3 Karte - 1GB CF
    Registered User: #1096

  • Fürchte, ganz so einfach ist das nicht!


    Also das Kondensator-Mod habe ich drin! Ist so simpel, solltest du auch machen!


    Das problem ist nur, wenn ich über poweroff das System runterfahre, startet das nächste mal das mms nicht mehr richtig! Da muß also die Elektronik noch etwas mehr machen, als nur blinken!!


    Btw. gibt es einige hier im Board die auch mit den S100/Zenega rumspielen, aber die VDR-Integration wurde bisher etwas Stiefmütterlich behandelt!


    Naja, vielleicht schaue ich mir die Patine nochmal an, das mit dem Blinken geht mir nämlich auch auf den Sack!


    Gruß


    Toxic

    Registrierter VDR-User #1275


    HW neu: Asrock B75 Pro3 - Pentium G620T - SKYDVB S952
    SW neu: YaVDR mit 3.16.3er Kernel ...

  • Danke für den Hinweis, das das Schalten auch anders herum funktioniert, hatte ich noch gar nicht mitgekriegt.


    Ich hänge leider noch an einem ganz anderen Problem. Ich hab bei meiner s100 die PS/2-Ports umschaltbar 'freigelegt' und darüber auch einen klassischen Powerbutton vorgesehen. Starte ich nun ohne den Powerbutton der Frontplatine, bleibt die Anzeige auf konstant rot, und die Fernbedienung funktioniert nicht. Auch die Bytefolge um das Blinken abzuschalten, ändert daran nichts.


    Noch lästiger: Starte ich per Frontbutton und ohne Tastatur+Mausverbindung, erkennt die Frontplatine das als Fehler und startet immer wieder neu. Vermutlich erwartet die Frontplatine innerhalb der ersten Sekunden die Aktivierung beider PS/2-Ports, und startet andernfalls neu.


    (Um das für alle nochmal klar zu machen: Die Frontplatine ist mit den PS/2 Tastatur- und Mausport verbunden, mit COM2, und mit dem ATX-Powerbutton. Die Fernbedienung steuert den ATX-Powerbutton und die Tastatur, die Mausanbindung scheint keine Funktion zu haben - darf aber auch nicht getrennt sein.)


    Gruß,


    Udo

  • Jetzt ist es mir endlich gelungen, den LinVDR auf der S100 zu Laufen zu bringen. Ärgernis war auch bei mir der Powerbutton. Das Geblinke habe ich beim Rauf- (/etc/init.d/rcStart) und Runterfahren (/etc/init.d/rcShutdown) ab- bzw. angestellt.
    Besonders hat mich nun noch gestört, dass trotz Kondensator-Mod die Kiste nach PowerBtn-Betätigung auf der Fernbedienung gnadenlos runterfuhr und es vom VDR aus keine Möglichkeit gab, dies abzubrechen. Falls gerade eine Aufnahme lief, war das besonders unangenehm.
    Also habe ich die Routine, die der PowerBtn auslöste, auf ein eigenes Script geleitet.
    Meine /etc/acpi/powerbtn sieht so aus:


    Code
    1. event=button[ /]power
    2. # action=/sbin/poweroff
    3. action=/usr/local/bin/powerbtn.sh

    Mein Script wartet nun, dass das doofe Geblinke aufhört, weil bei einem rot-Blinken außer die Power-Taste auf nichts anderes reagiert wird. Falls es grün blinken sollte, wird wieder auf grünes Dauerlicht umgeschaltet. Dann wird der VDR benachrichtigt, dass runtergefahren werden soll und der fragt dann über das OSD noch einmal nach.
    Außerdem musste noch abgefangen werden, dass das Script mehrfach aufgerufen wird, weil dies eventuell die Warteschlage des Tastaturpuffers (glaube ich) gefüllt hat und bei der entsprechenden Abarbeitung für den Nutzer (WAF!) völlig unvorhergesehene Sachen passierten. (Weil ich nicht weiß, wie man im Script ermittelt, ob es selbst schon läuft, habe ich eine temporäre Datei angelegt, welche ich zum Schluss wieder lösche.)


    Was jetzt noch stört ist, dass es möglich ist, dass die Anzeige z.B. nach dem ersten Abbruch des Shutdowns rotes Dauerlicht haben kann, aber trotzdem wunderschön läuft. Schön wäre eine Möglichkeit, abfragen zu können, in welchen Zustand sich die Anzeige gerade befindet, um entsprechend reagieren zu können.
    (Außerdem würde ich gern den Scart-Ausgang + AudioOut aktivieren, damit ich die olle Kabelpeitsche der TT2300 nicht nehmen muss, habe aber keine Ahnung wie).


    Gruß OlaLu

    1. LinVDR 0.7 mit Toxic 1.4.7-ext30, 1.7 GHz Celeron auf MV42N, TT-S Rev. 1.3
    2. LinVDR 0.7 mit Toxic 1.4.6, T-Online S100, TT2300-S