# Wake on Lan funktioniert nicht mehr

## musv

Hallo, 

ca. 1 Jahr lang waren alle glücklich. Ich konnte meinen Rechner bei Bedarf per Internet hochfahren und gemütlich darauf zugreifen. Seit einem der letzten Updates (merkt man ja leider nicht sofort) geht das dummerweise nicht mehr. 

Was hab ich geändert?

Maximal irgendwelche Kerneloptionen

ethtool gibt mir:

```
Settings for eth0:

   Supported ports: [ TP MII ]

   Supported link modes:   10baseT/Half 10baseT/Full 

                           100baseT/Half 100baseT/Full 

   Supported pause frame use: No

   Supports auto-negotiation: Yes

   Advertised link modes:  10baseT/Half 10baseT/Full 

                           100baseT/Half 100baseT/Full 

   Advertised pause frame use: Symmetric Receive-only

   Advertised auto-negotiation: Yes

   Link partner advertised link modes:  10baseT/Half 10baseT/Full 

                                        100baseT/Half 100baseT/Full 

   Link partner advertised pause frame use: Symmetric Receive-only

   Link partner advertised auto-negotiation: Yes

   Speed: 100Mb/s

   Duplex: Full

   Port: MII

   PHYAD: 0

   Transceiver: internal

   Auto-negotiation: on

   Supports Wake-on: pumbg

   Wake-on: g

   Current message level: 0x00000033 (51)

                drv probe ifdown ifup

   Link detected: yes
```

Ist also alles im grünen Bereich.

Google meinte noch, man solle die Systohc in /etc/conf.d/hwclock auf "NO" setzen. Hab ich gemacht. Hat nichts gebracht. 

```
clock_systohc="NO"
```

Als nächstes gäbe es noch einen Eintrag für /etc/conf.d/net, um das Device nicht vollständig runterzufahren (hatte ich bis dato nie drin):

```
ifdown_eth0="NO"
```

Brachte leider auch keine Änderung.

Bleibt noch der Kernel. Da hatte ich mal den Powerbutton für ACPI aktiviert (On-/Off-Schalter fährt die Kiste sauber runter). Zumindest gibt mir:

```
cat /proc/acpi/wakeup

cat: /proc/acpi/wakeup: Datei oder Verzeichnis nicht gefunden
```

Über welche Kerneloption (Suche spuckt nichts aus) krieg ich das wakeup wieder ins ACPI? Woran könnte es eventuell noch liegen?

----------

## firefly

 *musv wrote:*   

> 
> 
> Bleibt noch der Kernel. Da hatte ich mal den Powerbutton für ACPI aktiviert (On-/Off-Schalter fährt die Kiste sauber runter). Zumindest gibt mir:
> 
> ```
> ...

 

könnte an folgenden optionen liegen, dass diese bei dir deaktiviert sind:

```
--- ACPI (Advanced Configuration and Power Interface) Support

                             [*]   Deprecated /proc/acpi files                                                                    │ │  

  │ │                              [*]   Deprecated power /proc/acpi directories                                                        │
```

Oder hast du eventuell die Option CONFIG_ACPI_SLEEP von hand deaktiviert?

----------

## musv

```
--- ACPI (Advanced Configuration and Power Interface) Support

  [*]   Deprecated /proc/acpi files 

  [*]   Deprecated power /proc/acpi directories 

  < >   EC read/write access through /sys/kernel/debug/ec

  [*]   Deprecated /proc/acpi/event support 

  < >   AC Adapter

  < >   Battery 

  <*>   Button

  <*>   Fan 

  [ ]   Dock

  <*>   Processor

  < >   Processor Aggregator 

  <*>   Thermal Zone

  [ ]   Debug Statements 

  < >   PCI slot detection driver 

  < >   Container and Module Devices (EXPERIMENTAL) 

  < >   Smart Battery System

  < >   Hardware Error Device 

  [ ]   ACPI Platform Error Interface (APEI) 
```

Hab ich eigentlich noch drin. 

ls /proc/acpi gibt mir aus:

```
event
```

Das erscheint mir etwas wenig. Ach ja, Kernel ist:

```
Linux faultier 3.1.0-gentoo #1 SMP Sat Oct 29 21:58:41 CEST 2011 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 6000+ AuthenticAMD GNU/Linux
```

----------

## firefly

ich habe die gleiche kernel version am laufen und bei mir gibt es noch die wakeup datei unter proc/acpi. Nachmeiner Recherche in den kernel sourcen wird der code, welches unter /proc/acpi die wakeup datei anlegt über die Option CONFIG_ACPI_SLEEP gesteuert. Im 3.1.0er kernel ist diese Option standardmäßig ausgewählt und kann über z.b. make menuconfig nicht verändert werden.

Deshalb meine Frage ob du diese Option in deiner .config von hand entfernt/deaktiviert hast.

----------

## musv

Das ist jetzt erstaunlich. 

```
 zgrep SLEEP /proc/config.gz 

# CONFIG_DEBUG_ATOMIC_SLEEP is not set
```

CONFIG_ACPI_SLEEP gibt's hier gar nicht (mehr). Ich hab definitiv nicht von Hand in der .config rumeditiert. Ich werd das Teil mal per Hand wieder reinnehmen. 

```
 zgrep ACPI /proc/config.gz 

# Power management and ACPI options

CONFIG_ACPI=y

CONFIG_ACPI_PROCFS=y

CONFIG_ACPI_PROCFS_POWER=y

# CONFIG_ACPI_EC_DEBUGFS is not set

CONFIG_ACPI_PROC_EVENT=y

# CONFIG_ACPI_AC is not set

# CONFIG_ACPI_BATTERY is not set

CONFIG_ACPI_BUTTON=y

CONFIG_ACPI_FAN=y

# CONFIG_ACPI_DOCK is not set

CONFIG_ACPI_PROCESSOR=y

# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set

CONFIG_ACPI_THERMAL=y

# CONFIG_ACPI_CUSTOM_DSDT is not set

CONFIG_ACPI_BLACKLIST_YEAR=0

# CONFIG_ACPI_DEBUG is not set

# CONFIG_ACPI_PCI_SLOT is not set

# CONFIG_ACPI_CONTAINER is not set

# CONFIG_ACPI_SBS is not set

# CONFIG_ACPI_HED is not set

# CONFIG_ACPI_APEI is not set

# CONFIG_X86_ACPI_CPUFREQ is not set

CONFIG_PNPACPI=y

CONFIG_ATA_ACPI=y

# CONFIG_PATA_ACPI is not set

# ACPI drivers

# CONFIG_SENSORS_ACPI_POWER is not set
```

----------

## musv

*Hmpf* *Grmpf*

Ich hab jetzt die Option per Hand eingefügt, den Kernel compiliert und nochmal einen Blick in die .config geworfen. Die Option war wieder weg.

make schmeißt die Option beim Compilieren einfach wieder raus.

----------

## Max Steel

Weil sie nicht existiert.

----------

## firefly

 *Max Steel wrote:*   

> Weil sie nicht existiert.

 

wiso habe ich diese dann in meiner .config eines 3.1.0-gentoo kernels? und auch in den sourcen gibt es referencen auf diese option

----------

## Max Steel

Entschuldige.

Möglicherweiße hat CONFIG_ACPI_SLEEP ein paar Depends die bei dir aktiv sind, die aber eigentlich ausgeschaltet sein sollten. Schonmal in die Richtung gedacht? (negative Depends oder wie man das nennen mag)

----------

## Josef.95

Hmm, kniffelig..

Gehen tut es: 

```
uname -r

3.1.0-gentoo

zgrep ACPI_SLEEP /proc/config.gz 

CONFIG_ACPI_SLEEP=y
```

Doch sucht man im make menuconfig so finde ich hier nur 

```
Symbol: ACPI_SLEEP [=y]                                                                                                                                                                                                              │   

  │ Type  : boolean 
```

Und /proc/acpi/wakeup wäre hier auch vorhanden.

Schau doch mal ob die hier genannten Abhängigkeiten

depends on: CONFIG_SUSPEND || CONFIG_HIBERNATION

gesetzt sind.

----------

## firefly

so habe mal menuconfig ohne alte config gestartet und es ist so wie Josef.95 es angedeutet hat.

Die Konfig-Option CONFIG_ACPI_SLEEP wird aktiviert, wenn mindestens einer der beiden Optionen CONFIG_SUSPEND oder CONFIG_HIBERNATION aktiv sind

----------

## musv

So, mal 'ne Rückmeldung nach einiger Zeit:

Ich hab beides mal aktiviert: CONFIG_SUSPEND und CONFIG_HIBERNATION. Als Folge davon gab's auch wieder CONFIC_ACPI_SLEEP. Allerdings bezweifel ich mittlerweile, dass ACPI_SLEEP was mit WOL zu tun hat.

Verhaltensänderungen, die sich aus der Aktivierung der beiden Optionen ergeben haben:

1. OSS-Module (Non-Alsa-System) ließen sich nicht mehr bauen -> kein Sound mehr

2. WOL ging trotzdem nicht. 

Ich bin gerade dabei, den Kernel mal nach irgendwelchen Parametern zu durchforsten, die was damit zu tun haben. Das gleicht aber eher der Suche nach der berühmten Nadel im Heuhaufen.

----------

## Finswimmer

Hi,

mein WOL ging auch die ganze Zeit, bis es plötzlich nicht mehr ging.

Die Einstellungen waren auch alle richtig, wie bei dir.

Ich kam dann durch Zufall darauf, dass die Option im BIOS ausgeschaltet ist. Das kam dadurch, dass die Stützbatterie leer ist und wir einen Stromausfall hatten.

Ist bei dir im BIOS alles richtig eingestellt?

Viele Grüße

Tobi

----------

## musv

Die BIOS-Einstellungen hatte ich eigentlich alle kontrolliert. Werd da aber trotzdem nochmal einen Blick darauf werfen.

----------

## Josef.95

Noch mal ein Schuss ins Blaue:

Hattest du evtl. etwas an den rtc (real time clock) Treibern geändert?

Was sagt "grep rtc /var/log/dmesg" ?

Schau zb auch mal im (meiner Meinung nach) recht guten http://www.mythtv.org/wiki/ACPI_Wakeup Wiki

Kannst du das ganze evtl. auch noch mal mit einem älteren Kernel testen mit dem es schon mal funktionierte - so könnte man ja zunächst erst mal herausfinden ob es überhaupt an der Kernel-Version oder/und deren Konfiguration liegt.

----------

## musv

So, wieder ein halbes Jahr vorbei. Das Wake on LAN will noch immer nicht. Trotzdem bin ich einen Schritt weiter. 

Kernel:

```
Power management and ACPI options

[x]  Suspend to RAM and standby (SUSPEND)
```

fehlte bei mir noch, um /proc/acpi/wakeup wieder zur Verfügung zu haben.

RTC:

In der Tat hatte ich vom Legacy-RTC auf die "andere" RTC umgestellt. Weiß nicht, wie ich das genau ausdrücken soll.

```
dmesg | grep rtc

[    6.404901] rtc_cmos 00:05: RTC can wake from S4

[    6.407767] rtc_cmos 00:05: rtc core: registered rtc_cmos as rtc0

[    6.410454] rtc0: alarms up to one year, y3k, 242 bytes nvram, hpet irqs

[    9.714831] rtc_cmos 00:05: setting system clock to 2012-06-12 20:27:08 UTC (1339532828)
```

Sieht eigentlich soweit ganz gut aus.

acpitool:

```
acpitool -w

   Device   S-state     Status   Sysfs node

  ---------------------------------------

  1. HUB0     S5   *disabled  pci:0000:00:08.0

  2. XVR0     S5   *disabled  pci:0000:00:0b.0

  3. XVR1     S5   *disabled  pci:0000:00:0c.0

  4. XVR2     S5   *disabled  pci:0000:00:0d.0

  5. XVR3     S5   *disabled  pci:0000:00:0e.0

  6. XVR4     S5   *disabled  pci:0000:00:0f.0

  7. XVR5     S5   *disabled  pci:0000:00:10.0

  8. XVR6     S5   *disabled  pci:0000:00:11.0

  9. USB0     S3   *enabled   pci:0000:00:02.0

  10. USB1     S3   *enabled   pci:0000:00:04.0

  11. USBB     S3   *enabled   pci:0000:00:04.1

  12. USB2     S3   *enabled   pci:0000:00:02.1

  13. AZAD     S5   *disabled  

  14. MMAC     S5   *disabled
```

Ich schätz mal grob, dass MMAC meine Netzwerkkarte darstellt. Komischerweise fehlt genau hinter dieser der Sysfs node. 

```
acpitool -W 14
```

bringt keinen Fehler aber auch keine Änderung.

Zur Sicherheit noch die sys-Ausgabe:

```
lspci

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 01)

cat /sys/bus/pci/devices/0000\:04\:00.0/power/wakeup

enabled
```

Hier hat einer ein identisches Problem, aber leider letztes Jahr ebenfalls aufgegeben.

Was fehlt jetzt noch immer?

----------

## musv

Update:

Scheint wohl ein Bug im Treiber zu sein:

https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/160413

Hmm, angeblich gefixt.

http://kerneltrap.org/mailarchive/linux-netdev/2008/10/4/3508494

----------

