NAS wecken beim Start der VU+

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Kannst ja auch einfach mal die beiden Repeater miteinander austauschen und dann testen, ob die erste Solo noch weiterhin das NAS aufwecken kann
      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen
    • Die 1. Solo wurde durch ne Uno4k ersetzt :) ; Ja aber gute Idee. Werde ich heute Abend testen

      So habe jetzt mal auf die schnelle was versucht.
      Aktueller Stand:
      Uno4k an Repeater 1 per LAN angeschlossen = WOL OK
      Solo SE V2 an Repeater 2 per LAN angeschlossen = WOL ether-wake erfolgreich verschickt, aber NAS wacht nicht auf.
      Solo SE V2 an Repeater 2 per WLAN angeschlossen = WOL ether-wake erfolgreich verschickt, aber NAS wacht nicht auf.
      Solo SE V2 an Repeater 1 per WLAN angeschlossen = WOL OK

      Somit ist für mich klar, das es darin liegt, dass die Box an Repeater 2 angeschlossen ist. Was dabei dann aber wieder nicht passt ist, dass ich über den an Repeater 2 verbundenen Laptop oder Android Handy das NAS aufwecken kann. Warum also wird der ether-wake Befehl verschluckt, die Kommandos vom Handy oder Laptop aber nicht?
      - How much for the Ape? -
    • Hab jetzt noch nicht alles gelesen. Ab welchem Post soll ich so probieren? Aber laut Überschrift hab ich ein anderes Problem, denn wenn das Nas an ist hab ich ja keine Probleme, das regelt mein Nas selbst.
      - How much for the Ape? -
    • hajeku123 schrieb:

      /home/root/nas.py

      Quellcode

      1. import socket
      2. import time
      3. bcast_addr = '192.168.1.255' # broadcast address for you network
      4. target_mac = "4C:E6:76:E7:5B:39" # colons are optional, case does not matter
      5. mac = target_mac.replace(':', "")
      6. mac_bytes = "".join([chr(int(mac[i:i+2], 16)) for i in range(0, len(mac), 2)])
      7. WoL_packet = '\xff'*6 + mac_bytes * 16
      8. s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
      9. s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
      10. s.sendto(WoL_packet, (bcast_addr, 9))
      Ist ja nur ein Versuch...
      du solltest natürlich die Datei /home/root/nas.py ein bisschen anpassen - so z.b.... :)


      Den Rest aus dem Thread brauchst du nicht.
      Erstelle dir die Datei "nas.py" und sende dann das WOL Paket über python.

      python /home/root/nas.py


      Womit und wie sendet du denn über das Notebook, damit es funktioniert?
      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen
    • Kann erst morgen Mittag / Abend testen. Mit dem Laptop mit nem WOL Programm und mit dem Handy mit ner WOL -App...

      Das ich das hier richtig verstehe:
      Ich soll unter home/root die Datei nas.py erstellen. Besondere Rechte erteilen? 755?
      In der obigen nas.py in der 4. zeile die MAc des Nas eintragen und in der 3. Zeile welche IP? Des Routers, des NAS?

      Wie starte ich dann die Datei? Über Telnet? Einfach in den Ordner wechseln und dann den Dateinamen eingeben?
      - How much for the Ape? -
    • Humaxx schrieb:

      Das ich das hier richtig verstehe:Ich soll unter home/root die Datei nas.py erstellen. Besondere Rechte erteilen? 755?
      In der obigen nas.py in der 4. zeile die MAc des Nas eintragen und in der 3. Zeile welche IP? Des Routers, des NAS?
      genau. Einfach Datei über notepad++ mit o.g. Inhalt erstellen (Unix Dateiformat speichern !!!)
      IP müsste bei dir 192.168.178.255 (Broadcast Adresse) sein. (Kannst ja auch mal die IP vom NAS probieren)
      Rechte der Datei kann bei 644 bleiben.

      Dann per telnet (oder Putty) anmelden und python /home/root/nas.py eintippen.
      Damit wird dann die Datei ausgeführt und ein Magic Paket gesendet.
      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen
    • hajeku123 schrieb:

      (Unix Dateiformat speichern !!!)
      Wenn sich die Datei ohne Fehlermeldung ausführen lässt kann ich davon ausgehen, dass ich im Unixformat gespeichert habe?

      Hmm, erster Test sieht gut aus :)
      Habe die IP 192.168.178.1 (Vom Router verwendet) - fehlschlag, dann die 192.168.178.51 (vom NAS) und es ist wach. probiere es gleich nochmal.

      So, dass Wecken scheint so wieder zu funktionieren.
      Ich habe jetzt die Datei aus Post#145 erstellt und den Code ab Zeile 2 reinkopiert, aber beim Neustart der Box wird das NAS nicht geweckt. Wo muss ich den Code unterbringen, dass er beim Box starten ausgeführt wird?
      - How much for the Ape? -
    • steht doch in Post#145
      Unix Dateiformat beachtet ?

      sicher kannst nur sein, wenn du die Datei über Telnet anzeigen lässt.
      cat /home/root/nas.py
      Da dürfen am Zeilenende keine Sonderzeichen stehen.

      Wenn es keine Fehlermeldung gibt und das NAS geweckt wird, ist das schon korrekt.

      Die IP von Router kann nicht gehen, optimal ist bei dir 192.168.178.255
      zur Not kannst auch die IP vom NAS 192.168.178.51 nehmen
      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hgdo ()

    • Humaxx schrieb:

      Ich habe jetzt die Datei aus Post#145 erstellt und den Code ab Zeile 2 reinkopiert
      habe jetzt erst verstanden, was du da gemacht hast.
      Das funktioniert so nicht.

      Die Datei /home/root/nas.py verschiebst du jetzt nach /usr/script

      und die Datei /etc/init.d/wol-nas.sh muss folgenden Inhalt haben:

      Shell-Script

      1. #!/bin/sh
      2. python /usr/script/nas.py &
      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hgdo () aus folgendem Grund: 2 Beiträge zusammengefasst

    • Ok, habe jetzt alles so gemacht. Es scheint jetzt erst mal zu funktionieren. Danke
      Noch eine weitere Frage hätte ich. Das NAS wird ja jetzt "nur" beim Start aus dem Deep geweckt. Kann ich auch irgendwie bewerkstelligen dass es auch beim GuiNeustart aufgeweckt wird? Ist zwar im Grunde nicht nötig, aber es interessiert mich...
      - How much for the Ape? -
    • Beim Start von Enigma2 schaut das Startscript /usr/bin/enigma2.sh nach einem Script namens /usr/bin/enigma2_pre_start.sh; wenn das ausführbar ist, wird es vor dem eigentlichen Start von Enigma2 ausgeführt. Da kannst du das WOL-Script reinpacken. Sollte funktionieren.

      Shell-Script: Auszug aus /usr/bin/enigma2.sh

      1. ...
      2. # hook to execute scripts always before enigma2 start
      3. if [ -x /usr/bin/enigma2_pre_start.sh ]; then
      4. /usr/bin/enigma2_pre_start.sh
      5. fi
      6. ...
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von rdamas ()

    • Hmmm, hab jetzt mal zwischen Zeile 4 und 5 2 Versuche nacheinander eingefügt, aber das NAS wird nach einem GuiNeustart nicht aufgeweckt.

      Quellcode

      1. /usr/script/NASwecken.py


      Quellcode

      1. /etc/init.d/wol-nas.sh
      - How much for the Ape? -

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Humaxx ()

    • ...oder per Plugin zusätzlich mit jedem Einschalten aus Standby

      Erstelle ein Verzeichnis /usr/lib/enigma2/python/Plugins/Extensions/wolnas
      Dann eine leere Datei /usr/lib/enigma2/python/Plugins/Extensions/wolnas/__init__.py

      fehlt noch das Plugin /usr/lib/enigma2/python/Plugins/Extensions/wolnas/plugin.py

      Quellcode

      1. # -*- coding: utf-8 -*-
      2. from Components.config import config
      3. from Plugins.Plugin import PluginDescriptor
      4. import socket
      5. import time
      6. def wol():
      7. bcast_addr = '192.168.178.255' # broadcast address for you network
      8. target_mac = "4C:E6:76:E7:5B:39" # colons are optional, case does not matter
      9. mac = target_mac.replace(':', "")
      10. mac_bytes = "".join([chr(int(mac[i:i+2], 16)) for i in range(0, len(mac), 2)])
      11. WoL_packet = '\xff'*6 + mac_bytes * 16
      12. s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
      13. s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
      14. print "[WOLNAS] send WOL..."
      15. s.sendto(WoL_packet, (bcast_addr, 9))
      16. def leaveStandby():
      17. print "[WOLNAS] leaving standby..."
      18. wol
      19. def standbyCounterChanged(configElement):
      20. print "[WOLNAS] going to standby..."
      21. from Screens.Standby import inStandby
      22. inStandby.onClose.append(leaveStandby)
      23. def autostart(reason, **kwargs):
      24. if kwargs.has_key("session") and reason == 0:
      25. print "[WOLNAS] start...."
      26. wol
      27. config.misc.standbyCounter.addNotifier(standbyCounterChanged, initial_call = False)
      28. def Plugins(**kwargs):
      29. return PluginDescriptor(
      30. name="WOLNAS",
      31. description="WOLNAS",
      32. where = [PluginDescriptor.WHERE_SESSIONSTART, PluginDescriptor.WHERE_AUTOSTART],
      33. fnc=autostart)
      Alles anzeigen
      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hajeku123 ()

    • ups...
      so...

      Quellcode

      1. # -*- coding: utf-8 -*-
      2. from Components.config import config
      3. from Plugins.Plugin import PluginDescriptor
      4. import socket
      5. import time
      6. def wol():
      7. bcast_addr = '192.168.178.255' # broadcast address for you network
      8. target_mac = "4C:E6:76:E7:5B:39" # colons are optional, case does not matter
      9. mac = target_mac.replace(':', "")
      10. mac_bytes = "".join([chr(int(mac[i:i+2], 16)) for i in range(0, len(mac), 2)])
      11. WoL_packet = '\xff'*6 + mac_bytes * 16
      12. s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
      13. s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
      14. print "[WOLNAS] send WOL..."
      15. s.sendto(WoL_packet, (bcast_addr, 9))
      16. def leaveStandby():
      17. print "[WOLNAS] leaving standby..."
      18. wol()
      19. def standbyCounterChanged(configElement):
      20. print "[WOLNAS] going to standby..."
      21. from Screens.Standby import inStandby
      22. inStandby.onClose.append(leaveStandby)
      23. def autostart(reason, **kwargs):
      24. if kwargs.has_key("session") and reason == 0:
      25. print "[WOLNAS] start...."
      26. wol()
      27. config.misc.standbyCounter.addNotifier(standbyCounterChanged, initial_call = False)
      28. def Plugins(**kwargs):
      29. return PluginDescriptor(
      30. name="WOLNAS",
      31. description="WOLNAS",
      32. where = [PluginDescriptor.WHERE_SESSIONSTART, PluginDescriptor.WHERE_AUTOSTART],
      33. fnc=autostart)
      Alles anzeigen
      EDIT
      Wer mag, kann auch das beiliegende Plugin installieren und in Verbindung mit Plugin "Boot to Standby" kombinieren --> hier <--
      Auswahl_252.png
      Auswahl_254.png
      Dateien
      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen

      Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von hajeku123 () aus folgendem Grund: Plugin V1.4 hinzugefügt

    • hajeku123 schrieb:

      ...oder per Plugin zusätzlich mit jedem Einschalten aus Standby
      Wow, das hast jetzt aber nicht auf die schnelle getippt oder?
      Ok, danke, aber meine Boxen sind eh nie im Standby. Ist im Grunde auch nicht so wichtig, denn wenn die Box jetzt startet ist ja auch das NAS wach und bleibt es ja auch.
      - How much for the Ape? -
    • nein, hatte ich bereits im Grunde genommen in einzelnen Bausteinen bereits vorliegen, welche ich "einfach" zusammen kopiert habe.
      Herausgekommen ist dann der Programmcode...

      WOL Paket wird mit Hilfe des Plugins beim Einschalten aus DS, bei GUI Neustart und aus dem Standby gesendet.
      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen
    • OK, Danke.
      Abschließend noch eine Frage. Mein NAS ist zwar schnell genug hochgefahren, trotzdem Interesse halber. An welchem Ort / auf welche Art wird das WOL - Befehl als erstes rausgeschickt? Oder gibt sich das nicht viel
      Ich habe in der Uno4k ja den ether-wake Befehl in der etc/init.d/networking
      und auf der Solo in der /etc/init.d/wol-nas.sh den verweis in der /usr/script/NASwecken.py
      - How much for the Ape? -

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Humaxx ()

    • Noch mal ne Rückfrage an die Wissenden :)
      Dank hajeku123 kann ich das NAS auch über den 2. Repeater wecken. Hab jetzt nochmal überlegt woran es liegen kann, dass der ether-wake Befehl anscheinend nicht mehr durchgeht. Kann ether-wake nur erfolgreich sein, wenn der Repeater per LAN mit der Fritzbox verbunden ist, das ist nämlich bei Repeater (1) der Fall, wobei es egal ist ob der Befehl dann vom Receiver per WLAN / LAN kommt, das NAS wird geweckt. Repeater (2) ist ja "nur" per WLAN mit dem Repeater (1) bzw. jetzt mit der Fritzbox direkt verbunden. Kann es sein, dass der Befehl dadurch nicht erfolgreich ist?
      - How much for the Ape? -
    • Das sollte nichts mit LAN oder WLAN zu tun haben.
      Um die Frage beantworten zu können, müssten man wissen, ob dein NAS über IP 192.168.178.255 und 192.168.178.51 aufgeweckt bekommst.
      Dazu hattest du noch nichts geschrieben. Wenn 192.168.178.255 nicht geht, filtert dein Repeater den Broadcast weg oder ether-wake sendet an die falsche Broadcast Adresse.
      Wenn beide Adressen funktionieren, muss du wireshark nehmen und schauen, wo der Unterschied zwischen den beiden Paketen liegt, welche deine Solo sendet.

      Wenn du das wirklich wissen willst, muss du ein Paket über "ether-wake -b" senden und das mit wireshark am Notebook aufzeichen.
      Danach ein Paket über python an IP 192.168.178.255 senden und dann die beiden Pakete miteinander vergleichen.
      Ob sich hier der Aufwand lohnt weiter zu suchen, muss du selbst entscheiden...

      Um deine Frage nach dem iinit-Script zu beantworten:
      Ist egal.
      Die saubere Lösung ist auf jeden Fall ein eigenes Init Script zu erstellen.

      und nur zur Vollständigkeit...

      Humaxx schrieb:

      Hmmm, hab jetzt mal zwischen Zeile 4 und 5 2 Versuche nacheinander eingefügt, aber das NAS wird nach einem GuiNeustart nicht aufgeweckt.

      Quellcode

      1. /usr/script/NASwecken.py
      hier fehlt wieder "pyphon" davor - hatte ich bereits geschrieben...

      hajeku123 schrieb:

      Erstelle dir die Datei "nas.py" und sende dann das WOL Paket über python.
      python /home/root/nas.py
      oder du änderst die Dateirechte von /usr/script/NASwecken.py in 755 und schreibst in die erste Zeile
      #!/usr/bin/python
      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen