Hardware-Wakeup - Software

  • Hallo!


    Nachdem ich das Wakeup-Modul lange Zeit unter ctvdr erfolgreich eingesetzt habe (An dieser Stelle: Vielen Dank für die Arbeit, Frank!), wollte ich nun auf :mahlzeit 4.0 beta2 umsteigen (zusätzliches analog-TV über PVR350).


    Dabei habe ich festgestellt, dass der Wakeup ([edit]: besser gesagt das PowerOff :schiel) nicht funktionierte und die poweroff.pl hierfür verantwortlich machen können. Nach Anpassung der originalen Datei der mahlzeit-Distri läufts nunmehr.


    Datei habe ich für Interessierte angehängt.



    Gruß


    Andreas

  • Hi,


    schon irgendwelche neuigkeiten was ein Graphisches LCD angeht? Was für ein Modul willst du denn einsetzen? Habe nämlich vor mir eins zu kaufen und würde nach Möglichkeit dann auch gleich das passende holen damit ich nicht wenns so weit ist wieder eins kaufen muss.


    MfG


    cloud

  • Hallo,


    für meinen Prototypen habe ich ein ChipOnGlass-Module 128x64 mit einem ST7565R oder kompatiblen Controller. Das interessante an diesem Controller ist, dass er über SPI ansteuerbar ist. Außerdem ist das Display sehr günstig zu bekommen. Geplant ist die Displayplatine am bisherigen Displayport anzuschließen. Wegen der seriellen Übertragung zum Display bleiben sogar noch Ports für Tasten oder Leds frei. Ansonsten muss nur der ATmega8 gegen einen ATmega168 (oder ATmega328 ) und der Quarz gegen einen 16MHz getauscht werden.


    Leider komme ich zur Zeit nur selten dazu daran weiter zu arbeiten. Ich habe auch nur selten die Möglichkeit den JTAG ICE MKII aus meiner Firma zu entführen. Wer einen solchen oder einen AVR Dragon billig abzugeben hat oder spenden will, kann sich gerne bei mir melden. ;D


    Tschüß Frank

  • Danke Andi


    Das hat mir noch gefehlt. Musste wegen neuer Karte umsteigen. Werde es gleich ausprobieren.


    @Frank
    Kannst du die geänderte poweroff.pl nicht auf deiner Seite mit einem Hinweis platzieren?


    Grüße Eisbaeeer


    --- EDIT --------------------------
    Andi011
    Ich hab dein Poweroff.pl eingebunden. Leider zeigt mir das Modul keinen nächsten Aufnahmepunkt an. Was genau hat sich denn in der poweroff.pl geändert?

    VDR-Client: Passivgehäuse Hush mini-ITX, Technotrend TT-Premium S-2300 DVB-S
    VDR-Server: Netgear Stora mit Debian 2.6.32-6-kirkwood Kernel, S2-lilianin, Technotrend S2-3600 DVB-S, 2x500GB mit Raid1

    Einmal editiert, zuletzt von Eisbaer ()

  • Hallo,


    ich habe die poweroff.pl.aw mit in das LinVDR 0.7 Archiv integriert und einen entsprechenden Hinweis auf der Downloadseite platziert.


    Tschüß Frank


  • Scheinbar läuft das in der poweroff.pl mit PVR350 anders, als mit einer FF Karte?
    Bei mir setzt er mit deinem Script keinen neuen Weckruf. Ich poste hier mal heute abend meine Original poweroff.pl von der Mahlzeit-iso. Könnte da dann mal jemand drüberschauen?


    Grüße Eisbaeeer
    ---------- EDIT ----------------------------
    Jetzt hängt die Original Datei im Anhang.

  • Moin,


    Zitat

    Original von Eisbaer
    Andi011
    Ich hab dein Poweroff.pl eingebunden. Leider zeigt mir das Modul keinen nächsten Aufnahmepunkt an. Was genau hat sich denn in der poweroff.pl geändert?


    sorry, habe den thread gerade erst mal wieder gelesen. Kümmer mich heute abend drum.


    Gruß


    Andi

    registered vdr-user: 1318


    file/vdr-server: ASRock Q1900M, SSD, 2TB HD, 1xDVBSky S952 v3 mit 2xDVB-S2, stretch+e-tobi, vdr 2.4.0-2~etobi1

  • Also:


    Ich habe (wenn ich mich recht erinnere, leider nicht dokumentiert :wand) lediglich diese Funktion:


    gegen diese ersetzt:

    Code
    sub setAlarm {
      my $Next = shift;
      system(sprintf("logger -s \" Set time for wakeup\n\""));
    
      system(sprintf("/etc/vdr/shutdown90.wakeup-module.sh %s", $Next));
    }


    Aber das ist schon eine Weile her wie man sieht. Mahlzeit 4.0 beta2 war auch nur eine Testphase, mittlerweile bin ich rein auf debian. In der von Dir angehängten PowerOff hat sich zumindest jedoch auch diese Funktion verändert:


    Deine:

    Code
    sub PowerOff {
      system("/bin/busybox poweroff") if(!$DEBUG);
    }


    Meine:

    Code
    sub PowerOff {
      system("/usr/bin/suspend2ram.sh") if(!$DEBUG);
      system('printf "\x9B\x00" > /dev/ttyS0');
      system('printf "\xF0\xFF" > /dev/ttyS0');
    }


    Du nutzt mahlzeit 4.0beta2? Was genau tut nicht? Das WakeUp-Skript liegt ausführbar dort, wo in der Funktion angegeben?


    Gruß


    Andreas

    registered vdr-user: 1318


    file/vdr-server: ASRock Q1900M, SSD, 2TB HD, 1xDVBSky S952 v3 mit 2xDVB-S2, stretch+e-tobi, vdr 2.4.0-2~etobi1

  • Hallo


    Kein Problem. Im Moment kommen keine Sendungen, die ich unbedingt aufnehmen will :)


    Die Dateien sind alle ausführbar und liegen im richtigen Verzeichnis.
    Bei meinem Wakeup zeigt lediglich eine LED an, ob ein Timer, also Aufweckzeitpunkt übermittelt wurde oder nicht.


    Beim "Plain LinVDR" hat alles prima funktioniert, beim Mahlzeit hat er scheinbar Probleme, auf die ttyS0 zu schreiben.


    Ich versuche jetzt heute Abend noch, vorher den lircd zu killen, der über die selbe Schnittstelle läuft. Mal sehen, ob es dann geht.


    Grüße Eisbaeeer

    VDR-Client: Passivgehäuse Hush mini-ITX, Technotrend TT-Premium S-2300 DVB-S
    VDR-Server: Netgear Stora mit Debian 2.6.32-6-kirkwood Kernel, S2-lilianin, Technotrend S2-3600 DVB-S, 2x500GB mit Raid1

  • by the way:


    Diese Zeilen am Ende der S90.wakeup-module.sh sollten Dir über die logs Auskunft geben, ob das Skript den WakeUp richtig ausgibt.

    Code
    logger -t vdr-addon-hw-wakeup "echo ATS$WAKEUPSTR > $WAKEUP_PORT"     
    echo ATS$WAKEUPSTR > $WAKEUP_PORT      
    logger -t vdr-addon-hw-wakeup "echo RTS$TIMESTR > $WAKEUP_PORT"     
    echo RTS$TIMESTR > $WAKEUP_PORT


    Kannst ja mal Ergebnis posten...


    Gruß


    Andreas

    registered vdr-user: 1318


    file/vdr-server: ASRock Q1900M, SSD, 2TB HD, 1xDVBSky S952 v3 mit 2xDVB-S2, stretch+e-tobi, vdr 2.4.0-2~etobi1

    Einmal editiert, zuletzt von Andi011 ()

  • Ich bin es wieder...


    Also messages sagt folgendes:


    Code
    Jul 17 21:22:23 linvdr user.notice vdr-addon-hw-wakeup: echo ATS04301807 > /dev/ttyS0
    Jul 17 21:22:23 linvdr user.notice vdr-addon-hw-wakeup: echo RTS2122171707084 > /dev/ttyS0
    Jul 17 21:23:25 linvdr user.info kernel: serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A


    Also die Aufweckzeit (ATS) und die Uhrzeit (RTS) wird korrekt gesendet.
    Was sagt die letzte Zeile? Kann es sein, dass da noch irgend etwas die Schnittstelle blockiert?


    Grüße Eisbaeeer


    ---- EDIT ------
    OK, es scheint wirklich so, dass noch etwas die ttyS0 blockiert. Nachdem ich ein


    Code
    killall lircd


    mache, kann ich immer noch keine Befehle über die COM1 schicken. Weis jemand rat?

    VDR-Client: Passivgehäuse Hush mini-ITX, Technotrend TT-Premium S-2300 DVB-S
    VDR-Server: Netgear Stora mit Debian 2.6.32-6-kirkwood Kernel, S2-lilianin, Technotrend S2-3600 DVB-S, 2x500GB mit Raid1

    Einmal editiert, zuletzt von Eisbaer ()

  • Zitat

    Original von Eisbaer
    ---- EDIT ------
    OK, es scheint wirklich so, dass noch etwas die ttyS0 blockiert. Nachdem ich ein


    Code
    killall lircd


    mache, kann ich immer noch keine Befehle über die COM1 schicken. Weis jemand rat?


    Setserial installiert? Probiere nach dem Killen von Lirc mal die Schnittstelle zurückzusetzen und danach die WakeUp-Daten per Hand (bzw. durch Ausführen des Skriptes) zu setzen...


    Code
    setserial /dev/ttyS0 uart none
    # Wenns dauerhaft sein soll:
    echo "/dev/ttyS0 uart none" > /etc/serial.conf


    Gruß


    Andi

    registered vdr-user: 1318


    file/vdr-server: ASRock Q1900M, SSD, 2TB HD, 1xDVBSky S952 v3 mit 2xDVB-S2, stretch+e-tobi, vdr 2.4.0-2~etobi1

  • Zitat

    Original von Andi011
    Setserial installiert? Probiere nach dem Killen von Lirc mal die Schnittstelle zurückzusetzen

    Code
    setserial /dev/ttyS0 uart none
    # Wenns dauerhaft sein soll:
    echo "/dev/ttyS0 uart none" > /etc/serial.conf


    Nicht deaktivieren sondern neu initialisieren:

    Code
    setserial /dev/ttyS0 uart 16550A
    stty -F /dev/ttyS0 38400


    Gruß
    e9hack

  • Ich danke Euch beiden. Es funktioniert jetzt. Anstatt die 38400 Baud die 9600 Baud eingetragen und es läuft.


    Code
    setserial /dev/ttyS0 uart 16550A
    stty -F /dev/ttyS0 9600


    Im Anhang hab ich mal die modifizierte poweroff.pl von Andi011 und meine modifizierte shutdown90.wakeup-module.sh zusammengepackt. Darin ist die Initialisierung der ttyS0 enthalten.


    Viele Grüße Eisbaeeer

  • Zitat

    Original von Eisbaer


    Im Anhang hab ich mal die modifizierte poweroff.pl von Andi011 und meine modifizierte shutdown90.wakeup-module.sh zusammengepackt. Darin ist die Initialisierung der ttyS0 enthalten.


    Iregenwas in Deinem shutdown-Script kann aber nicht stimmem:

    Wenn Du setserial vor dem Laden von 8250 aufrufst, hat das eigentlich keinen Effekt, da /dev/ttyS0 noch nicht existiert.


    Beim Aufruf von setserial werden ein paar undefinierte Zeichen über die serielle Schnittstelle ausgegeben. Möglicherweise muß man den ersten Befehl an das Wakeup-Board zweimal senden oder vor dem eigentlichen setzen der Alarmzeit noch einen Dummy-Befehl schicken. Ich nutze ein anderes Wakeup-Board mit ähnlichem Befehlssyntax, welches den Dummy-Befehl definitiv benötigt.


    Gruß
    e9hack

  • Die Frage mit dem Dummy muss ich erstmal an Frank weitergeben. Das könnte auch einige Probleme hier im Thread erklären, bei denen das IRO nicht funktioniert hat. Ich hab dann immer über ttyS1 programmiert.
    @Frank
    Der UART wird über einen rs232 Baustein gewandelt, wie üblich. Kann das sein? Das wäre ja dann in deinem Programm?


    Eisbaeeer

    VDR-Client: Passivgehäuse Hush mini-ITX, Technotrend TT-Premium S-2300 DVB-S
    VDR-Server: Netgear Stora mit Debian 2.6.32-6-kirkwood Kernel, S2-lilianin, Technotrend S2-3600 DVB-S, 2x500GB mit Raid1

    Einmal editiert, zuletzt von Eisbaer ()

  • Zitat

    Original von e9hackNicht deaktivieren sondern neu initialisieren:

    Code
    setserial /dev/ttyS0 uart 16550A
    stty -F /dev/ttyS0 38400


    Gruß
    e9hack


    Of course, sorry for that...

    registered vdr-user: 1318


    file/vdr-server: ASRock Q1900M, SSD, 2TB HD, 1xDVBSky S952 v3 mit 2xDVB-S2, stretch+e-tobi, vdr 2.4.0-2~etobi1

  • Hallo,


    erst alles killen was die serielle Schnittstelle belegt und dann


    setserial /dev/ttyS0 uart 16550A
    stty -F /dev/ttyS0 9600


    sollte wohl reichen. Baudrate muss natürlich 9600 sein und nicht 38400.


    Tschüß Frank

  • So, nachdem bei meiner Mahlzeit etwas ganz schief lief, hab ich wieder mal neu instlalieren müssen.
    Jetzt hab ich folgendes Problem:


    Code
    Oct 13 06:20:05 Linvdr user.notice vdr-addon-hw-wakeup: Starting Module 8250
    Oct 13 06:20:11 Linvdr user.notice vdr-addon-hw-wakeup: echo ATS > /dev/ttyS0
    Oct 13 06:20:11 Linvdr user.notice vdr-addon-hw-wakeup: echo RTS0620051310081 > /dev/ttyS0


    Warum bekomme ich jetzt keine Aufweckzeit (siehe ATS)?
    Ich hab nichts anderes gemacht, als beim letzten mal.
    Entpacken mit:


    tar xvfj vdr-wakeup_linvdr_v0.7-mahlzeit.tar.tar


    und an die richtigen Stellen kopiert.


    Grüße Eisbaer

    VDR-Client: Passivgehäuse Hush mini-ITX, Technotrend TT-Premium S-2300 DVB-S
    VDR-Server: Netgear Stora mit Debian 2.6.32-6-kirkwood Kernel, S2-lilianin, Technotrend S2-3600 DVB-S, 2x500GB mit Raid1

  • Weiß denn keiner, warum ich keine Zeit in die Variable bekomme?
    Leider geht das immer noch nicht.


    Grüße Eisbaeeer

    VDR-Client: Passivgehäuse Hush mini-ITX, Technotrend TT-Premium S-2300 DVB-S
    VDR-Server: Netgear Stora mit Debian 2.6.32-6-kirkwood Kernel, S2-lilianin, Technotrend S2-3600 DVB-S, 2x500GB mit Raid1

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!