mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MagicPaket (WOL) auf netzwerk senden


Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich muß eine möglichst einfache (stromsparende) Lösung für
folgendes Problem finden:

Ich habe hier einen Business-Telefonanschluß mit "geheimer" 
Telefonnummer (ohne Telefon) und DSL mit fester IP. Am DSL hängt ein 
Server, der sich täglich um 21Uhr selbstständig ausschaltet (Hardware 
schonen und Stromkosten sparen). Aufgeweckt wird dieser bei nur Bedarf 
per WOL.

Ich benötige nun eine Möglichkeit beim Anruf auf dieser Telefon-Nummer 
ein WOL-Paket im Netzwerk loszusenden, der dann den Server aufweckt.. 
;-)

Tipps? Fertigteile werden bevorzugt..

Gruß,
Techniker

Autor: Stefan Oberpeilsteiner (stefano)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe zwar keine Lösung für ihr Problem, möchte aber dennoch folgendes 
dazu bemerken:

Bezugnehmend "Hardware schonen": Es gibt von IBM eine Studie die belegt 
das 1x ein/ausschalten der Serverhardware mehr schadet als würde sie die 
ganze Zeit durchlaufen.

Bitte das zu bedenken.

lg Stefan

Autor: B. Lan (blan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
also dieses MagicPaket zu verschicken dürfte eigentlich kein problem 
sein. Einfach so ein Ethernet-Modul (ich kenn leider die bezeichnung 
jetzt nicht) nehmen und an ein AVR hängen.
Mit der Telefonanruf erkennung dürfte es schon komplizierter werden. Was 
ich mir aber gut vorstellen könnte, dass man sich aus so einem alten 
Telefon (am besten noch mit wählscheibe) entwas zusammenbasteln könnte - 
zB statt der klingel einfach den ext. Interrupt vom AVR dran hängen :)

mfg blan

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei einem analogen Telefonanschluß könnte man ein Modem anschliessen, 
über die serielle Schnittstelle liefert das das RI-Signal (spezieller 
Pin der RS232-Schnittstelle).
Das Signal könnte man mit einem AVR (-Webserver) erkennen und das 
Magic-Paket verschicken.
Einfacher wäre es, wenn der Server nicht nur per WOL, sondern auch per 
RI (serielle Schnittstelle) anschalten könnte. Dann könnte man sich das 
AVR-Interface sparen...

Autor: Jan der Xte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich erinnere mich schwach, dass die c't oder ix sowas mal vor einiger 
Zeit veröffentlicht hat. Es könnte sein, dass der Artikel irgendwas wie 
"... Bei Anruf ..." enthielt. Kannst ja mal versuchen, ob du auf der 
heise.de Seite in den Online-Inhaltsverzeichnissen von c't und ix was 
findest.

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal Danke für Infos! :)

@ Stefan Oberpeilsteiner:
Wo kann man das nachlesen?

@ B. Lan:
Bin genau der anderen meinung! ;)
Die Auswertung des Anrufes (Post-Zulassung mal ignoriert) ist
eigendlich recht simpel. Daszu finden sich x-Schaltungen im Internet.

@ Jan der Xte:
Werd mal auf die Suche gehen..

Gruß,
Techniker

Autor: Jojo S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bei mir habe ich so ein Script in der Fritzbox die das erledigt. Aus dem 
Internet kann man das nicht direkt schicken, aber per Anruf klappt das 
zuverlässig. Wenn du auch eine Fritzbox hast:
http://www.the-construct.com/
Ansonsten im http://www.ip-phone-forum.de suchen, da gibts sowas alles.

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Jan der Xte:
Hab mich in Unkosten gestürzt und den Artikel gekauft.. ;)
Die Schalten jedoch per Relais den PC ein.

Dies kann ich nicht gebrauchen, da im lokalen LAN der Server ja auch per 
WOL gebootet wird.. :-/

@ Johannes Stratmann:
Danke für die Links. "Leider" ist der Router ein professionelles 
Business-Gerät von 3COM..

Werd mir mal den anderen Link ansehen..

Gruß,
techniker

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Johannes Stratmann:
Das ist auch nicht das Richtige, da dort eine Frizbox mit einer IP 
benötigt wird. (Ist nicht so leicht eine statische IP von unserer 
IT-Abteilung für solche Anwendungen zu bekommen..)

Was ich brauche ist ein Gerät, dass das Magic-Packet nur auf der 
unteresten Ebene (d.h. ohne eine IP zu verbraten) versendet..

Da es da wohl wirklich nix gibt, werd ich mich in die WOL-Thematk als 
neues Hobby etwas einarbeiten müssen.. :-/

Trotzdem danke an alle..

Gruß,
Techniker

Autor: Jojo S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es geht in der FB ohne IP, eigentlich geht es nur ohne IP weil der 
Rechner ja noch schläft. Die FB startet bei Anruf ein Script und führt 
ein 'ether-wake aa:bb:cc:dd:ee' aus, als Adresse wird die Mac Adresse 
angegeben. Ether-Wake ist ein Tool von einem Tool 'busybox' das gerne 
auf kleinen Linux Systemen eingesetzt wird.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der Telefonanschluss in der Nähe des Servers ist, geht vielleicht 
auch eine einfache Lösung mit "Wake on Modem"?
Entweder mit einer eigenen Schaltung an der Seriellen, oder gleich ein 
ausrangiertes Modem dranhängen, das macht auch gleich die Anruferkennung 
mit.

Autor: blob! (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
um nochmal auf die "Hardwareschonung" zurück zu kommen:
Das würde sich mit der google-studie decken die letzten Herbst(!?) 
veröffentlich wurde.

Google hat die Langlebigkeit seiner HDD's untersucht und ist dabei zu 
der Erkentniss gekommen, dass der Hersteller keine so grosse Rolle 
spielt, genauso wenig wie der Einsatzzweck der Platte (workstation, 
server...).
Das, was den Platten am meisten geschadet hat waren die Einschaltzyklen 
- somit war eben die schlaue Erkentniss dieser Studie dass für die 
Platten ein Dauerbetrieb schonender als ein ständiges Ein-/ und 
Ausschalten war/ist!

Bei interesse kann ich's nochmals heraus suchen, oder Ihr googelt 
einfach selbst dannach ;)

Autor: OliverSo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das ist auch nicht das Richtige, da dort eine Frizbox mit einer IP
>benötigt wird. (Ist nicht so leicht eine statische IP von unserer
>IT-Abteilung für solche Anwendungen zu bekommen..)

>Was ich brauche ist ein Gerät, dass das Magic-Packet nur auf der
>unteresten Ebene (d.h. ohne eine IP zu verbraten) versendet..

Äh, wie jetzt? Du willst mit einem Gerät ohne eigene IP-Adresse einen 
ankommenden VOIP-Anruf (auf einer festen IP-Adresse) erkennen?

Oliver

Autor: blob! (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ob VOIP oder analoges telefon ist ja egal.

-> telefon klingelt

-> "irgendwas" erkennt das klingel und schickt ein WON-Paket an den 
Server

-> Server bekommt Nachricht und weiß, "ahh, Telefon hat geklingelt, ich 
schalt dann jetzt mal ein!"

Ich würde daher auch ein altes Telefon umbauen (Wenn die Klingel 
bestromt wird nen Atmel einschalten!)

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ OliverSo:
Wer hat was von VOIP gesagt?
Die feste IP brauch ich nur, damit ich von der Aussenwelt ohne weitere 
Hilfe an den Server rankomm.. Das "klingeln" kommt von dem ungenutzten 
analogen Anschluß.

@ blob!:
Ja, sowas in der Art habe ich vor zu realisieren..
Mir wärs hald lieber gewesen, wenns das schon irgendwie fertig gäbe. :-|

Was hald wichtig ist: Die Black-Box sollte im Netzwerk komplett 
"unsichtbar" sein. D.h. keine eigne IP (was ja auch für WOL nicht nötig 
ist..)

Gruß,
Techniker

Autor: Jojo S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat der Server denn eine serielle Schnittstelle? Dann ist der schon 
genannte Vorschlag mit dem Modem doch einfacher. Wahrscheinlich braucht 
man nur das 'RI' Signal (Ring Indicator) beim Klingeln auf den richtigen 
Pegel ziehen. Klingelerkennung an analog ist doch auch einfach, für 
diese Lösung braucht man nichtmal einen µC.

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Johannes Stratmann:
Eine serielle Schnittstelle hat der schon - aber leider sitzt der 
räumlich getrennt fast 500m weit vom Anschluß weg.. :-(

(Ist ein anderes Gebäude, das per Glasfaser angebunden ist..)

Autor: Jojo S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann könnte man so einen AVR-basierenden Webserver von U. Radig oder 
hier aus der Codesammlung nehmen. Die Software so änderen das das Modul 
nicht mehr als Webserver läuft sonst nur das WOL Pakcet ins Netz schickt 
wenn ein Portpin geschaltet wird (über die Klingelerkennung). So ein WOL 
Paket ist ja einfaches UDP, ARP braucht man nicht weil die MAC Adresse 
vom Server ja fest eingebrannt wird. So wurde es hier aber schon 
vorgeschlagen.

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, genau sowas werd ich dann wohl als "Hobby-Projekt" bauen dürfen.. 
:-/

Autor: winne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf das Modem kanst du auch verzichten, wenn es nur ums klingeln geht, 
braucht der Ruf nicht mal angenommen zu werden. Einfach das 
Klingelsignal des Analoganschlussese (>60V~)dedektieren und über nen 
Optokopler nem AVR(atmega32 vielleicht reicht sogar nen tiny) mit 
Netzwerkadapter aufhelfen damit damit dieser das Paket ins netz schickt 
und den armen Server aus dem Schlaf reist. das kostet dann noch nicht 
einmal gebühren. ;-)

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@winne:

Richtig! :)

Problem ist momentan nur noch, dass ich keinerlei Erfahrung mit 
AVR-Webservern habe.. :-(

(Deshalb auch die Frage nach Fertiglösungen..)

Autor: B. Lan (blan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Techniker wrote:
> @winne:
>
> Richtig! :)
>
> Problem ist momentan nur noch, dass ich keinerlei Erfahrung mit
> AVR-Webservern habe.. :-(
>
> (Deshalb auch die Frage nach Fertiglösungen..)

Zieh doch nicht immer so ein gesicht :D
Aus so einem Projekt kann man einiges lernen und so schwer wird das 
nicht wenn du ein bischen mit dem Lötkolben umgehen kannst. Die 
Schaltungen lassen sich wohl alle aus dem Internet holen und 
zusammenbasteln.

mfg blan

Autor: Jupp Van de balken (mng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einer Fertiglösung kann ich zwar nicht dienen, aber dafür mit einer 
so-einfach-und-billig-wie-möglich-Variante: Es gibt doch den 
"IgorPlug-UDP", bei dem ein mit 20 MHz getakteter AVR per Bitbanging 
UDP-Pakete erzeugt. Mein Ansatz wäre wahrscheinlich, anstelle des 
UDP-Pakets das gewünschte WOL-Paket zu versenden, sobald das Klingeln 
erkannt wurde. Vielleicht lässt sich die gleichgerichtete und gepufferte 
Klingelspannung direkt zur Versorgung des AVRs verwenden.

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ B. Lan:

Mit löten und programmieren hab ich überhauptkein Problem. ;)
(..hab nicht umsonst den Nicknamen Techniker ..)

Nur die Internetprotokolle im Detail sind hald Neuland..

Naja, wird schon werden.. :)

Autor: B. Lan (blan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann ist doch alles super.
dieses ethernet-interface stellt nur den physical-layer zur verfügung. 
du schaust dir also einfach an wie so ein MagicPaket aussieht und haust 
es in das Tx-Register von dem ethernet-interface, welches die Daten dann 
nur noch verschickt. Du musst also nicht UDP, ARP oder sonstwas 
implementieren.

mfg blan

Autor: Jupp Van de balken (mng)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Zusammen,

ich habe mal ein Programm gebastelt, das nach Eingabe von MACs, IPs, 
Ports usw. ein UDP-Paket mit der entsprechenden Wake-on-LAN-Sequenz 
erzeugt. Dieses Paket wird als Source-Datei gespeichert, die dann per 
include in eigene Programme übernommen werden kann. Dort müssen Macros 
angelegt werden, die von den Befehlen in der erstellten Datei aufgerufen 
werden und den Port eines Controllers so ansteuern, dass 
10BaseT-kompatible Signale erzeugt werden.

Die Macros könnten in C z.B. so aussehn:

#define SendeStart { asm volatile ("ldi r24 ,   2"); asm volatile ("ldi 
r25,   1"); }
#define SendeBit1  { asm volatile ("out 0x02, r24"); asm volatile ("out 
0x02, r25"); }
#define SendeBit0  { asm volatile ("out 0x02, r25"); asm volatile ("out 
0x02, r24"); }
#define SendeEnde  { asm volatile ("out 0x02, r1");}

Senden würde man das Paket dann mit:

void PaketSenden() {
  SendeStart
  #include "FRAME.c"
  SendeEnde
}

Alles, was man an Hardware braucht, ist ein 20MHz-Quarz, ein 8-beiniger 
AVR (z.B. tiny85), einen Spannungsregler, etwas Hühnerfutter und 
vielleicht noch ein Netzwerkkabel (einfach zerschnippeln und anlöten, 
falls man keine RJ45-Buchse zur Hand hat). Mit zwei Portpins geht man 
direkt (Widerstände oder ein Übertrager sind nicht unbedingt nötig) auf 
RX+/RX- des nächsten Switches oder der Netzwerkkarte des Zielrechners.

Vielleicht hat ja jemand Verwendung hierfür. Viel Spaß!

mng

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jupp Van de balken,

Habs zwar noch nicht ausprobiert, klingt aber trotzdem sehr interessant! 
:)

Hast du eine Quelle, wie das Magic-Paket genau zusammengebaut wird?

Gruß,
Techniker

Autor: Jupp Van de balken (mng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles Essentielle wird unter dem Punkt "Magic Packet" auf 
http://de.wikipedia.org/wiki/Wake_On_LAN erklärt. Das alles packt man 
dann noch in ein UDP-Paket.

http://de.wikipedia.org/wiki/User_Datagram_Protocol
http://de.wikipedia.org/wiki/IP-Paket
http://www.cesko.host.sk/IgorPlugUDP/IgorPlug-UDP%...

mng

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau. Der entscheidende Punkt ist der, dass das UDP-Paket durch den 
Router auf die Broadcastaddresse, z.B. 192.168.0.255, des lokalen Netzes 
geforwarded wird. Somit ist keine Zuordnung einer IP-Adresse notwendig. 
Zum Senden des UDP-Pakets hab ich mir auch mal so nen Programm 
geschrieben, nur leider packt mein Netgear-Router das weiterleiten 
nicht. Andere Router mögen in der Hinsicht besser sein, aber es ist 
schwer, diese Eigenschaft aus der Spec zu erahnen.

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Broadcastaddresse, z.B. 192.168.0.255

Nimm doch einfach 255.255.255.255 so funktioniert der Broadcaste bei mir 
zumindest problemlos (egal welches Netzwerk).

Autor: Jupp Van de balken (mng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Innerhalb ein und desselben Netzwerks spielen für WOL die IP-Adressen 
keine Rolle, da hier alles auf MAC-Ebene abläuft. Es reicht völlig aus, 
wenn die MAC-Adresse des einzuschaltenden Rechners korrekt angegeben 
wird.

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Full ACK. Spannend wird es aber, wenn der Router ein UDP Paket vom WAN 
auf eine Broadcastadresse im LAN forwarden soll. Das ging halt nicht. 
Weiss jetzt aber nicht, ob der OP das überhaupt will/braucht.

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..hmm.. ;)

Mir kommt da grad eine andere Idee:
Gibt es ein WOL-Tool, dass unter Windoof läuft und wo ich auch ein 
IP-Band als Ziel angeben kann..?

Evtl. ist das für mich die einfachste Lösung, falls der Router mitspielt 
und das Paket forwardet.. :)

Ich hab hier eine WOL.exe, die nur eine MAC will. Keine Ahnung, mit 
welchen Werten das Tool den Rest auffüllt..?!?

Gruß,
Techniker

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kennt niemand ein Tool, dass dies kann? :-/

Autor: Jupp Van de balken (mng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Jojo S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube nicht das man ein Subnet als Ziel für WOL angeben kann. 
Pakete werden nicht an eine IP-Adresse geschickt sondern an eine MAC 
Adresse. Da der zu weckende Rechner aber aus ist kann der Router die MAC 
gar nicht ermitteln. Die Zuordnung MAC-IP wird zwar im Cache des Routers 
gehalten, aber nur für sehr kurze Zeit, dann muß das IP-Ziel per ARP 
(Adressauflösungs Anfrage) wieder neu ermittelt werden. Und das klappt 
eben nicht weil der richtige Rechner ja schläfft. Für einen 
Massenweckruf könnte man ein Kommandozeilentool nehmen und das in eine 
Batchdatei packen.

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Johannes Stratmann:

Verstehe ich nicht..?!?
Wozu braucht der Router die IP des Zielrechners?
Er soll doch nur anhand der IP + Subnetmask das Paket entsprechend 
weiterreichen. Ihm kann doch egal sein, ob die angegebene IP im 
WOL-Paket überhaupt existiert..?!?

Hab es jedenfalls gerade an 2 FLI4L-Router ausprobiert mit dem Aufbau 
von Jupp Van de balken. Es würde funktionieren! :-D

Hab 2 Netzwerke (mittels 2 Fli4L-Router) definiert: 192.168.10.0 und 
192.168.20.0 jeweils mit Subnetmask 255.255.255.0

Beide Router sind an meinem "richtigen" Internet-Router im Netz 
192.168.0.0 verbunden und entsprechende Forward-Regeln gesetzt.

Ein WOL-Paket vom 192.168.10.0er Netz ins 192.168.20.0er Netz geht mit 
der wol.exe nicht. Dann hab ich ein WOL-Paket mit dem AVR losgeschickt 
und siehe da: ES FUNKTIONIERT! ;)

Ist dies nun ein Zufall und hat was mit dem Router-Cache zu tun oder 
sind die Netzangaben im WOL-Paket doch wichtig..?!?

Ich geh jetzt erstmal ins Bett.. ;)

Gute nacht!

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Johannes Stratmann

Du bist auf dem richtigen Weg. Deswegen schickt man ja einen Broadcast, 
um eben keine MAC-Addresse (wird wohl eine Ethernet-Broadcastadresse 
sein?)zum Versenden des UDP-Pakets kennen zu müssen. Die Nutzlast des 
speziellen Pakets ist dann aber eben doch die MAC-Adresse des 
Zielsystems. Hier ist ein wenig Code, der so eine Paket baut:

void WakeUp()
{
  const char MAC[6] = { 0x00,0x01,0x02,0x03,0x04,0x05 };
  AnsiString Data;
  for (int i=0; i<6; i++)
    Data += char(0xFF);
  for (int i=0; i<16; i++)
    for (int c=0; c<6; c++)
      Data += char(MAC[c]);
  IdUDPClient->Send(Data);
}

Deswegen eben auch die spezielle Anforderung an den Router.

Evtl. hilft ein Router, dessen DHCP-Tabelle (Zuordnung MAC/IP-Adress) 
statisch aufgebaut werden kann.

Autor: JojoS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, das kann so auch nicht richtig sein: die MAC ist keine Broadcast 
Adresse sondern die Hardware Ziel- und Absenderadresse die in den ersten 
Bytes drinsteht. In deinem Beispiel ist die Quelladresse ff:ff:ff:ff:ff 
und die Zieladresse die gewünschte MAC Adresse, damit ist das aber kein 
Broadcast. Ein Broadcast hätte als Ziel die ff-Adresse.
Und DHCP ist auch nicht die ARP Tabelle, DHCP ist ein Serverdienst der 
IP Adressen vergibt und ARP versucht die MAC zu einer IP herauszufinden, 
das sind zwei paar Schuhe. Und für einen Wakeup call die richtige 
Adresse in einer ARP Tabelle an einer anderen Stelle abzulegen macht 
auch keinen Sinn. Also bleibt nur für das Wecken vieler PCs eine 
Batchdatei zu erzeugen die für jeden einzelnen eine Zeile 'Wol mac_n' 
enthält.

Autor: JojoS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe jetzt nochmal in das AMD Dokument geguckt. @Entwickler: mein Fehler 
war noch in der Interpretation deines Codes. Die beiden Adressen stecken 
in den Nutzdaten und sind damit nicht Quell- und Zielmac. Für deinen 
IdUDPClient hast du vermutlich vorher ein bind auf eine Zieladresse 
gemacht.
In dem AMD Dokument ist aber auch das Router Szenario beschrieben, 
danach kommt es auf die richtige Broadcastadresse an. Ein ff:ff:ff:ff:ff 
Broadcast wird nicht geroutet und kommt damit wahrscheinlich nicht an. 
Ein 'directed Broadcasst' mit der richtigen Subnetzadresse sollte danach 
aber funktionieren. Hier ist vielleicht der Unterschied zwischen 
'Wol.exe' und dem AVR Code den Der_Techniker hier beschrieben hatte.

Autor: Jupp Van de balken (mng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jojo

Was spricht denn dagegen, im Router einen statischen Eintrag im 
ARP-Table zu erzeugen? Sogar bei Windows geht das :-) Das sollte doch 
schon des Rätsels Lösung sein. Bei den besseren Geräten - wie z.B. der 
Fritzbox - lässt sich da per Telnet sicher etwas machen. Ich gucks mir 
später mal an.

Autor: Jojo S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jupp: gerade bei der FB ist es etwas schwieriger, im Netz findet man 
schnell einige Erklärungen dafür, z.B. bei Tecchannel.de:

Zitat: 'Selbst wenn man feste IP-Adressen vergibt, läuft der Rechner 
meist im lokalen Netz und hat keine aus dem Internet erreichbare 
öffentliche IP-Adresse. Somit ist eine Portweiterleitung im DSL-Router 
nötig. Diese funktioniert aber nicht bei allen Routern, wenn die 
angesprochene IP-Adresse offline ist.Als Ausweg bieten manche DSL-Router 
(nicht die Fritz!Box) an, alle UDP-Pakete aus dem Internet 
beispielsweise auf Port 9 als Broadcast in das gesamte lokale Netzwerk 
zu schicken. Doch schon allein aus Sicherheitsgründen sollte man eine 
derartige Lösung ablehnen.'

auf der FB kann man dann eine SSH einrichten und von dort per ether-wake 
ins lokale Netz senden oder man nutzt 'Wake on call' (so mache ich das).

Aber deinen Code aus dem Wolgen.exe kann ich gut gebrauchen, ich 
verfolge das weil ich meinen Rechner zusätzlich per Fernbedienung (X10 
von Medion) starten möchte. Es gibt da schon die bekannte Lösung für 
IR-Fernbedienungen, aber meine arbeitet mit 433 Mhz Funk. Ich wollte da 
den Mega8 verwenden, der ist aber nur bis 16Mhz Takt spezifiziert. Kann 
man den halbwegs zuverlässig mit 20Mhz betreiben? Oder hat der Mega8 
pinkompatible Brüder die mit 20Mhz klarkommen?

Autor: Jupp Van de balken (mng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@jojos

Das Problem erkenne ich trotzdem nicht. Mal ein Beispiel:

Private IP des einzuschaltenden Rechners ist 5.6.7.8, seine MAC 
11:22:33:44:55:66
Öffentliche IP des Routers ist 1.2.3.4
Im Router wird ein Portforwarding von UDP Port 6666 auf 5.6.7.8:6666 
eingerichtet
Im Router wird ebenfalls ein statischer ARP-Eintrag eingefügt, der 
besagt, dass IP 5.6.7.8 unter MAC 11:22:33:44:55:66 erreichbar ist.

Nun sendet jemand aus dem Internet ein UDP-WOL-Paket an 1.2.3.4:6666

Router bekommt UDP Paket auf Port 6666
Router guckt in Portforwarding-Liste
Router findet Eintrag "UDP Port 6666 weiterleiten an 5.6.7.8:6666"
Router guckt in ARP-Table
Router findet Eintrag "5.6.7.8 ist erreichbar unter 11:22:33:44:55:66"
Router leitet Paket weiter an 11:22:33:44:55:66
Netzwerkkarte in PC erkennt WOL-Sequenz, et voila...

Hab ich was übersehen?


Habe hier übrigens einen Mega644V-10PU im Einsatz, den ich mit 20MHz 
betreibe. Da sollte die Differenz von 16MHz nach 20 MHz auch kein 
Problem darstellen. NEIN, bin kein AVR-Quäler. Der Inhalt des Bausatzes 
war nur seinerzeit nicht ganz korrekt, was mir erst recht spät auffiel. 
Läuft erstaunlicherweise alles fehlerfrei.

Autor: Jojo S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ob die FB statische ARP Einträge erlaubt weiss ich nicht, ein Kommando 
'arp -s' wie unter Windows gibt es jedenfalls nicht. Aber wie gesagt, 
damit haben sich schon viele Leute beschäfftigt und man stösst immer 
wieder auf die bereits genannten Lösungen.

Nochmal zu dem Wolgen bzw Software-Ethernet: so wie ich das verstehe 
kann man damit nur ein fixes Paket verschicken, oder ? Ich möchte zur 
Laufzeit aber gerne verschiedene UDP Frames erzeugen, ist das mit der 
einfachen Lösung überhaupt möglich?

Autor: Jupp Van de balken (mng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich die Beschreibung des oben genannten IgorPlugs richtig 
verstanden hab, dann ist es dort möglich, zumindest den Inhalt eines 
einzelnes Bytes pro UDP-Paket zu variieren. Wie er es allerdings 
schafft, dazu noch die passende Prüfsumme zu senden, hab ich noch nicht 
entdeckt. Hab mich aber auch damit noch nicht beschäftigt. Bei meiner 
Lösung sind die Pakete nicht veränderbar. Der Controller braucht bei 
20MHz wirklich jeden einzelnen Takt, um das Timing einzuhalten.

Autor: Jupp Van de balken (mng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Obwohl... Eine Möglichkeit wäre, einen AVR zu verwenden, der zur 
Laufzeit seinen eigenen Flashspeicher beschreiben kann und dort selbst 
die zur Erzeugung der gewünschten Pakete nötigen Befehle reinpackt. Eine 
verrückte Idee...

Autor: Space (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jupp

Du hast übersehen, das dieser Schritt...
"Router findet Eintrag "5.6.7.8 ist erreichbar unter 11:22:33:44:55:66"
....bei einem ausgeschaltetem Rechner nicht funktioniert. Der ARP 
Eintrag timed je nach OS auf dem Router mehr oder weniger schnell aus , 
wenn das Gerät nicht mehr über den Router kommuniziert (sprich aus ist).

Ausserdem sollte optimalerweise die Boadcast MAC 12xF verwendet werden. 
Denkbar ist, das  in der MAC-Tabelle (CAM Table) eines nachgeschaltetetn 
Switches,  für die Unicast-MAC noch ein alter, u.u. falscher, Eintrag 
vorhanden. Bei 12xF kann man sich sicher sein, das der Switch an allen 
Ports das Packet aussendet.

Wenn du für die gerichtetet Broadcast Adresse (z.B. 192.168.1.255 für 
192.168.1.0 255.255.255.0 er Netz) einen statischen ARP Eintrag mit der 
12xF anlegst, kann eigentlich jeder Router directed Broadcast. Dann das 
UDP Forwarding auf die directed Broadcast Adresse definieren.

Autor: Jupp Van de balken (mng)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Space

Ich schrieb ja davon, einen statischen Eintrag im Router zu erstellen, 
für den es keinen Timeout gibt. Das gleiche, was afaik auch der 
Windows-Befehl "arp -s" macht. Funktionieren sollte es also.
Deine Idee bringt aber wahrscheinlich dann einen Vorteil, wenn man mehr 
als einen einzigen Rechner per WOL wecken möchte.

Autor: Hinterfrager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Techniker,

irgendwie hab ich das Gefühl, dass du da was mauscheln willst, denn:

-> Du willst ein Gerät, welches den Server einschaltet, ohne es im 
Netzwerk
   zu sehen?!
-> Da du meintest, die IT-Abteilung würde keine IP rausgeben, gehe ich 
mal
   davon aus, dass du nicht in der IT zuständig bist.
      => Diese Angelegenheit ist jedoch Aufgabe einer IT-Abteilung, oder
         nicht?! Die ham dann auch Ahnung von der Materie
-> Du willst in keinem Report was hinterlassen.

Kurz um:
Du versuchst, einen Server in der Firma zu starten, wenn ein (derzeit) 
nicht benutzter Tel-Anschluss angerufen wird. Das ganze ohne die IT um 
Hilfe zu fragen und ohne dass irgendetwas im Netz sichtbar ist...


@all
und Ihr unterstützt ihn ohne wenn und aber mit Hardwarevorschlägen und 
Programmzeilen...
Ich würde mich freun, wenn das das bei mir in der Firma wäre...

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hallo Techniker,

Hallo Hinterfrager,

> irgendwie hab ich das Gefühl, dass du da was mauscheln willst, denn:
>
> -> Du willst ein Gerät, welches den Server einschaltet, ohne es im
> Netzwerk zu sehen?!

Richtig! -> ist ja auch ohne Probleme möglich..! ;-)

> -> Da du meintest, die IT-Abteilung würde keine IP rausgeben, gehe ich
> mal davon aus, dass du nicht in der IT zuständig bist.

Nicht ganz richtig - ich betreue unsere Abteilung im Auftrag der 
IT-Abteilung..

> => Diese Angelegenheit ist jedoch Aufgabe einer IT-Abteilung, oder
> nicht?! Die ham dann auch Ahnung von der Materie

Nur wollen die -wie jede Abteilung- Umsatz machen, auch wenn dies 
Firmenintern ist..

> -> Du willst in keinem Report was hinterlassen.

Das ist das zwangsläufige Ergebnis, wenn das Geräte nur auf MAC-Ebene 
arbeitet und dadurch keine IP besitzt..

> Kurz um:
> Du versuchst, einen Server in der Firma zu starten, wenn ein (derzeit)
> nicht benutzter Tel-Anschluss angerufen wird. Das ganze ohne die IT um
> Hilfe zu fragen und ohne dass irgendetwas im Netz sichtbar ist...

Doch, diese wurde gefragt und Sie wollte das in einem Projet 
realisieren, dass im mittleren 5stelligem Bereich gekostet hätte..

Mittlerweile funktionier das Gerät wunderbar und keiner regt sich 
darüber auf, weil die WOL-Pakete sowieso in der Abteilung bleiben. 
(Werden ja nicht geroutet..)

Gruß,
techniker

Autor: Francesco Na (franceso-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, habe mir nicht alles durchgelesen, aber Wakup from Sleep geht
auch über serielle Schnittstelle, sprich RI signal, muß aber im Bios
engestellt werden. Einfach modem dranhängen und es funkt dann von 
selbst.

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> habe mir nicht alles durchgelesen,
> aber Wakup from Sleep geht auch über serielle Schnittstelle,

hättest du mal ..

der Techniker schrieb doch, daß der Server 500 m weiter weg steht und 
per Glasfaser angekoppelt ist

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.