Wake on Lan funktioniert nicht [gelöst]

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
tobitux
Beiträge: 118
Registriert: 26.03.2004 23:41:10

Wake on Lan funktioniert nicht [gelöst]

Beitrag von tobitux » 17.09.2006 17:37:18

Hallo

Ich möchte gerne einen Rechner mit einem Asus P4PE mit einem onboard Broadcom Corporation NetXtreme BCM5702X Gigabit Ethernet Controller per Wake on Lan aufwecken.

Im Bios ist WoL eingeschaltet und für die NIC habe ich mit 'ethtool -s eth0 wol g' Wake on Lan ebenfalls aktiviert. Wenn ich den Rechner nun mittels halt runterfahre und ausschalte, sollte sich dieser wieder aufwecken lassen.

Leider klappt das weder mit etherwake, noch mit wakeonlan. Wichtig zu wissen wäre noch, daß sich bei ausgeschaltetem Rechner die Netzwerkkarte schon im Standby befindet, da ein Link an der Karte und am Switch angezeigt wird und bei absenden des Magic Packets blinkt die LED auch.

Hat jemand eine Idee, wo das Problem liegt?
Zuletzt geändert von tobitux am 22.09.2006 19:27:26, insgesamt 1-mal geändert.

Hajo2006
Beiträge: 57
Registriert: 13.08.2006 13:02:39

Beitrag von Hajo2006 » 18.09.2006 08:46:06

Hi...

kannst du denn die Netzwerkkarte anpingen?

Gruß
Hajo

tobitux
Beiträge: 118
Registriert: 26.03.2004 23:41:10

Beitrag von tobitux » 18.09.2006 17:17:21

Die IP anpingen geht natürlich nur, wenn der Rechner läuft und eine IP zugewiesen bekommen hat.

Benutzeravatar
mike molto
Beiträge: 456
Registriert: 05.06.2005 18:55:56

Beitrag von mike molto » 18.09.2006 17:58:25

Würde mich auch extrem interessieren, siehe
http://www.debianforum.de/forum/viewtop ... highlight=
Michael

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Wake on Lan funktioniert nicht

Beitrag von habakug » 19.09.2006 11:17:15

Hallo!

Die Frage von Hajo2006 beleuchtet drastisch, wieviel Unkenntnis über die technischen Zusammenhänge des WOL herrscht.

Wichtig sind zunächst die beiden Begriffe WOL (Wake on LAN) und PME (Power Management Event). Bis zum PCI-Standard 2.1 wurde WOL über ein spezielles dreiadriges Kabel realisiert. Das bedeutet, das sowohl auf der Netzwerkkarte als auch auf dem Motherboard ein 3-Pin-Anschluß vorhanden sein muß, den man mit dem Kabel verbindet. Hat man jetzt also ein "modernes" Motherboard das den PCI-Standard ab 2.2 unterstützt und eine "ältere" Netzwerkkarte, die den 3-Pin-WOL-Anschluß hat, sieht die Sache schonmal nicht gut aus. Auf ein Motherboard ab PCI-2.2 gehört also eine Netzwerkkarte ab PCI-2.2, auf ein Motherboard bis PCI-2.1 eine entsprechende Netzwerkkarte und das WOL-Kabel. Für die Onboard-NICś gilt also entsprechend bis PCI-2.1 die WOL-Fähigkeit laut Handbuch, ab PCI-2.2 die PME-Fähigkeit, also WOL ohne Kabel direkt über den PCI-Sockel. Soweit die technischen Voraussetzungen.
Eingeschaltet wird WOL in einem Bereich des BIOS der "Power Management" oder ähnlich heißt. Man sollte dabei im Auge behalten, das WOL direkt von APM oder ACPI abhängt. Ist also das Power Management abgeschaltet, gibt es auch kein WOL. Wir suchen im BIOS zunächst einen Eintrag wie

Code: Alles auswählen

Power-off state/method oder
ACPI suspend type oder
ACPI standby state
und setzen den Wert auf

Code: Alles auswählen

S3/STR
um über Suspend to RAM das "Aufwachen" durch verschiedenste Vorgänge zu ermöglichen.
Dann suchen wir den Eintrag im BIOS, der sich auf WOL oder PME oder "Wake (up) on LAN/Ethernet/PME#" bezieht, und aktivieren diesen.
Nachdem auf dem Motherboard die Voraussetzungen für den WOL-Betrieb geschaffen sind, wenden wir uns der Netzwerkkarte zu. Unter Linux steht uns dazu das Tool

Code: Alles auswählen

ethtool
zur Verfügung. In der Manpage von ethtool finden wir die Schalter, mit denen das "Aufwachen" des Rechners gesteuert wird.

Code: Alles auswählen

p  Wake on phy activity
u  Wake on unicast messages
m  Wake on multicast messages
b  Wake on broadcast messages
a  Wake on ARP
g  Wake on MagicPacket(tm)
s  Enable SecureOn(tm) password for MagicPacket(tm)
d  Disable (wake on nothing).  This option clears  all  previous
    options.
Mit dem Befehl

Code: Alles auswählen

ethtool -s eth0 wol d
schalten wir WOL ersteinmal komplett ab und löschen alle möglicherweise vorhandenen Einstellungen. Dann schalten wir mit

Code: Alles auswählen

ethtool -s eth0 wol g
das Aufwachen durch sogenannte "Magic Packets" ein. Jetzt sollte diese WOL-Methode funktionieren. Man kann sich auch noch schlau machen, wie man mit

Code: Alles auswählen

ethtool -s eth0 wol s sopass xx:yy:zz:aa:bb:cc
ein Passwort vergibt. Wie man "Magic Packets" erzeugt, die den Rechner aufwachen lassen, scheint ja bekannt zu sein:
...weder mit etherwake, noch mit wakeonlan.
Und ja, das ganze funktioniert auch über das Internet. Das ist aber ein anderes Thema.

Gruß, habakug

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Wake on Lan funktioniert nicht

Beitrag von habakug » 19.09.2006 11:38:52

Hallo!

Bevor ich es vergesse...
Mit dem Befehl

Code: Alles auswählen

lspci -v -v
kann man bequem auslesen, ob die Netzwerkkarte die richtigen Einstellungen hat.
Erscheint dort unter Ethernet Controller etwas wie

Code: Alles auswählen

Status: D3 PME-Enable+ DSel=0 DScale=2 PME-
ist alles paletti.
Steht dort aber

Code: Alles auswählen

Status: D0 PME-Enable- DSel=0 DScale=2 PME-
sind die Einstellungen noch nicht richtig oder die Hardware wird nicht unterstützt.

Gruß, habakug

tobitux
Beiträge: 118
Registriert: 26.03.2004 23:41:10

Beitrag von tobitux » 19.09.2006 20:27:45

Hallo

Vielen Dank an habakug für die ausführliche Beschreibung der Zusammenhänge.

Ich habe im Bios folgende Einstellungen gesetzt:

Code: Alles auswählen

ACPI Suspend to Ram = Enabled
Power up on PCI Card = Enabled
Bei der zweiten Option steht in der Beschreibung auch ausdrücklich Wake on LAN.
Die Einstellungen mit ethtool sind ebenfalls gesetzt. Trotzdem erhalte ich per lspci folgende Ausgabe:

Code: Alles auswählen

Status: D0 PME-Enable- DSel=0 DScale=1 PME-
Und dementsprechend funktioniert WOL eben auch nicht.
Hast du noch eine Idee, wo man suchen könnte?

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Wake on Lan funktioniert nicht

Beitrag von habakug » 19.09.2006 22:00:03

Hallo!

Du mußt dem Treibermodul den Parameter

Code: Alles auswählen

enable_wol=1
übergeben.
Das hättest du aber auch aus der ausführlichen Anleitung zu dem Broadcom-Treiber für Linux, den du von der Asus-Website herunterladen kannst, entnehmen können.

Enjoy your Linux!

Gruß, habakug

Benutzeravatar
mike molto
Beiträge: 456
Registriert: 05.06.2005 18:55:56

Beitrag von mike molto » 19.09.2006 23:16:40


Die Frage von Hajo2006 beleuchtet drastisch, wieviel Unkenntnis über die technischen Zusammenhänge des WOL herrscht.
Das ist oft so, wenn man was zum erstenmal macht.
Michael

tobitux
Beiträge: 118
Registriert: 26.03.2004 23:41:10

Beitrag von tobitux » 22.09.2006 19:27:03

Dummerweise unterstützt der von Debian genutzte Treiber tg3 nicht die Option enable_wol.

Ich habe jetzt das bcm5700 Modul kompiliert und diesem lässt sich dann auch der Parameter enable_wol=1 übergeben.

Die Ausgabe von lspci sieht nach wie vor so aus:

Code: Alles auswählen

Status: D0 PME-Enable- DSel=0 DScale=1 PME- 
Trotzdem funktioniert das WOL jetzt sowohl mit etherwake als auch mit wakeonlan einwandfrei.

Vielen Dank für die hilfreichen Hinweise.

_Chrisu
Beiträge: 38
Registriert: 16.06.2007 23:09:53

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von _Chrisu » 31.01.2009 20:48:48

Hallo zusammen,

ich habe ein ziemlich ähnliches Problem, allerdings mit einer Realtek Karte, ums genau zu sagen mit der RTL8111/8168B.
habe die Anleitungen von habakug befolgt und alles soweit geprüft, bis ich zu dem Punkt gekommen bin, bei dem auch mein Vorposter angelangt war - mit dem Unterschied, dass mein WOL nicht funktioniert ...
Aber jetzt mal ein paar Fakten ;)
Ich habe ein MSI 945GCM5-F V2 Motherboard und nutze den OnBoard Ethernetcontroller - wie oben erwähnt:

Code: Alles auswählen

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
Im Bios habe ich alle Wake-On-LAN relevanten Optionen aktiviert.
Laut ethtool unterstützt die Karte auch WOL:

Code: Alles auswählen

SERVER:/# ethtool eth0 | grep "Wake-on"
        Supports Wake-on: pumbg
        Wake-on: g
Die Herstellerunterlagen bestätigen dies auch.
Ich konnte leider nirgends ein entsprechendes Modul für mein Debian Etch (Kernel: 2.6.18-6-amd64) finden - geschweigedenn überhaupt einen Treiber für Linux ...
Also zeigt mit lspci -v -v weiterhin:

Code: Alles auswählen

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
        Subsystem: Micro-Star International Co., Ltd. Unknown device 267c
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0, Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 177
        Region 0: I/O ports at b800 [size=256]
        Region 2: Memory at cdbff000 (64-bit, non-prefetchable) [size=4K]
        Expansion ROM at cdbc0000 [disabled] [size=128K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [48] Vital Product Data
        Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable-
                Address: 0000000000000000  Data: 0000
        Capabilities: [60] Express Endpoint IRQ 0
                Device: Supported: MaxPayload 1024 bytes, PhantFunc 0, ExtTag+
                Device: Latency L0s <1us, L1 unlimited
                Device: AtnBtn+ AtnInd+ PwrInd+
                Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
                Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                Device: MaxPayload 128 bytes, MaxReadReq 512 bytes
                Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s, Port 0
                Link: Latency L0s unlimited, L1 unlimited
                Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch-
                Link: Speed 2.5Gb/s, Width x1
        Capabilities: [84] Vendor Specific Information
an...
Hat jemand eine Idee wie ich meine Kiste doch noch dazu bewegen kann auf MagicPackets zu reagieren?
Danke euch

_Chrisu

MarcM
Beiträge: 379
Registriert: 19.06.2004 16:28:22
Wohnort: Kassel

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von MarcM » 01.02.2009 23:21:58

bei Realtek liegen natürlich die Treibersourcen ->klickmich<-

Ich hab ebenfalls die
01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 02)
allerdings (rev 02) ....etwas neuer....der o.g. Treiber sollte aber laufen....und aufpassen, das Modul heißt r8168...nicht wie das Standard-Beipack-Kernelmodul r8169, welches geladen wird........

WOL läuft hier ohne Probleme mit der NIC....

Marc

_Chrisu
Beiträge: 38
Registriert: 16.06.2007 23:09:53

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von _Chrisu » 02.02.2009 10:59:52

MarcM hat geschrieben:bei Realtek liegen natürlich die Treibersourcen ->klickmich<-Marc
Vielen Dank, ich war bei meiner Suche auf einer ähnlichen Seite mit dem Unterschied, dass dort alle Felder mit einem Strich versehen waren und nicht verlinkt - also kein verlinktes "GO" :)

So, jetzt habe ich mir das Paket mal gezogen, bin jetzt nur am überlegen wie ich weitermache. Habe eine Makefile gefunden, gehe daher davon aus, dass es wohl mit dem "Make-Dreisatz" weitergeht.
Muss ich auch das
enable_wol=1
mit übergeben?
Wenn ja, an welcher Stelle?
Und wie geht es danach weiter?
Danke schonmal :)

Gruß
_Chrisu

rhHeini
Beiträge: 2314
Registriert: 20.04.2006 20:44:10

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von rhHeini » 04.02.2009 20:46:52

Eher nicht, haben jedenfalls Realtech's und Intel-Karten ohne das mit WOL laufen.

Mfg rh

MarcM
Beiträge: 379
Registriert: 19.06.2004 16:28:22
Wohnort: Kassel

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von MarcM » 04.02.2009 21:01:01

joa....ganz normal compilen....brauch noch nichtmal ein ./configure.....also ein alles was nötig ist und Kernel-Module zu bauen installieren..(Kernel-Header/Kernel-Source/etc....)..und dann

make clean modules
make install
depmod -a

fertig ists....steht aber auch so im README...

und WOL tuts so ohne irgendwelche enable_WOL Einträge..

Gruß
Marc

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von habakug » 04.02.2009 21:32:29

Hallo!
MarcM hat geschrieben:und WOL tuts so ohne irgendwelche enable_WOL Einträge..
Um die Verwndung der Option enable_wol noch einmal klarzustellen, sei gesagt, das diese das Setzen des Flags für Wake-On-Lan mit ethtool überflüssig macht. Andersrum kann es sein das die default-Einstellung "enable_wol=0" ein Setzen des Flags verhindert. Es gibt einige Treiber von Broadcom, 3Com u.a. die diese Option haben.
ethtool comes from the ethtool package, so you'll need to install that unless your card supports a load option to set wol. If that's the case I'd make an options.local file with the appropriate options line, maybe something like:
options 3c59x enable_wol=1

Gruß, habakug

http://wiki.debian.org/WakeOnLan
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

_Chrisu
Beiträge: 38
Registriert: 16.06.2007 23:09:53

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von _Chrisu » 04.02.2009 22:06:31

MarcM hat geschrieben:...fertig ists....steht aber auch so im README...

Gruß
Marc
Ja, da war ich wohl ein wenig voreilig mit meinen Fragen ;) Stand ja alles schön in der Readme - bin nicht früher zum posten gekommen, da ich bis jetzt noch damit gekämpft habe den altenr8169 rauszuwerfen, der lief nämlich dauernd vorrangig, sprich beide module waren geladen aber die Karte lief mit dem r8169...naja, das Problem hab ich jetzt auch gelöst bekommen.
Modul unter /etc/modprobe.d/blacklist-network geblacklistet, und update-initramfs -u.
Nuja, aber leider läuft WOL immernoch nicht ...

Code: Alles auswählen

Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
        Link detected: yes
Vielleicht bringt das ja noch ein bisschen weiter

Code: Alles auswählen

SERVER:~# acpitool -w
   Device       Sleep state     Status
  ---------------------------------------
  1. PS2K          4            disabled
  2. EUSB          4            disabled
  3. MC97          4            disabled
  4. P0P4          4            disabled
  5. P0P5          4            disabled
  6. P0P6          4            disabled
  7. P0P7          4            disabled
  8. P0P8          4            disabled
  9. P0P9          4            disabled
  10. USB0         1            disabled
  11. USB1         1            disabled
  12. USB2         1            disabled
  13. USB3         1            disabled
  14. P0P2         4            disabled
  15. P0P1         4            disabled

Code: Alles auswählen

SERVER:~# lspci -v -v
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
        Subsystem: Micro-Star International Co., Ltd. Unknown device 267c
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0, Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 233
        Region 0: I/O ports at b800 [size=256]
        Region 2: Memory at cdbff000 (64-bit, non-prefetchable) [size=4K]
        Expansion ROM at cdbc0000 [disabled] [size=128K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [48] Vital Product Data
        Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
                Address: 00000000fee00000  Data: 40e9
        Capabilities: [60] Express Endpoint IRQ 0
                Device: Supported: MaxPayload 1024 bytes, PhantFunc 0, ExtTag+
                Device: Latency L0s <1us, L1 unlimited
                Device: AtnBtn+ AtnInd+ PwrInd+
                Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
                Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                Device: MaxPayload 128 bytes, MaxReadReq 4096 bytes
                Link: Supported Speed 2.5Gb/s, Width x1, ASPM L0s, Port 0
                Link: Latency L0s unlimited, L1 unlimited
                Link: ASPM Disabled RCB 64 bytes CommClk+ ExtSynch-
                Link: Speed 2.5Gb/s, Width x1
        Capabilities: [84] Vendor Specific Information
In der /etc/init.d/halt habe ich auch

Code: Alles auswählen

NETDOWN=no
gesetzt.
Und ein kleines Shell-Script in init.d abgelegt

Code: Alles auswählen

SERVER:~# cat /etc/init.d/wol.sh
#!/bin/bash
ethtool -s eth0 wol g
*seufz* ... glaube ich schreibe mir das WOL langsam ab ...

_chrisu

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von habakug » 04.02.2009 23:28:38

Hallo!

Hier [1] hatte es irgendwann endlich geklappt. Vielleichts hilft dir auch. Bitte alles lesen.

Gruß, habakug

[1] http://www.debianforum.de/forum/viewtop ... 11&start=0&
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

_Chrisu
Beiträge: 38
Registriert: 16.06.2007 23:09:53

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von _Chrisu » 05.02.2009 18:50:09

habakug hat geschrieben:Hallo!

Hier [1] hatte es irgendwann endlich geklappt. Vielleichts hilft dir auch. Bitte alles lesen.

Gruß, habakug

[1] http://www.debianforum.de/forum/viewtop ... 11&start=0&
Wohoooo - ich glaubs ja gar nicht - et läuft :D
Der Hinweis bzw. die kleine if-Schleife die in dem anderen Beitrag von habakug in die /etc/init.d/networking eingebaut wurde hat bestes bewirkt :)

:hail: > habakug < "God of WOL"

Danke!!!!!!!!

Gruß
_chrisu

Benutzeravatar
starbuck
Beiträge: 45
Registriert: 08.11.2006 14:06:35

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von starbuck » 08.03.2009 14:10:49

Hallo, habe auch die realtek onboard Karte, wol funktionierte mit Lenny von Anfang an, auch mit dem r8169 Treiber der automatisch von Debian eingebunden wurde (obwohl lspci -v -v Status: "D0 PME-Enable- DSel=0 DScale=1 PME- " anzeigt).

Nur wenn ich dem Netzteil über Nacht den Strom wegnehme, ihn dann aber wieder anstelle geht es nicht. Ist das normal, also funktioniert wol nur so lange das Netzteil ununterbrochen Strom hat?

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von habakug » 08.03.2009 15:08:50

Hallo!

Ja, der Strom ist zwingend erforderlich. Die Karte "vergißt" ohne Strom die WOL-Option.

Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

krysly
Beiträge: 8
Registriert: 07.03.2009 15:38:35

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von krysly » 08.03.2009 15:21:04

Hallo,
ich häng mich auch einmal hier ran da wie ich gesehen habe hier für jeden ne Lösung gefunden wurde.
Ich habe auch schon glaube ich zumindest alles versucht und umgesetzt was hier so stand jedoch bei
mir leider ohne Erfolg.

Also hier mal den Stand der Dinge:

Phoenix Bios: Aufwachen bei LAN enabled
Stecker von Netzwerkkarte auf Board gesteckt
Es sind 2 netzwerkkarten eingebaut. Wenn der Rechner aus ist dann leuchtet am Router die Diode von der "WOL" Karte und die Diode am Router von der anderen Netzwerkkarte ist aus.
An der Netzwerkkarte selbst leuchtet jedoch bei Beiden keine

Ansonsten habe ich alles was ich hier so gelesen habe versucht umzusetzen. Anbei mal die Infos von denen ich denke das sie interessant sind um mir weitere Tipps zu geben.

Achso, natürlich klappt es bei mir noch nicht wenn ich ein WOL Paket an die MAC Adresse sende.

Habt Ihr noch ein paar Vorschläge was ich austesten könnte ?

Vielen Dank
Krysly

Code: Alles auswählen

uname -a
Linux 2.6.18-6-686 #1 SMP Sat Dec 27 09:31:05 UTC 2008 i686 GNU/Linux


#########################################################################################
etc/network/interfaces

# The WOL network on eth1
allow-hotplug eth1
iface eth1 inet static
 address 192.168.178.80
 netmask 255.255.255.0
 network 192.168.178.0
 gateway 192.168.178.1
 broadcast 192.168.178.255
 pre-down ethtool -s eth1 wol g
 down /usr/sbin/ethtool -s $IFACE wol g


#########################################################################################

lspci -v -v

00:0e.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139                                                                     C+ (rev 10)
        Subsystem: Realtek Semiconductor Co., Ltd. RT8139
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Step                                                                     ping- SERR+ FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort                                                                     - <MAbort- >SERR- <PERR-
        Latency: 64 (8000ns min, 16000ns max)
        Interrupt: pin A routed to IRQ 10
        Region 0: I/O ports at e800 [size=256]
        Region 1: Memory at fedff800 (32-bit, non-prefetchable) [size=256]
        [virtual] Expansion ROM at 20420000 [disabled] [size=64K]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3h                                                                     ot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

#########################################################################################

ethtool eth1
Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 32
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected: yes

#########################################################################################

cat /proc/acpi/wakeup
Device  Sleep state     Status
PCI0       4            disabled
 USB       1            disabled
KEYB       1            disabled
PS2M       1            disabled
COM1       1            disabled
COM2       1            disabled

#########################################################################################

acpitool -w
   Device       Sleep state     Status
  ---------------------------------------
  1. PCI0          4            disabled
  2.  USB          1            disabled
  3. KEYB          1            disabled
  4. PS2M          1            disabled
  5. COM1          1            disabled
  6. COM2          1            disabled

#########################################################################################

/etc/init.d/halt

#! /bin/sh
### BEGIN INIT INFO
# Provides:          halt
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:
# Default-Stop:      0
# Short-Description: Execute the halt command.
# Description:
### END INIT INFO

NETDOWN=no

PATH=/sbin:/usr/sbin:/bin:/usr/bin
[ -f /etc/default/halt ] && . /etc/default/halt

. /lib/lsb/init-functions

do_stop () {
        if [ "$INIT_HALT" = "" ]
        then
                case "$HALT" in
                  [Pp]*)
                        INIT_HALT=POWEROFF
                        ;;
                  [Hh]*)
                        INIT_HALT=HALT
                        ;;
                  *)
                        INIT_HALT=POWEROFF
                        ;;
                esac
        fi

        # See if we need to cut the power.
        if [ "$INIT_HALT" = "POWEROFF" ] && [ -x /etc/init.d/ups-monitor ]
        then
                /etc/init.d/ups-monitor poweroff
        fi

        # Don't shut down drives if we're using RAID.
        hddown="-h"
        if grep -qs '^md.*active' /proc/mdstat
        then
                hddown=""
        fi
        
				
        # If INIT_HALT=HALT don't poweroff.
        poweroff="-p"
        if [ "$INIT_HALT" = "HALT" ]
        then
                poweroff=""
        fi

        # Make it possible to not shut down network interfaces,
        # needed to use wake-on-lan
        netdown="-i"
        if [ "$NETDOWN" = "no" ]; then
                netdown=""
        fi

        log_action_msg "Will now halt"
        halt -d -f $poweroff $hddown
}

case "$1" in
  start)
        # No-op
        ;;
  restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
  stop)
        do_stop
        ;;
  *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac
        
#########################################################################################

Softlink in rc0.d erstellt: /etc/rc0.d/S29wake_on_lan

etc/init.d/wake_on_lan

#! /bin/sh
#
# Ensures that Wake on Lan works
#

#Path=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

set -e

case "$1" in
  stop|start|restart|force-reload|reload)
        echo -n "urn on: Wake on Magic Packet"
        /usr/sbin/ethtool -s eth1 wol g
        echo
       ;;
    *)
#       N=/etc/init.d/hwtools
#       echo " Usage: $N (start|stop|restart|reload|force-reload)" >&2
        exit 1
        ;;
esac

exit 0


#########################################################################################

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          networking
# Required-Start:    mountkernfs ifupdown $local_fs
# Required-Stop:     ifupdown $local_fs
# Default-Start:     S
# Default-Stop:      0 6
# Short-Description: Raise network interfaces.
### END INIT INFO

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"

[ -x /sbin/ifup ] || exit 0

. /lib/lsb/init-functions

spoofprotect_rp_filter() {
    [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] || return 1
    RC=0
    for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
        echo 1 > $f || RC=1
    done
    return $RC
}

spoofprotect() {
    log_action_begin_msg "Setting up IP spoofing protection"
    if spoofprotect_rp_filter; then
        log_action_end_msg 0 "rp_filter"
    else
        log_action_end_msg 1
    fi
}

ip_forward() {
    log_action_begin_msg "Enabling packet forwarding"
    if echo 1 > /proc/sys/net/ipv4/ip_forward; then
        log_action_end_msg 0
    else
        log_action_end_msg 1
    fi
}

syncookies() {
    log_action_begin_msg "Enabling TCP SYN cookies"
    if echo 1 > /proc/sys/net/ipv4/tcp_syncookies; then
        log_action_end_msg 0
    else
        log_action_end_msg 1
    fi
}

doopt() {
    optname=$1
    default=$2
    opt=`grep "^$optname=" /etc/network/options || true`
    if [ -z "$opt" ]; then
        opt="$optname=$default"
    fi
    optval=${opt#$optname=}
    if [ "$optval" = "yes" ]; then
        eval $optname
    fi
}

process_options() {
    [ -e /etc/network/options ] || return 0
    log_warning_msg "/etc/network/options is deprecated (see README.Debian of netbase)."
    doopt spoofprotect yes
    doopt syncookies no
    doopt ip_forward no
}

case "$1" in
start)
        process_options
        log_action_begin_msg "Configuring network interfaces"
        if ifup -a; then
            log_action_end_msg $?
        else
            log_action_end_msg $?
        fi
        ;;

stop)
        if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts |
                grep -qE '^(nfs[1234]?|smbfs|ncp|ncpfs|coda|cifs)$'; then
            log_warning_msg "not deconfiguring network interfaces: network shares still mounted."
            exit 0
        fi

        log_action_begin_msg "Deconfiguring network interfaces"
        if ifdown -a --exclude=lo --exclude=eth1; then
            log_action_end_msg $?
        else
            log_action_end_msg $?
        fi
        ;;

force-reload|restart)
        process_options
        log_action_begin_msg "Reconfiguring network interfaces"
        ifdown -a --exclude=lo || true
        if ifup -a --exclude=lo; then
            log_action_end_msg $?
        else
            log_action_end_msg $?
        fi
        ;;

*)
        echo "Usage: /etc/init.d/networking {start|stop|restart|force-reload}"
        exit 1
        ;;
esac

exit 0

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von habakug » 08.03.2009 15:39:58

Hallo!

Du solltest zunächst die Variable "$netdown" (wieder) in das Skript aufnehmen.

Code: Alles auswählen

# Make it possible to not shut down network interfaces,
        # needed to use wake-on-lan
        netdown="-i"
        if [ "$NETDOWN" = "no" ]; then
                netdown=""
        fi

        log_action_msg "Will now halt"
        halt -d -f $netdown $poweroff $hddown
#                   #######
Hast du das selbst so bearbeitet?

Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

krysly
Beiträge: 8
Registriert: 07.03.2009 15:38:35

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von krysly » 08.03.2009 16:01:16

Ja das hatte ich selbst rausgenommen.
Vorher war die Variable drin und ich hatte ganz oben auf no gesetzt.
Da ich dann aber ein wenig getestet habe dachte ich mir das ich die Variabel zur Sicherheit beim Aufruf unten komplett einmal rausnehme.

In der Hoffnung das was geht testet man als unwissender halt einiges.

Ich werde Sie mal wieder reinnehmen. Aber wie gesagt auch mit hatte es nicht funktioniert.

Gruß
Krysly

P.S.: Kann ich mir eigentlich irgendwie auf meinem Debian Rechner wenn er eingeschaltet ist anschauen ob überhaupt ein Magic Paket ankommt um zu überprüfen das mein Programm von dem Windows Rechner auch das richtige sendet und es auch grundsätzlich mal auf dem Linux Rechner ankommt.
Zuletzt geändert von krysly am 08.03.2009 16:31:59, insgesamt 1-mal geändert.

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Wake on Lan funktioniert nicht [gelöst]

Beitrag von habakug » 08.03.2009 16:30:16

Hallo!

Setz mal in der interfaces-Datei die "auto"-Option statt "allow-hotplug":

Code: Alles auswählen

# The WOL network on eth1
allow-hotplug eth1
Du kannst dir mal ansehen was der Befehl aus dem Skript macht:

Code: Alles auswählen

ifdown -a --exclude=lo --exclude=eth1 --verbose
Sind die Geräte noch da und ist WOL noch aktiv?

Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Antworten