Hi Abdull,
Du hast zu meiner Enttäuschung leider Recht. Auch ich habe mich wohl etwas vorzeitig gefreut. Der Router scheint die IP-Adresse des Rechners wirklich nur temporär zu speichern. Eigentlich schade, da das ganze ja an sich funktionieren würde.
UPnP kann ich leider erst wieder am Sonntag testen, da ich momentan verreist bin. Klingt aber relativ vielversprechend, was Du rausgefunden hast. Sobald ich wieder daheim bin, werde ich mich umgehend an die Arbeit machen und hier berichten.
Ich habe Euch mal den Quelltext des PHP Scriptes rausgesucht, auf welches ich verlinkt habe (
http://stephan.mestrona.net/wol/ ). Ich habe das ganze in einem anderen Forum ausgegraben wo auch über die Möglichkeit von WOL in Verbindung mit einem Router diskutiert wurde (
http://forum.dlink.de/topic.asp?TOPIC_ID=20169&SearchTerms=wake,on ). Leider war auch hier die einzige Lösung über einen Unicast an den Router, einen Broadcsast ins LAN zu schicken. Nur haben deren Router das zum Teil unterstützt. Vielleicht findet sich hier ja jemand, der dies um eine Porteingabe erweitern kann:
------------------------------------------------------------------------------------
function wakeup($mac_addr,$router_addr) {
if ($fp = fsockopen($router_addr, 9, $errno, $errstr, 4)) {
//erlaubte Zeichen:
$hexchars = array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","a","b","c","d","e","f");
// 6 "volle" bytes (Also mit Wert 255 bzw. FF in hexadezimal)
$data = "\xFF\xFF\xFF\xFF\xFF\xFF";
$hexmac = "";
// Jetzt werden unnötige zeichen in der mac-adresse entfern (also z.B. die bindestriche usw.)
for ($i = 0; $i < strlen($mac_addr); $i++) {
if (!in_array(substr($mac_addr, $i, 1), $hexchars)) {
$mac_addr = str_replace(substr($mac_addr, $i, 1), "", $mac_addr);
}
}
for ($i = 0; $i < 12; $i += 2) {
$hexmac .= chr(hexdec(substr($mac_addr, $i, 2)));
}
// Hexadresse wird 16mal hintereinandergeschrieben
for ($i = 0; $i < 16; $i++) {
$data .= $hexmac;
}
fputs($fp, $data);
fclose($fp);
return true;
}
Else {
echo "
Warnung: $errno $errstr
";
return false;
}
}
----------------------------------------------------------------------------------
Eine andere Idee wäre vielleicht einen Billigrouter zwischen SX541 und den zu weckenden Rechner zu schließen, welcher aber Broadcasts senden kann. Das heisst, man schickt also aus dem Internet ein Magic Packet an den SX541, der dieses wiederum an den Billigrouter forwarded. Und dieser führt dann erst den Broadcast aus. Umständlich, aber könnte funktionieren. Man muss sich halt nur einen billigen Router suchen der definitiv Broadcastfähig ist.
Ich wünsche noch eine erholsame Nacht.
no.comment