Hallo, ich würde gerne mit meinem ATMEGA ein Magic Packet (=Wake On Lan) im lokalen Netzwerk empfangen. Die MAC Adressen will ich dann in meinem Programm auswerten. Gesendet werden die Magic Packet's (mit beliebigen MAC Adressen) von einem weiteren Rechner im Netzwerk. Ich habe vor - wenn möglich - einfach nur den RX-Kanal auszuwerten. Auf der Suche nach ähnlichen Projekten bin ich nur auf Webserver gestossen. Die Webserverlösung wäre zwar sehr elegant und ausbaufähig, ist mir jedoch viel zu aufwändig und zu groß. Ich will das Magic Packet schliesslich nicht vom Internet aus senden, sondern nur aus dem lokalen Netz. Da ich mich mit Netzwerken nicht so gut auskenne hier meine Fragen an diejenigen, die sich damit besser auskennen: Kann man dieses Projekt ohne einen separaten Ethernetcontroller realisieren? Ich will ja nichts versenden, sondern nur etwas empfangen. Oder muss ich mich im Netz anmelden? Werden Magic Packet's verschickt, deren MAC Adressen im Netzwerk unbekannt sind? Ich könnte mir vorstellen, dass der Router das Magic Packet nicht weiterschickt, weil ihm die MAC Adresse nicht bekannt ist. Ich hoffe, Ihr könnt mir ein wenig bei der Aufwandsabschätzung helfen. Viele Grüße Cossy
1) Ich interpretiere das so: Du willst ALLE Wol Packete sehen, nicht nur die für eine bestimmte Station. A) Ohne einen Ethernetcontroller im Promisc... ääää..., einen der alle Pakete empfängt ;-) wirst du nicht herumkommen. Es gibt zwar irgendwo im Netz ein Projekt in dem ein AVR direkt am Netz hängt, aber das nur bei 10MBit, mehr schafft ein AVR nicht. B) Da in so ein Magic Packet ja nur mehrmals hintereinander die MAC Adresse des Empfängers stehen muss (wie oft weiss ich jetzt nicht mehr) wird auch ein Router ein gültiges IP Paket (mit dem "Magic" im Datenteil) in das entsprechende Segment weiterleiten. Das funktioniert (selbst ausprobiert). C) Um Magic Packets zu erkennen, muss der AVR JEDES Paket untersuchen. Das schafft ein AVR nur, wenn im Netz so gut wie nichts los ist. Fazit 1: Vergiss es. 2) Magic paket nur für eine EINZIGE MAC Adresse. A) s.o. B) s.o. C) Da du nur Multicast/Broadcast Pakete und Pakete and die an diese spezielle MAC adressiert sind auswerten musst, KANN das evtl. funktionieren. Wenn nicht zuviel Broadcast/Musticast Traffic im Netz herrscht. Aber wenn Windows im Netz ist... "Windows is very chatty". Fazit 2: Kann gehen.
Hey! Ich habe ähnliches vor. Ich habe eine XBOX mit XBMC und würde sie gerne über WOL (Wake on Lan) starten lassen. Leider unterstützt die XBOX kein WOL. Dh eine kleine Box vor der XBox müsste dauerhaft am Netzwerk lauschen und wenn ein Magic Packet mit der MAC-Adresse der XBOX ankommt die Powertaste über ein Relais oder Transistor schalten. Jedoch wie? Muss da ein kompletter Webserver her? Gibt es Ethernet-Chips die eine Art Filterfunktion eingebaut haben? Dh dass nur solche Pakete durchkommen und man dann via spi / rs232 o.Ä. die MAC-Adresse geschickt bekommt? Ich habe gerade viel gegoogled aber habe nur Lösungen gefunden die über ein Webinterface Geräte an und ausschalten. Ich möchte jedoch dass die kleine Box im Netzwerk quasi garnicht auffällt. Von außen sollte es dann so wirken, dass die XBOX das WOL unterstützt. Hat da jemand Erfahrung mit den Ethernetchips? Gruß Dominik
>Kann man dieses Projekt ohne einen separaten Ethernetcontroller >realisieren? Nein, Empfangen ist cycle-intensiver wie Senden, die im Netz kursierenden "AVR-SW-Ethernets" erlauben "nur" Senden und das geht gerade soooo. >Muss da ein kompletter Webserver her? Gibt es Ethernet-Chips die eine >Art Filterfunktion eingebaut haben? Dh dass nur solche Pakete >durchkommen und man dann via spi / rs232 o.Ä. die MAC-Adresse geschickt >bekommt? Wenn man einen Ethernetchip verwendet, geht natuerlich alles was man gewoehnlicherweise mit einem Ethernetchip anfangen kann. Also ein UDP-Server oder ein TCP basierter Server (HTTP setzt auf TCP auf). Mit den vorhandenen (freien) embedded (AVR-)Webservern waeren die Aenderungen zum EIn/Ausschalten von Geräten wohl minimal, alles andere waere "Arbeit" ohne einen (offensichtlichen!?) Mehrwert zu erhalten! Jepp, die "Art Filterfunktion" ist quasi die eigene MAC Adresse, ein Ethernetcontroller nimmt Pakete an, welche an seine MAC und auf die Broadcast Adresse geschickt werden... (fuer die Multicasts muss man spezielle Dinge tun :-) VG, Hans
Hallo, ich hatte mir schon mal folgendes überlegt, aber bisher nicht ausprobiert: eine billige PCI-Netzwerkkarte für 5 Euro müsste eigentlich an ihrem WOL-Kabel ein Signal abgeben, wenn sie angesprochen wird, und dazu dürfte sie nicht mehr brauchen als die Versorgung mit der Standby-Spannung - im abgeschalteten PC ist der Bus ja auch nicht in Betrieb. Gilt natürlich nur für die eigentliche Weckfunktion, nicht für eine Überwachung des Netzes. Aber z.B. ein ferngesteuertes Starten eines Netzwerkdruckers sollte realisierbar sein. Gruss Reinhard
geht leider nicht Karte muss vom OS initialisiert sein.
tonni schrieb: > geht leider nicht Karte muss vom OS initialisiert sein. Sicher? Das würde ja im Normalbetrieb heissen, nach einem Stromausfall funktioniert WOL nicht. Gruss Reinhard
Werden die Konfigurationsdaten in einem EEPROM gespeichert? Dann könnte man ja die Karte einmal in einen PC einbauen, konfigurieren und wieder ausbauen. Wenn das in einem SRAM o.ä. gespeichert wird, geht das natürlich nicht.
Michael Frangenberg schrieb: > Werden die Konfigurationsdaten in einem EEPROM gespeichert? Dann könnte > man ja die Karte einmal in einen PC einbauen, konfigurieren und wieder > ausbauen. Wenn das in einem SRAM o.ä. gespeichert wird, geht das > natürlich nicht. dann würde ja auch die IP nach einem aus/einbau gespeichert sein?
osby schrieb: > dann würde ja auch die IP nach einem aus/einbau gespeichert sein? eine Netzwerkkarte hat selbst keine IP-Adresse! Demzufolge sollte WOL auch bei einer nicht initialisierten Karte funktionieren. Es geht ja nur um die MAC-Adresse, und die filtert die Karte ja selbstständig heraus und gibt dann den WOL Schaltbefehl durch.
Habe gerade mal ein wenig gegoogelt, diese Lösung hier sieht interessant aus für das Problem: http://www.silabs.com/products/mcu/Pages/Wake-on-LAN.aspx Weiß jemand mehr darüber?
Reinhard Kern schrieb: >> geht leider nicht Karte muss vom OS initialisiert sein. > Sicher? Das würde ja im Normalbetrieb heissen, nach einem Stromausfall > funktioniert WOL nicht. Kommt auf die Karte an, bei einigen muss in der Tat WOL explizit vom OS oder BIOS aktiviert werden, und bleibt dann nur solange aktiv, wie die (Standby-)Stromversorgung der Karte nicht komplett unterbrochen wird. Hans schrieb: > Nein, Empfangen ist cycle-intensiver wie Senden, die im Netz > kursierenden "AVR-SW-Ethernets" erlauben "nur" Senden und das > geht gerade soooo. Für WOL ist allerdings kein vollwertiger Empfang mit Dekodierung von Ethernet-Frames etc. nötig. Es müssen Link-Pulse gesendet werden, damit der Switch den Port nicht deaktiviert, und es muss die magische Bitsequenz (48 1-Bits gefolgt von 16 Wiederholungen der MAC-Adresse) erkannt werden. Dürfte aber dennoch grenzwertig werden, das auf einem AVR in Software zu implementieren. Andreas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.