Internetradio mit Wake On Lan Funktion

Gerber_

Lieutenant
Registriert
Juli 2012
Beiträge
543
Hallo Community,

ich habe bereits ein Internet Radio Hama IR 110 im Einsatz und bin sehr zufrieden.
Es gibt nur ein Punkt der mit etwas stört.

Ich habe die Haussteuerung Homematic in meiner Wohnung programmiert und wollte nun das Hama Radio in meine Haussteuerung integrieren und per WOL (Wake ON Lan) Paket aufwecken.

Jedoch schlug jeder Versuch fehl.

Ich kann das Radio per App aus dem Standby wecken, jedoch nicht per Wake on Lan Paket.
Weis jemand, wie die App das Radio weckt ??

Kennt jemand ein Internetradio dass sich per Wake ON Lan Paket einschalten lässt ??

MFG Gerber
 
Also ich würde mir einfach mal mit Wireshark am Rechner ansehen, was da über die Leitung geht, wenn du das Radio per App weckst. Es müsste sich ja um ein Broadcast-Paket handeln, also sollte es auch ohne weitere Maßnahmen bei allen Teilnehmern des lokalen Netzwerkes ankommen. Es sei denn das Radio befindet sich noch in einem Zustand in dem es eine noch ein IP-Lease hält (und auch richtig pingbar wäre). Halte ich aber für unwahrscheinlich. Aber selbst dann sollte es irgendwie möglich sein.

Wenn du das Format des Wake-Pakets herausgefunden hast, sollte es nicht so schwierig sein, etherwake oder wol zu modifizieren. Zum Aufbau siehe auch http://de.wikipedia.org/wiki/Wake_On_LAN#Magic_Packet
 
Zuletzt bearbeitet:
morgen,

Danke für die Antwort.

Ich habe Gestern Abend über die Fritzbox die Pakete mitgesnifft.
Habe dan versucht im Wireshark die Daten auszulesen.
Bin aber allerdings nicht so stark mit wireshark vertraut...
Kannst du mir eventuell weiterhelfen , auf was ich bei wireahark dann genau schauen muss??

MFG Gerber
 
Hallo,

habe es mir selbst nochmal angesehen. Ich habe mit einem Server im lokalen Netzwerk Pakete an ein ausgeschaltetes Gerät geschickt und mit meinem Recher mitgelauscht.

Als ich etherwake verwendet habe, konnte ich auch keine Pakete im Log bei meinem unbeteiligten Rechner sehen.

Als ich dazu jedoch "wakeonlan" verwendet habe, konnte ich mit meinem Rechner die Pakete im Wireshark sehen, in der Spalte Protocol bei dem betreffenden Paket als "WOL" angegeben. Im Datenpayload tauchte wie in dem Artikel beschrieben die MAC-Adresse sechzehn mal auf, davor ein "Sync Stream" mit 6 mal "FF".


Dass das so ist, hat auch einen Grund: ehterwake sendet Ethernet-Pakete, welche kein weiteres inneres Protokoll haben, sondern bei denen nach dem Ethernet-Frame bereits der Payload beginnt. Das bedeutet, dass die Pakete niemals die IP-Ebene erreichen und deswegen auch nicht geforwarded werden können o.Ä. Da als Zieladresse die MAC-Adresse des zu weckenden Geräts verwendet wird und die Switches hier Netzwerk bescheid wissen, dass an dem Port an dem mein Rechner hängt kein Ziel mit der MAC-Addresse erreichbar ist, wird das Paket nicht dorthin versendet.

Bei wakeonlan wird jedoch ein Payload in einem UDP Paket in einem IP Paket in einem Ethernetpaket verschickt. Also kann das Paket auch an eine IP verschickt werden. Als Ziel-IP wird normalerweise eine Broadcast-Adresse verwendet, sodass das Paket alle Rechner im Netzwerk erhalten, da ja das ausgeschaltete Gerät auch keine konkrete IP zugewiesen bekommen hat.


Man sieht also, dass es verschiedene Varianten der Magic Packets gibt. Je nach Gerät werden die IP/UDP-Header ignoriert und nur auf die folge der 6 Mal FF und 16 mal die MAC untersucht, oder eben nicht. Deshalb lohnt es sich auch mal verschiedene WOL-Programme zu testen.


Sollte das aber alles nix helfen und musst du nun auch Daten für den ersten Fall mitschneiden, gibt es einige Möglichkeiten dafür zu sorgen, dass die entsprechenden Pakete auch am richtigen Rechner ankommen:

1) Den Rechner per Hub statt Switch anklemmen. Ein Hub ist nicht so "intelligent" und sendet alles was an einem Port hereingeht auch an allen anderen Ports heraus.

2) Einen Switch dazu bringen, sich wie ein Hub zu verhalten. Switches haben eine Tabelle, in dem Sie speichern über welchen Ausgang sie welche MAC-Adresse erreichen können. So müssen Daten an ein bestimmtes Ziel nur noch über einen Port herausgegeben werden. Diese Tabelle ist jedoch vom Speicherplatz begrenzt. Ist die Tabelle voll, verhält sich der Switch wie ein Hub und alle Pakete kommen überall an und können mitgehört werden. Um die Tabelle zu füllen, gibt es Tools, Stichwort "MAC-Flooding".

3) Wenn der Rechner mehrere Netzwerkkarten hat, kann man je einen Netzwerkteil über diesen Rechner miteinander Verbinden (Bridgen). Wenn dann der Sender im einen Part des Netzs aktiv ist, und der Empfänger im anderen, müssen die Pakete ja durch den Rechner und können da mitgeschnitten werden.

4) Noch eine Variante fällt mir ein, die vielleicht am einfachsten ist: Ändere einfach (mit im Internet zu findenden Tools, Stichwort "MAC-Spoofing") die MAC-Adresse des Rechners auf die des Radios (welches dabei abgeschaltet bleibt).

Damit solltest du in der Lage sein, ein WOL-Paket der App mitzuschneiden. Wichtig: Wireshark im Promiscious-Mode arbeiten lassen.

EDIT: Habe mal noch zwei Bilder vom den beiden Paketvarianten im Wireshark gemacht.

etherwake.pngwakeonlan.png
 
Zuletzt bearbeitet:
WOW...

Da kennt sich einer wohl super auser :)...

Danke für die ganzen Mühen ...

Wie gesagt, bin nicht der Wireshark Profi, werde mich nun mal ein bisschne reinarbeiten und deine Vorschläger versuchen umzusetzen...

Ich habe Parallel zu dem Thread ncoh ein Ticket bei dem Hama Support eröffnet.
Hama teilte mir mit, dass das Radio wohl kein Wake On Lan unterstützte.
Auf die Frage, wie das Radio dann aus der App aufgeweckt wird, habe ich keine Antwort bekommen.

MFG Gerber
Ergänzung ()

So habe nun mal die Pakete über die WLAN Schnittstelle mitgesnifft.

Habe sie dann im Wireshark wie folgt gefiltert :

ip.src == 192.168.2.150 && ip.dst == 192.168.2.164
Ergänzung ()

Yeeeeeeah...

Ich habs...

Und zwar wird das Radio über fsapi angesteuert...

Mit folgendem Befehl:

AN:

//192.168.2.164/fsapi/SET/netRemote.sys.power?pin=123&sid=1986174123&value=1

AUS:

192.168.2.164/fsapi/SET/netRemote.sys.power?pin=123&sid=1986174123&value=0

Jetzt habe ich nur noch ein Problem:

Und zwar wird jedes mal, wenn ich die App verbinde eine neue Session ID aufgebaut, d.h. ich muss die Session ID in dem HTTP Befehl abändern.

Mit dem Befehl:
http://192.168.2.164/fsapi/CREATE_SESSION?pin=1234

bekomme ich die aktuelle Session ID raus...

Nur wie bekomme ich diese automatisiert in den HTTP link eingefügt ??

MFG Gerber
 
Zuletzt bearbeitet:
Glückwunsch ! Ich weiß leider nicht,welche Möglichkeiten bei homematic bestehen etwas zu programmieren. Kann man da irgendwie bash scripte o.ä. einbinden?
 
Müsste ich mal in Erfahrung bringen ...

Werde mich nochmal melden, falls es dich interessiert ...

MFG Gerber
 
Hallo Gerber.
Bin neu hier und habe deinen interessanten Beitrag aufgegriffen.
Ich habe einen Hama Dir3100 und mir fehlen einige wichtige Befehle für Volume UP/Down (+/-), Musikabspieler mit USB, NAS, uva. Befehle.

Kannst du mir da ein wenig helfen?

LG Check123
 
Hi Check123,

Willkommen im Forum ;-)

Bin neu hier und habe deinen interessanten Beitrag aufgegriffen.
Ich habe einen Hama Dir3100 und mir fehlen einige wichtige Befehle für Volume UP/Down (+/-), Musikabspieler mit USB, NAS, uva. Befehle.

Kannst du mir da ein wenig helfen?

Was hast du denn bisher eingebunden/gesteuert und wie hast du es angesteuert ?

Befehle für UP/Down kann ich dir liefern, Musikabspieler mit USB... habe ich mich noch nicht darum gekümmert, da ich meistens mein Hama über Spotify steuere...

Gruß Philipp
 
Hallo Philipp.

Danke für deine rasche Antwort und dein offenes Ohr.

Nutze zur Zeit folgende fsapi Befehle:
Hama DIR3100 UPnP/DLNA http Befehle für LOXONE

Befehls Hinweis: die „SSID“ im Radio ist hier nicht gesetzt und der Port „:80“ ist scheinbar egal
Gerät: Aus- Standby
http://10.0.0.126/fsapi/SET/netRemote.sys.power?pin=1234&value=0
Gerät: Ein
http://10.0.0.126/fsapi/SET/netRemote.sys.power?pin=1234&value=1
Gerät: Mute
http://10.0.0.126/fsapi/SET/netRemote.sys.audio.mute?pin=1234&value=1
Session ID Auslesen:
http://10.0.0.126/fsapi/CREATE_SESSION?pin=1234
================================================== ==========================
Befehls Hinweis: die SSID im Radio sind ab hier, mit „sid=2017521190“ und Port mit :80 gesetzt!

Einschalten:
http://10.0.0.126:80/fsapi/SET/netRemote.sys.power?pin=1234&sid=2017521190&value=1
Ausschalten:
http://10.0.0.126:80/fsapi/SET/netRemote.sys.power?pin=1234&sid=2017521190&value=0
Lautstärke: Min Volume (einstellbar zB. 1-32)
http://10.0.0.126:80/fsapi/SET/netRemote.sys.audio.volume?pin=1234&sid=2017521190&value=0
Lautstärke: Max Volume (einstellbar zB. 1-32)
http://10.0.0.126:80/fsapi/SET/netRemote.sys.audio.volume?pin=1234&sid=2017521190&value=19
Lautstärke: Mute on
http://10.0.0.126:80/fsapi/SET/netRemote.sys.audio.mute?pin=1234&sid=2017521190&value=0
Lautstärke: Mute off
http://10.0.0.126:80/fsapi/SET/netRemote.sys.audio.mute?pin=1234&sid=2017521190&value=1

Holen Notifiy von Radio
http://10.0.0.126:80/fsapi/GET_NOTIFIES?pin=1234&sid=2017521190
http://10.0.0.126:80/fsapi/GET/netRemote.play.info.graphicUri?pin=1234&sid=2017521190

Ich habe einen Hama Dir3100 und mir fehlen einige wichtige Befehle für Volume UP/Down (+/-), Musikabspieler mit USB, NAS, uva. Befehle.

Kannst du mir da ein wenig helfen?
 
Zuletzt bearbeitet:
Hallo,

Kein Thema;-)

Ich bin zurzeit unterwegs, wenn ich wieder zuhause bin, werde ich einen Blick in meine Konfiguration werfen und mich bei dir melden.

Wie gesagt, die Befehle für "Musikabspieler mit USB, NAS, uva. Befehle " kann ich dir leider nicht liefern.

Gruß Philipp
 
Hallo Philipp.

Wäre schön wenn du wieder mal nach Haus kommst.

Lg Check123
 
Zuletzt bearbeitet:
Zurück
Oben