Ich habe ebenfalls lange nach einer Lösung gesucht, um die Fritz!Box (bei mir die Fritz!Box Fon WLAN 7050) dazu zu bringen, meinen PC über das Internet zu starten. Möglichkeiten wie Login über SSH oder Wake on Call, die ich per Google gefunden habe, waren mir zu umständlich für den täglichen Gebrauch. Daher habe ich mich selber rangesetzt und eine Lösung gefunden, um Broadcasting auf der Fritz!Box zu realisieren - ich hoffe, dass es dem ein oder anderen hilft.
Benötigt wird das Programm socat, mit welchem einfach alle Pakete, die per UDP auf Port 9 reinkommen, als Broadcast ins lokale Netz geschickt werden. Man kann sich mit Freetz ein Image erstellen, das socat bereits enthält, doch da der Speicher auf der 7050 scheinbar sehr begrenzt ist und ich kaum ein passendes Image erstellen konnte, habe ich socat selber kompiliert und zusammen mit den nötigen Libraries hochgeladen - damit kann ich die originale Firmware weiterbenutzen und muss nur ein paar Anpassungen in der ar7.cfg und der debug.cfg machen. Dieses Paket habe ich hier angehängt, das muss dann auf einen eigenen Server hochgeladen werden (ne, ihr dürft es nicht von meinem runterladen
). Wer socat bereits mithilfe von Freetz auf der Box hat, braucht das natürlich nicht zu tun.
Also, kommen wir zum Wesentlichen:
Es muss zunächst dafür gesorgt werden, dass socat die Pakete auch bekommt und sie nicht vorbeirauschen. Dazu kommt folgende Portweiterleitung in die ar7.cfg unter "forwardrules":
Code:
"udp 0.0.0.0:9 0.0.0.0:9 0 # WOL";
Dann kommt folgendes Script ans Ende der debug.cfg:
Code:
sleep 120
cd /var/tmp
wget -qO wol.tar http://YOUR.SERVER.COM/wol.tar
tar -x -f wol.tar
rm wol.tar
chmod +x socat
LD_LIBRARY_PATH='/var/tmp' /var/tmp/socat -T2 -u UDP-LISTEN:9,fork UDP-DATAGRAM:192.168.178.255:9,broadcast
Der Sleep ist nur da, um sicherzugehen, dass eine Verbindung zum Internet besteht. Wer socat schon per Freetz hat, braucht nur die letzte Zeile in angepasster Form:
Code:
socat -T2 -u UDP-LISTEN:9,fork UDP-DATAGRAM:192.168.178.255:9,broadcast
In beiden Fällen gilt, IP eventuell an das eigene Netzwerk anpassen.
Das wird nun also gespeichert, dann noch ein Neustart der Box, und wenn alles gut gegangen ist, leitet die Box nun UDP-Pakete von Port 9 als Broadcast in euer Netzwerk weiter 8)
Viel Spaß damit